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:----W1iWmsdDXJphWpwylVP4G+6hj9lk/0jcSEZFpFanI6fcC0rWr3z8Tu5l3buqyFf5StmOJddw2bNWlQwzMOAH5L+2aLJecphKnlPQ/m1PX/VcMnOX6qbANUBgfmgyc9vEFIElxaRijZ2tGbvHrxGykq+eQWvlmzQ4ovvEn2vgsS2RhDRZoKl1wCQUL646N07p+AxQMKQ922AYORzHwjvkgpy+oEqdoFrkuVWy9W5QeqaURF33iNii75f86zjpF7WqLwxCXamcXB/PJZPwUX6hYBbNijKPFXjWKLgsQym42KMZxma+LjReaUH7i5uJ6kukxTksfHWV8oHfj43dnBisJ5AhYLTXmMWEApUHBwk7Ds9muvdCNwdQnFRb4JKsuLoSHeCtBaEOzkg6iHNVXicja9d8Wk6qnX3N7vC+bruZVP+oQuSAT4qATzfjgFDGo77OYh/J6CQBpuD+eCRnnvwNFWDk1fo6fED8d4WRZ6z9yd4P4nrOs+iFwA/byrwGNZCefmoDoU5Y6PJBTWNELma+ep/eMzEhfy4cGfY0Z3/LzBEjAoTpYwfONS8fQB5jfrgLAh/vPw8IqnBBwyOYTL7R+/4IaEPW4RYCG87OEbAXkvT+5XCLBBkCuoOU00uhfxvcbZe8cKQhdVZru8fDYvvcUASipoyCw0scG1Wj9E07e2I=----ATTACHMENT:----NjMzNDYzNTUwMTk3NTEzOCAxNjA4ODk5NzQ0MzA3NjQyIDgwNDgwNDM4ODQ5MDMzODQ=