/** * @test */ public function merge_should_merge_all_attributes() { $class_ = new ClassForMetadata(); $subclass_ = new SubClassForMetadata(); $metadata = new ClassMetadata(new \ReflectionClass($class_)); $submetadata = new ClassMetadata(new \ReflectionClass($subclass_)); $metadata->addAttributeMetadata(new PropertyMetadata(get_class($class_), 'attributeFirst')); $metadata->addAttributeMetadata(new PropertyMetadata(get_class($class_), 'attributeSecond')); $metadata->addAttributeMetadata(new MethodMetadata(get_class($class_), 'methodOne')); $submetadata->addAttributeMetadata(new MethodMetadata(get_class($subclass_), 'methodOne')); $submetadata->merge($metadata); $attributes = $submetadata->getAttributesMetadata(); $this->assertCount(3, $attributes); }