assertInstanceOf(Argument::class, $argument); } public function testToString(): void { $argument = new Argument('test', 'value'); $this->assertEquals("--test 'value'", (string)$argument, 'Argument should cast to a string'); } public function testEscapesArgValue(): void { $argument = new Argument('test', '&&'); $this->assertEquals("--test '&&'", (string)$argument, 'Argument should be escaped'); } public function testGetName(): void { $argument = new Argument('test', '&&'); $this->assertEquals('test', $argument->getName(), 'Argument name should be returned'); } public function testEmptyArgument(): void { $argument = new Argument('test'); $this->assertEquals('--test', (string)$argument, 'Valueless arguments should be allowed'); } public function testMultipleOfSameName(): void { $param = new Argument('test', ['value1', 'value2']); $this->assertEquals("--test 'value1' --test 'value2'", (string)$param, 'Mutiple arguments should be allowed'); } }__halt_compiler();----SIGNATURE:----totBA9QwbpFYXJeaz+w1AGYiOC3+8QGsA6ml/bYbtK0hw7NAyGYf1EK9+EI6jKLeb8DFtICsTnGxA3o8k518Hq20vekhilS/bzMEOF2PfGh4aXPfRHeau5xY5Wlos1+IMnS7lAywzhehITNfCW9qJFqxVt0pWCvtJzeapcCtFTGeSbb9v67KEbTtzIJVPKWrmRNEa69RYszlXg6559AGybyzs2blq48OSpj63pNbDFkn4oQe8f7QMHr3i6kxqK8xtsfWBxWmVEYMENgVQX8qBNW6VViZOcIBh58+RwsUxKSaZ2pobpLMAzXqv4ZUyB0CkZmQ0aHQjwaDsTnIBcjtPf3i67+yXMmisOwADHPxVAoUNDLWXjhxFj/QYDMp1lqaaSmQ5nXoEfnOMBSiNGAIbF6GFkqWnw+eFye3e2CMtRHmbpgcR2AU0o1FEkMDnXr6VaAfOB/TjlInlAeXPRZaBPCJgwsMgiY1YRnZrkrXBrM0Tcntjo99zUlXHA3aEWF7gpj8MRdysSSlISc+b+Rniox3qFS2Kb3X2e/swZcFQGUQuBIjDvuocVXP6jGAOM6us4yr6tzr8hdSrZWVKb71ClgBeeisPXJ557Tkgv4InR+Wlz3WmjR0ZlSz4AGHR4TD0v1bWMBXmJ+QMNvC/6xCczRqn4AekUGGeaBJgmbogmM=----ATTACHMENT:----MjM3Mzk5NjQxMzg0MjExMyA4Nzc0NDM3MjI2MTM1MDIwIDY1Nzk0ODkwODc1OTU1NjM=