container = new Container(); $this->factory = new DependencyInjectionValidatorFactory($this->container); } public function tearDown() { unset ($this->factory); unset ($this->container); } public function testGetInstanceRetunsCorrectValidatorInstance() { $constraint = new Valid(); $validator = $this->factory->getInstance($constraint); $this->assertTrue($validator instanceof ValidValidator); } public function testGetInstanceAddsValidatorServiceToContainer() { $constraint = new Valid(); $validator = $this->factory->getInstance($constraint); $this->assertServiceExists('Symfony.Components.Validator.Constraints.ValidValidator'); } public function assertServiceExists($id) { $this->assertTrue($this->container->hasService($id), 'Service ' . $id . ' doesn\'t exist on container'); } /** * @expectedException LogicException */ public function testGetInstanceThrowsLogicExceptionIfValidatorNotInstanceOfValidatorInterface() { $constraint = new InvalidConstraint(); $validator = $this->factory->getInstance($constraint); } }