Nelmio\Alice\FixtureBuilder\Denormalizer\Fixture\SpecificationBagDenormalizer\Value\UniqueValueDenormalizerTest::testIfParsedValueIsDynamicArrayThenUniqueFlagAppliesToItsElementInstead PHP Method

testIfParsedValueIsDynamicArrayThenUniqueFlagAppliesToItsElementInstead() public method

    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());
    }