/**
  * {@inheritdoc}
  */
 public function build()
 {
     if (null === $this->constraints) {
         throw new InvalidConfigurationException();
     }
     return array_map(function (Constraint $constraint) {
         return $this->factory->create($constraint);
     }, $this->constraints);
 }
 /**
  * @param array $symfonyConstraints
  * @param array $expected
  *
  * @test
  * @dataProvider validProvider
  */
 public function valid(array $symfonyConstraints, array $expected)
 {
     foreach ($symfonyConstraints as $key => $constraint) {
         $this->factory->create($constraint)->shouldBeCalled()->willReturn($expected[$key]);
     }
     $builder = $this->createBuilder();
     $builder->configure(['constraints' => $symfonyConstraints]);
     $parsleyConstraints = $builder->build();
     $this->assertInternalType('array', $parsleyConstraints);
     $this->assertCount(count($expected), $parsleyConstraints);
     foreach ($parsleyConstraints as $key => $constraint) {
         $this->assertSame($expected[$key], $constraint);
     }
 }