Exemplo n.º 1
0
 /**
  * Create a new method model
  *
  * @param ClassModel $classModel
  * @param MethodDataProvider $methodDataProvider
  * @return MethodModel
  */
 public function make(ClassModel $classModel, MethodDataProvider $methodDataProvider)
 {
     $methodModel = new MethodModel($classModel, $methodDataProvider->getName());
     $parameters = $methodDataProvider->getParameters();
     foreach ($parameters as $parameterDataProvider) {
         $parameter = $this->parameterModelFactory->make($methodModel, $parameterDataProvider);
         $methodModel->addParameter($parameter);
     }
     return $methodModel;
 }
Exemplo n.º 2
0
 public function testCanCreateParameterModel()
 {
     $methodModel = Mockery::mock(MethodModel::class);
     $parameterDataProvider = Mockery::mock(ParameterDataProvider::class);
     $parameterDataProvider->shouldReceive('hasDefaultValue')->times(1)->withNoArgs()->andReturn(true);
     $parameterDataProvider->shouldReceive('getName')->times(1)->withNoArgs()->andReturn('testParameter');
     $parameterDataProvider->shouldReceive('getTypeHint')->times(1)->withNoArgs()->andReturn('array');
     $parameterDataProvider->shouldReceive('getDefaultValue')->times(1)->withNoArgs()->andReturn([]);
     $factory = new ParameterModelFactory();
     $parameterModel = $factory->make($methodModel, $parameterDataProvider);
     $this->assertInstanceOf(ParameterModel::class, $parameterModel);
     $this->assertSame('testParameter', $parameterModel->getName());
     $this->assertTrue($parameterModel->isArray());
     $this->assertSame([], $parameterModel->getDefaultValue());
 }