Nelmio\Alice\FixtureBuilder\Denormalizer\Fixture\SpecificationBagDenormalizer\SimpleSpecificationsDenormalizerTest::testCanDenormalizeConstructor PHP Method

testCanDenormalizeConstructor() public method

    public function testCanDenormalizeConstructor()
    {
        $fixture = new FakeFixture();
        $specs = ['__construct' => $construct = ['<latitude()>']];
        $flagParser = new FakeFlagParser();
        $constructorDenormalizerProphecy = $this->prophesize(ConstructorDenormalizerInterface::class);
        $constructorDenormalizerProphecy->denormalize($fixture, $flagParser, $construct)->willReturn($constructor = new FakeMethodCall());
        /** @var ConstructorDenormalizerInterface $constructorDenormalizer */
        $constructorDenormalizer = $constructorDenormalizerProphecy->reveal();
        $expected = new SpecificationBag($constructor, new PropertyBag(), new MethodCallBag());
        $denormalizer = new SimpleSpecificationsDenormalizer($constructorDenormalizer, new FakePropertyDenormalizer(), new FakeCallsDenormalizer());
        $actual = $denormalizer->denormalize(new FakeFixture(), $flagParser, $specs);
        $this->assertEquals($expected, $actual);
        $constructorDenormalizerProphecy->denormalize(Argument::cetera())->shouldHaveBeenCalledTimes(1);
    }