public function testMergeParentConstraints()
 {
     $factory = new ClassMetadataFactory(new TestLoader());
     $metadata = $factory->getClassMetadata(self::CLASSNAME);
     $constraints = array(new ConstraintA(array('groups' => array('Default', 'EntityParent', 'Entity'))), new ConstraintA(array('groups' => array('Default', 'EntityInterface', 'Entity'))), new ConstraintA(array('groups' => array('Default', 'Entity'))));
     $this->assertEquals($constraints, $metadata->getConstraints());
 }
 public function testReadMetadataFromCache()
 {
     $loader = $this->getMock('Symfony\\Components\\Validator\\Mapping\\Loader\\LoaderInterface');
     $cache = $this->getMock('Symfony\\Components\\Validator\\Mapping\\Cache\\CacheInterface');
     $factory = new ClassMetadataFactory($loader, $cache);
     $tester = $this;
     $metadata = new ClassMetadata(self::PARENTCLASS);
     $metadata->addConstraint(new ConstraintA());
     $loader->expects($this->never())->method('loadClassMetadata');
     $cache->expects($this->once())->method('has')->with($this->equalTo(self::PARENTCLASS))->will($this->returnValue(true));
     $cache->expects($this->once())->method('read')->will($this->returnValue($metadata));
     $this->assertEquals($metadata, $factory->getClassMetadata(self::PARENTCLASS));
 }