Esempio n. 1
0
 public function testSetParameters()
 {
     $type = new BindingType('name', array($param1 = new BindingParameter('param1'), $param2 = new BindingParameter('param2')));
     $this->assertSame(array('param1' => $param1, 'param2' => $param2), $type->getParameters());
     $this->assertTrue($type->hasParameter('param1'));
     $this->assertFalse($type->hasParameter('foo'));
     $this->assertSame($param1, $type->getParameter('param1'));
 }
 /**
  * {@inheritdoc}
  */
 public function validate(array $parameterValues, BindingType $type)
 {
     $violations = array();
     foreach ($parameterValues as $name => $value) {
         if (!$type->hasParameter($name)) {
             $violations[] = new ConstraintViolation(ConstraintViolation::NO_SUCH_PARAMETER, $value, $type->getName(), $name);
         }
     }
     foreach ($type->getParameters() as $parameter) {
         if (!isset($parameterValues[$parameter->getName()])) {
             if ($parameter->isRequired()) {
                 $violations[] = new ConstraintViolation(ConstraintViolation::MISSING_PARAMETER, $parameterValues, $type->getName(), $parameter->getName());
             }
         }
     }
     return $violations;
 }