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 testGetAnnotations()
 {
     $parameterDataProviderFactory = Mockery::mock(ParameterDataProviderFactory::class);
     $annotationDataProviderFactory = Mockery::mock(AnnotationDataProviderFactory::class);
     $annotationDataProvider = Mockery::mock(AnnotationDataProvider::class);
     $reflectionClass = new ReflectionClass(MockInterface::class);
     $reflectionMethod = $reflectionClass->getMethod('method1');
     $annotationDataProviderFactory->shouldReceive('make')->times(1)->with($reflectionMethod)->andReturn($annotationDataProvider);
     $annotationDataProvider->shouldReceive('getAnnotations')->times(1)->withNoArgs()->andReturn(new AnnotationCollection());
     $provider = new MethodDataProvider($reflectionMethod, $parameterDataProviderFactory, $annotationDataProviderFactory);
     $this->assertInstanceOf(AnnotationCollection::class, $provider->getAnnotations());
 }