/** * @dataProvider provider */ public function testValidation(array $properties, array $errors) { $pizza = new Pizza(); foreach ($properties as $property => $value) { $pizza->set($property, $value); } $violations = self::$validator->validate($pizza); /* @var $violations \Symfony\Component\Validator\ConstraintViolationList */ $this->assertEquals(count($errors), count($violations), (string) $violations); foreach ($errors as $property => $message) { $pattern = sprintf('/\\.%s:\\s+%s$/m', $property, $message); $this->assertRegExp($pattern, (string) $violations, $violations); } }