Example #1
0
 function it_also_validates_arguments(ArgumentValidator $argumentValidator, CollectionValidator $collectionValidator, Method $model)
 {
     $arguments = array();
     $violationCollection1 = new ViolationCollection();
     $violationCollection2 = new ViolationCollection();
     $model->isAbstract()->willReturn(false);
     $model->allArguments()->willReturn($arguments);
     $collectionValidator->validate($arguments)->willReturn($violationCollection1);
     $argumentValidator->validate($arguments)->willReturn($violationCollection2);
     $this->validate($model);
 }
Example #2
0
 /**
  * {@inheritDoc}
  */
 public function validate($model)
 {
     if (!$this->supports($model)) {
         return new ViolationCollection();
     }
     $violationCollection = $this->constraintValidator->validate($model);
     $arguments = $model->allArguments();
     $violationCollection->merge($this->collectionValidator->validate($arguments));
     foreach ($arguments as $argument) {
         $violationCollection->merge($this->argumentValidator->validate($argument));
     }
     return $violationCollection;
 }