assertInstanceOf(SubCommandList::class, $subCommandList); } public function testToString() { $subCommandList = new SubCommandList(); $subCommandList->addSubCommand(new SubCommand('test')); $this->assertEquals('test', (string)$subCommandList, 'SubCommandList should cast to a string'); } public function testMultipleSubCommands() { $subCommandList = new SubCommandList(); $subCommandList->addSubCommand(new SubCommand('hello')); $subCommandList->addSubCommand(new SubCommand('world')); $this->assertEquals('hello world', (string)$subCommandList, 'SubCommandList should have multiple params'); } public function testDuplicateSubCommands() { $subCommandList = new SubCommandList(); $subCommandList->addSubCommand(new SubCommand('test')); $subCommandList->addSubCommand(new SubCommand('test')); $this->assertEquals('test test', (string)$subCommandList, 'SubCommandList should allow duplicates'); } public function testClone() { $subCommandList1 = new SubCommandList(); $subCommandList1->addSubCommand(new SubCommand('test')); $subCommandList2 = clone $subCommandList1; $subCommandList2->addSubCommand(new SubCommand('test')); $this->assertEquals( 'test', (string)$subCommandList1, 'Original collection must not be affect by cloned instances' ); $this->assertEquals('test test', (string)$subCommandList2, 'Cloned instances missing some options'); } }__halt_compiler();----SIGNATURE:----NcPakAo6BetCgMgtkHDQT2cTJRw0Ht17PEV+CSku7HFxCGH1WzusvZpO5QbnFzhj69KGJ/PgeAnspCeRX2QtArjuHx4Rj1V7guC/pOPX4lHDyUEVatZMWB86Zkh+XUyDfUfGIKiPsoopOprHGXTri2C7lKcxuZDAFoiIqnwNDvEKjivmA3x2fcPq8wC7PQ5ELQ8o39j5QUrf7OYSukrU8aJMOoZ2V5/f2wqkaQlcuvcJ7zf/CNqnz0JLkIb4vT0ZyxRE0H/f2MvNzXnDq9wB5yflrxjsZGfhcqjyntMyby9jkrV8z6NQt3n3GUlw37LfG3MM8BUUz/00h7i8Dy23iEqBbxZEaHcf1rxfHrwa2wlUw4sU9cPMcSLmogOVUArtzc5B2lkO4/Obulpta+v3apU9EGqPkPB6VF7nuOX0b0hejKKgiAFLX41trAH2FdwQqeIOWSsNqdAUNGh/ldFzbw19zbg2L0/vxYSqB1oz3rVkpKaeOeLXUZ8KKLOCloaSBBaV6UWH9Zs0G3jJJNZ53k5T53eOI7qBkItWIS8PXzV06Bx1JkDprSpyI0dYxyQeGJY+FNp4WBpHRppdPIMdJUrH1+CXTl3yQRpJg9ir+qD3lcrG+govcGSVJgM6H0aPJeMKlFL3+NNHQj2sm8ev8Ghq/1Wljp7FaGgxHdTyEvw=----ATTACHMENT:----Njc4MjMxODUyNjMwMTA0MCA4ODMzNzg5NTYyMTY5Mzk0IDgxNzEyODY0MDE4NzQ5OTc=