You are here

public function ClassMetadataTest::testMerge in Zircon Profile 8.0

Same name and namespace in other branches
  1. 8 vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php \Symfony\Component\Serializer\Tests\Mapping\ClassMetadataTest::testMerge()

File

vendor/symfony/serializer/Tests/Mapping/ClassMetadataTest.php, line 43

Class

ClassMetadataTest
@author Kévin Dunglas <dunglas@gmail.com>

Namespace

Symfony\Component\Serializer\Tests\Mapping

Code

public function testMerge() {
  $classMetadata1 = new ClassMetadata('c1');
  $classMetadata2 = new ClassMetadata('c2');
  $ac1 = $this
    ->getMock('Symfony\\Component\\Serializer\\Mapping\\AttributeMetadataInterface');
  $ac1
    ->method('getName')
    ->willReturn('a1');
  $ac1
    ->method('getGroups')
    ->willReturn(array(
    'a',
    'b',
  ));
  $ac2 = $this
    ->getMock('Symfony\\Component\\Serializer\\Mapping\\AttributeMetadataInterface');
  $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());
}