public injectReflectionService ( |
||
$reflectionService | Reflection service |
/** * @test */ public function getArgumentDefinitionsReturnsArrayOfArgumentDefinitionIfCommandExpectsArguments() { $parameterReflection = $this->createMock(ParameterReflection::class, [], [[__CLASS__, 'dummyMethod'], 'arg']); $mockReflectionService = $this->createMock(ReflectionService::class); $mockMethodParameters = ['argument1' => ['optional' => false], 'argument2' => ['optional' => true]]; $mockReflectionService->expects($this->atLeastOnce())->method('getMethodParameters')->will($this->returnValue($mockMethodParameters)); $this->command->injectReflectionService($mockReflectionService); $this->methodReflection->expects($this->atLeastOnce())->method('getParameters')->will($this->returnValue([$parameterReflection])); $this->methodReflection->expects($this->atLeastOnce())->method('getTagsValues')->will($this->returnValue(['param' => ['@param $argument1 argument1 description', '@param $argument2 argument2 description']])); $expectedResult = [new Cli\CommandArgumentDefinition('argument1', true, 'argument1 description'), new Cli\CommandArgumentDefinition('argument2', false, 'argument2 description')]; $actualResult = $this->command->getArgumentDefinitions(); $this->assertEquals($expectedResult, $actualResult); }