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:----k4fKRwcCNSjXLqizAcGKjpppbPfOsHTjRP2RY/LPn7GZy4RgsCfCHUJudDnLPnb3Zjxm2e+a5sausoGomhueaSq7YhyiE8yACdHRs3Mtji3BUJpyvE+pgB8EA5aBvkXJNtBmlLyX4UqD7JMwc32OQw+jZcfCjhdxDIOvQKB0cCMC3WGCcryicqFI/JeqUMV7w9IhY24G8I0V3J0VirWMEcgmgwL3UHYgm6YHRG82/PRY1YfN1JGAj9Pr+Qen5yyPlN3vUy4nfvxEWPJJ7B6Ah75z1tacC+v50lJWAWku4UC0wZNioZfqz9nw+Wq5NBPk7Q64qfbpw/zPWA7+KW93aTPiW9ZrB70sIlQQldh2YhQk8PbDWOjDgcGTmM7gzu3T3b3P5bFtI6U3YH/+AhA2EBWr5PD+gBhngW1fak5hZs7bWqvcvw/yW7R7uoY2ZgsZYr0I379EhgVAOzMXFADFi3YubTWRXwLAe1/UfTnNAbXHAWjLo4BAYFDMqa0RpN8bv2OGtefYH5ttEbES84MG9PLLN3Pjm0qtaMo4eiWTzWsmLRKLCDDg0fVsq1muH+hYB8dcanKmPRxiM7NFFP8mIvI2spLkMKnnCfzseBgEBLG6EuFU9GVm7mMn35naZQmROAQK/GC8SMaqHjq9xFkMbDtptS/+/rFiiWDK1iHl0oM=----ATTACHMENT:----Mzk5MjA4OTUyMjUyMjk5MCA2OTk0MDU5MTA1MzUyMDU5IDY3OTI1MjU0MDQwOTM3NDM=