12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- namespace Symfony\Component\Serializer\Tests\Mapping;
- use Symfony\Component\Serializer\Mapping\ClassMetadata;
- class ClassMetadataTest extends \PHPUnit_Framework_TestCase
- {
- public function testInterface()
- {
- $classMetadata = new ClassMetadata('name');
- $this->assertInstanceOf('Symfony\Component\Serializer\Mapping\ClassMetadataInterface', $classMetadata);
- }
- public function testAttributeMetadata()
- {
- $classMetadata = new ClassMetadata('c');
- $a1 = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface')->getMock();
- $a1->method('getName')->willReturn('a1');
- $a2 = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface')->getMock();
- $a2->method('getName')->willReturn('a2');
- $classMetadata->addAttributeMetadata($a1);
- $classMetadata->addAttributeMetadata($a2);
- $this->assertEquals(array('a1' => $a1, 'a2' => $a2), $classMetadata->getAttributesMetadata());
- }
- public function testMerge()
- {
- $classMetadata1 = new ClassMetadata('c1');
- $classMetadata2 = new ClassMetadata('c2');
- $ac1 = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface')->getMock();
- $ac1->method('getName')->willReturn('a1');
- $ac1->method('getGroups')->willReturn(array('a', 'b'));
- $ac2 = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface')->getMock();
- $ac2->method('getName')->willReturn('a1');
- $ac2->method('getGroups')->willReturn(array('b', 'c'));
- $classMetadata1->addAttributeMetadata($ac1);
- $classMetadata2->addAttributeMetadata($ac2);
- $classMetadata1->merge($classMetadata2);
- $ac1->method('getGroups')->willReturn('a', 'b', 'c');
- $this->assertEquals(array('a1' => $ac1), $classMetadata2->getAttributesMetadata());
- }
- public function testSerialize()
- {
- $classMetadata = new ClassMetadata('a');
- $a1 = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface')->getMock();
- $a1->method('getName')->willReturn('b1');
- $a2 = $this->getMockBuilder('Symfony\Component\Serializer\Mapping\AttributeMetadataInterface')->getMock();
- $a2->method('getName')->willReturn('b2');
- $classMetadata->addAttributeMetadata($a1);
- $classMetadata->addAttributeMetadata($a2);
- $serialized = serialize($classMetadata);
- $this->assertEquals($classMetadata, unserialize($serialized));
- }
- }
|