assertInstanceOf(ParamList::class, $paramList); } public function testToString() { $paramList = new ParamList(); $paramList->addParam(new Param('test')); $this->assertEquals("'test'", (string)$paramList, 'ParamList should cast to a string'); } public function testMultipleParams() { $paramList = new ParamList(); $paramList->addParam(new Param('hello')); $paramList->addParam(new Param('world')); $this->assertEquals("'hello' 'world'", (string)$paramList, 'ParamList should have multiple params'); } public function testDuplicateParams() { $paramList = new ParamList(); $paramList->addParam(new Param('test')); $paramList->addParam(new Param('test')); $this->assertEquals("'test' 'test'", (string)$paramList, 'ParamList should allow duplicates'); } public function testClone() { $paramList1 = new ParamList(); $paramList1->addParam(new Param('test')); $paramList2 = clone $paramList1; $paramList2->addParam(new Param('test')); $this->assertEquals( "'test'", (string)$paramList1, 'Original collection must not be affect by cloned instances' ); $this->assertEquals("'test' 'test'", (string)$paramList2, 'Cloned instances missing some options'); } }__halt_compiler();----SIGNATURE:----HXZ0JUcJdQOWHaTM9p4bespNmE97/YV8S+kPbVtL66AiTmU/liO3pIdKnR2xdSqT1Cz37BXsQ09SZJyGetQNjJd3snIpcfUR2y0pKl6QmuKiNwtIejmr4rj15wLwpiECCSJ2tyTE7l84XPRqD2WvvqgBimyu+DrUV6QRGqmTgptQ2UdX8ZkEAcxWiDRL/NbUUP4WXOYwE15TGQdkfSgcu00NrryoPZMwOw/x5apxR8K4awjcths8ZfMm9/6RY19EbCJnOjafH77d9TJ48j3l2ZyWb+40uOgik1kKasinZD0bISdy8gJhbk0+oH1NA+maI6AGX0MXRzqEZSPLhCQJ3RH2jVH0EZ0LhqUJ8E3ap7g+oKiZcUjiESEj/DshJQUFenF86srydfk9v6l/xE08I4V5Vov/R0Lt5/WcRWlFNvxq8s71iqp2cFNttAEbU8SGzQYNAGuU/Tdx/kFBhUyb38JkaJCNnazGVMDLKS1dw7xEoOjMRYjymO4blElHLSD1rGzAiMGCzXNPYfEMA/+fpx2dMM645Vt3cTwwP7jNSjzy81MmC5ojUgK5oUKrKnxb8+QSRcXDkxSygKxR1TfrQszdOZQ2BKSzrn8xevwcvsNy/bdajCQoCf6utRnNq+8YJF/47X+8VoBmM9C0dQqrqeeEEEGs9V09TsLRsr5ORtk=----ATTACHMENT:----ODM3MDMyODE0NTc1MDA5NSA4MzE4ODQ4ODQyMDgyMzYzIDY3OTI1MTYyNjIzMTY1MzM=