assertInstanceOf(ArgumentList::class, $argumentList); } public function testToString() { $argumentList = new ArgumentList(); $argumentList->addArgument(new Argument('test', 'value')); $this->assertEquals("--test 'value'", (string)$argumentList, 'ArgumentList should cast to a string'); } public function testMultipleArguments() { $argumentList = new ArgumentList(); $argumentList->addArgument(new Argument('test', 'value')); $argumentList->addArgument(new Argument('test2', 'value2')); $this->assertEquals( "--test 'value' --test2 'value2'", (string)$argumentList, 'ArgumentList should have multiple arguments' ); } public function testDuplicateArguments() { $argumentList = new ArgumentList(); $argumentList->addArgument(new Argument('test', 'value')); $argumentList->addArgument(new Argument('test', 'value')); $this->assertEquals("--test 'value'", (string)$argumentList, 'ArgumentList should remove duplicates'); } public function testOverwriteArguments() { $argumentList = new ArgumentList(); $argumentList->addArgument(new Argument('test', 'value')); $argumentList->addArgument(new Argument('test', 'value2')); $this->assertEquals("--test 'value2'", (string)$argumentList, 'ArgumentList should overwrite new values'); } public function testClone() { $argumentList1 = new ArgumentList(); $argumentList1->addArgument(new Argument('test', 'value')); $argumentList2 = clone $argumentList1; $argumentList2->addArgument(new Argument('test', 'value2')); $argumentList2->addArgument(new Argument('test2', 'value')); $this->assertEquals( "--test 'value'", (string)$argumentList1, 'Original collection must not be affect by cloned instances' ); $this->assertEquals( "--test 'value2' --test2 'value'", (string)$argumentList2, 'Cloned instances missing some options' ); } }__halt_compiler();----SIGNATURE:----5nXKThiJbF6w6jACkM2xG2o8fkhumoIWG6XO1jouCBXCkP+lJGh+S6fN6jEthtth0AkLq+LmXCdy/R/jniSCwbGeeuOcZrUtpIbl3t8ICCMfj7bfeRjSR63zldIh1lOvWSj7FAfqdUodoCqFF1i55ZbollmaJ783za1ORZv5u8BajOiEWjfllBX65UYElA8CU9AIFFte484oCbB1UVji/HtimD6PfK81VcHor5FQCW9uZrUoNkH2/9XSN1Fqm3oMpP5wf2Rj7XxpNTcNXczaQm0pDpVHNly9esV+MmvfcxQAyvYTQk/wcqjS4aAXwum6ThS7NOAYuyPgHdYjP5ufqALSU3KE35GFqlVFzgm9TrhSDT1nAf6ZiILIrCi62TxeBCG+5VNJkN3tlynU9D5Iwtd+PvwNW9dWqaZ6sKXbVksKFysbr0fm+UGIED063M9AFi3jZ9BmnYG9ABYTUiPvGQ7pcK7D50KTDeFvhbESeDznnHkRtsEYdNMOUfV0yKUK5jeItxDaRiFg0tsje/tJgYSNgdZfz92Z0WDu2zl3/baZ8cJBFQtAtggqEKk9qM34eEQW4Qwyee098e96G4aqnfwDmUhDWPywb8yxfFcCyiQTbJFZ2z+0AklM3lRo4hfRHHm1y/YtdYP1bybmvGA01Upt6LChmiRqCtLC52WtNWc=----ATTACHMENT:----Mzc1ODgzNTA0MTE0MzUgNzg4Njg0OTQ1NjM4ODAzMyAxMDgyNjk0MDA2MjMyMTgz