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:----ywUsKmtJ5z5KeanPZHClOPKRvZw5YVMvwJ58v2mqUwped4n0AT/9Ctv/hHAbPkMiWJnqRSyq8+OWqtqHx+jdK9QFqH8dl1dAX+ote1VIbY1lEbuY3j+7fGOgM1EPwn/Y6XiAaGMNDx2FzCKUi5iSq1TBQz38bX7jYagnowIf591RKr7/vHMmu4Dsfuwkk9wIlR8iKzn9+pmCYKjQHcPiUZ+h3n7/cG5A/F+Nt0MbTUfAq2iQI+J6NTkq1CPcmgRV4PCDGrBt6m1sjJA4WmejMUcLBrq/2nStIz+GdyaJHYJUvih1DwO3+ax4gGmkz4Gn3mkge1eKejIqUdvnNpCbjkjPr7nahaXrfC5XVoQJGWjsZSYErQSoLDvG8aso99kgarDFO2iQyfsWPWSkPqBRM0L3I4lhaJxp4MwzFUmyDpYpokUMy6xyVatLYGzQDoJsmE9CehDy71mwnmRPEaNgLv8tKo8jUln3ru9PzrZqlk6dnaXDw8CEO6AQoSfacM++th1BYiExdTzfWbGKJQIfK7IjY0j/IJKav15lfsMID9IB6NQQezaLReVYFDsE4YHv2fAfHkacgMXAKnQjEV9Qb48LBHhEdZDoCZYNOAgR9wU2rkV9ltJCD/xbsEeoZLwPU7PYEPwpQV7Z85G7vjWtMNkanjuQMQ46dOcfmG2WLOQ=----ATTACHMENT:----NDY4MDAzMzA3MTc2MDM1NCAzMzUzMTcwMzUxNDI0MjM4IDg2Mjk1NDc2NTg4NTE1ODc=