factory = $this->getMock('Symfony\Component\Validator\Mapping\ClassMetadataFactoryInterface'); $this->walker = new GraphWalker('Root', $this->factory, new ConstraintValidatorFactory()); $this->metadata = new ClassMetadata(self::CLASSNAME); } public function testWalkClassValidatesConstraints() { $this->metadata->addConstraint(new ConstraintA()); $this->walker->walkClass($this->metadata, new Entity(), 'Default', ''); $this->assertEquals(1, count($this->walker->getViolations())); } public function testWalkClassValidatesPropertyConstraints() { $this->metadata->addPropertyConstraint('firstName', new ConstraintA()); $this->walker->walkClass($this->metadata, new Entity(), 'Default', ''); $this->assertEquals(1, count($this->walker->getViolations())); } public function testWalkClassValidatesGetterConstraints() { $this->metadata->addGetterConstraint('lastName', new ConstraintA()); $this->walker->walkClass($this->metadata, new Entity(), 'Default', ''); $this->assertEquals(1, count($this->walker->getViolations())); } public function testWalkPropertyValueValidatesConstraints() { $this->metadata->addPropertyConstraint('firstName', new ConstraintA()); $this->walker->walkPropertyValue($this->metadata, 'firstName', 'value', 'Default', ''); $this->assertEquals(1, count($this->walker->getViolations())); } public function testWalkConstraintBuildsAViolationIfFailed() { $constraint = new ConstraintA(); $this->walker->walkConstraint($constraint, 'foobar', 'Default', 'firstName.path'); $violations = new ConstraintViolationList(); $violations->add(new ConstraintViolation( 'message', array('param' => 'value'), 'Root', 'firstName.path', 'foobar' )); $this->assertEquals($violations, $this->walker->getViolations()); } public function testWalkConstraintBuildsNoViolationIfSuccessful() { $constraint = new ConstraintA(); $this->walker->walkConstraint($constraint, 'VALID', 'Default', 'firstName.path'); $this->assertEquals(0, count($this->walker->getViolations())); } }