public function testCreateWithRequiredByDecorated() { $propertyMetadata = new PropertyMetadata(null, 'A dummy date', true, true, null, null, true, false); $expectedPropertyMetadata = clone $propertyMetadata; $decoratedPropertyMetadataFactory = $this->prophesize(PropertyMetadataFactoryInterface::class); $decoratedPropertyMetadataFactory->create(DummyValidatedEntity::class, 'dummyDate', [])->willReturn($propertyMetadata)->shouldBeCalled(); $validatorMetadataFactory = $this->prophesize(MetadataFactoryInterface::class); $validatorPropertyMetadataFactory = new ValidatorPropertyMetadataFactory($validatorMetadataFactory->reveal(), $decoratedPropertyMetadataFactory->reveal()); $resultedPropertyMetadata = $validatorPropertyMetadataFactory->create(DummyValidatedEntity::class, 'dummyDate'); $this->assertInstanceOf(PropertyMetadata::class, $resultedPropertyMetadata); $this->assertEquals($expectedPropertyMetadata, $resultedPropertyMetadata); }