public function testIfParsedValueIsDynamicArrayThenUniqueFlagAppliesToItsElementInstead()
{
$fixture = new SimpleFixture('dummy_id', 'Dummy', SpecificationBagFactory::create());
$value = 'string value';
$denormalizedValue = new DynamicArrayValue(10, 'parsed_value');
$flags = (new FlagBag(''))->withFlag(new UniqueFlag());
$decoratedDenormalizerProphecy = $this->prophesize(ValueDenormalizerInterface::class);
$decoratedDenormalizerProphecy->denormalize($fixture, $flags, $value)->willReturn($denormalizedValue);
/** @var ValueDenormalizerInterface $decoratedDenormalizer */
$decoratedDenormalizer = $decoratedDenormalizerProphecy->reveal();
$denormalizer = new UniqueValueDenormalizer($decoratedDenormalizer);
$result = $denormalizer->denormalize($fixture, $flags, $value);
$this->assertInstanceOf(DynamicArrayValue::class, $result);
/** @var DynamicArrayValue $result */
$this->assertEquals(10, $result->getQuantifier());
$this->assertInstanceOf(UniqueValue::class, $result->getElement());
$this->stringContains('dummy_id', $result->getElement()->getId());
$this->assertEquals('parsed_value', $result->getElement()->getValue());
}