示例#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;
 }
示例#2
0
 public function testGetMethodParameters()
 {
     $parameterDataProviderFactory = Mockery::mock(ParameterDataProviderFactory::class);
     $parameterDataProvider = Mockery::mock(ParameterDataProvider::class);
     $annotationDataProviderFactory = Mockery::mock(AnnotationDataProviderFactory::class);
     $reflectionClass = new ReflectionClass(MockInterface::class);
     $reflectionMethod = $reflectionClass->getMethod('method1');
     $parameterDataProviderFactory->shouldReceive('make')->times(2)->with(Mockery::type(ReflectionParameter::class))->andReturn($parameterDataProvider);
     $provider = new MethodDataProvider($reflectionMethod, $parameterDataProviderFactory, $annotationDataProviderFactory);
     $parameters = $provider->getParameters();
     $this->assertCount(2, $parameters);
 }