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:----O7E1z0usWmn0ALTJRHXW426lkLCURwqMKKrzM7Sm2Q+BYlzAg069hwzI2u6FBzSaBDvANS3HZB5ZjuLvAdlIGV0Mv+jmsq3bAI7A47MU1jdUikKcm7rgBwZVfU/l2KZ70voZ0yLpOctGSyK8p7r3Taw6MJWW+lq8E3d4AY737Vc/Uj3Pxp+Mizet0Cx1gVV3n3W+9Q7qFZH4cR1gbWK98CIP/ECCI03ACCtTLeuxVUVywQJJoDhleMdrbzsH+g9LpfAWQTc96SGwIU+Vsd6xy+x8e6JS1OV2DUAVlyY0bP1rNmNP+e41Nw28S2BuKgoXCz6k9y0sA+4soEjxqR+YS79XYgrgnzuXxZc8m+OW1uaRAaNbVeG7EAaZtD5jQNpAkyGf1tW+lgtN9GkT6Zn/qs4aqf04XtX6ZTL6yRA2jE5vOA6rkjgKLG6NagiJBmuAdlHAGVjxyONR6EwxyoEnr27XEsldWIqmL4xQzBO2jiPMKUO1sRFCEre0Laad6G4H4HUonTtUGaTqxxzZ9yyJG+zz8XcRou6ELVhbsP47BCMS2tIXRJsRmPG+/omINsNg/x8DDpJNiJwB/+j2Ug1qyN62rwIHgK3JarTuLZp8EsGNrSMV3Ma0afxBHwU5uNUQ9UmsCyDj66wmR1XieckkGYMHeXy1Q/P1G5cBYcXvK8Q=----ATTACHMENT:----ODQwNTEyNDI4NzEwNzA2MyA5MzUyOTIyMTAyNTMwNTY4IDkyOTI5NjQwOTA4MzE2MTg=