예제 #1
0
 public function testAttributes()
 {
     $this->assertFalse($this->classMetadata->hasAttributeMetadata('id'));
     $attributeMetadata = $this->prophesize('Dunglas\\ApiBundle\\Mapping\\AttributeMetadataInterface')->reveal();
     $newClassMetadata = $this->classMetadata->withAttributeMetadata('id', $attributeMetadata);
     $this->assertNotEquals($this->classMetadata, $newClassMetadata);
     $this->assertTrue($newClassMetadata->hasAttributeMetadata('id'));
     $this->assertEquals($attributeMetadata, $newClassMetadata->getAttributeMetadata('id'));
     $this->assertContains($attributeMetadata, $newClassMetadata->getAttributesMetadata());
     $newClassMetadata2 = $newClassMetadata->withIdentifierName('id');
     $this->assertNotEquals($newClassMetadata, $newClassMetadata2);
     $this->assertEquals('id', $newClassMetadata2->getIdentifierName());
     $this->assertEquals($attributeMetadata, $newClassMetadata2->getAttributeMetadata($newClassMetadata2->getIdentifierName()));
 }