Nelmio\Alice\Generator\Instantiator\Chainable\AbstractChainableInstantiatorTest::testReturnsNewSetWithInstantiatedObject PHP Method

testReturnsNewSetWithInstantiatedObject() public method

    public function testReturnsNewSetWithInstantiatedObject()
    {
        $fixture = new DummyFixture('dummy');
        $set = new ResolvedFixtureSet($parameters = new ParameterBag(['foo' => 'bar']), $fixtures = (new FixtureBag())->with(new DummyFixture('another_dummy')), $objects = new ObjectBag(['ping' => new Dummy()]));
        $instantiatedObject = new \stdClass();
        $instantiatedObject->instantiated = true;
        $decoratedInstantiatorProphecy = $this->prophesize(AbstractChainableInstantiator::class);
        $decoratedInstantiatorProphecy->createInstance($fixture)->willReturn($instantiatedObject);
        /** @var AbstractChainableInstantiator $decoratedInstantiator */
        $decoratedInstantiator = $decoratedInstantiatorProphecy->reveal();
        $expected = new ResolvedFixtureSet($parameters, $fixtures, $objects->with(new SimpleObject('dummy', $instantiatedObject)));
        $instantiator = new ProphecyChainableInstantiator($decoratedInstantiator);
        $actual = $instantiator->instantiate($fixture, $set, new GenerationContext());
        $this->assertEquals($expected, $actual);
        $decoratedInstantiatorProphecy->createInstance(Argument::any())->shouldHaveBeenCalledTimes(1);
    }