public function testResolvesTemplatesFixturesAndReturnsResultingFixtureBag()
{
$unresolvedFixtures = (new FixtureBag())->with($group1 = new SimpleFixture('group1', 'Nelmio\\Entity\\Group', SpecificationBagFactory::create()))->with($group2 = new SimpleFixtureWithFlags(new SimpleFixture('group2', 'Nelmio\\Entity\\Group', SpecificationBagFactory::create()), (new FlagBag('group2'))->withFlag(new ElementFlag('dummy_flag'))))->with($user1 = new TemplatingFixture(new SimpleFixtureWithFlags(new SimpleFixture('user1', 'Nelmio\\Alice\\Entity\\User', SpecificationBagFactory::create(null, (new PropertyBag())->with(new Property('p1', 'v11')))), (new FlagBag('user1'))->withFlag(new ExtendFlag(new FixtureReference('user3')))->withFlag(new ExtendFlag(new FixtureReference('user2')))->withFlag(new ElementFlag('dummy_flag')))))->with($user2 = new TemplatingFixture(new SimpleFixtureWithFlags(new SimpleFixture('user2', 'Nelmio\\Alice\\Entity\\User', SpecificationBagFactory::create(null, (new PropertyBag())->with(new Property('p1', 'v21'))->with(new Property('p2', 'v22')))), (new FlagBag('user2'))->withFlag(new TemplateFlag()))))->with($user3 = new TemplatingFixture(new SimpleFixtureWithFlags(new SimpleFixture('user3', 'Nelmio\\Alice\\Entity\\User', SpecificationBagFactory::create(null, (new PropertyBag())->with(new Property('p1', 'v31'))->with(new Property('p2', 'v32'))->with(new Property('p3', 'v33')))), (new FlagBag('user3'))->withFlag(new ExtendFlag(new FixtureReference('user4')))->withFlag(new TemplateFlag()))))->with($user4 = new TemplatingFixture(new SimpleFixtureWithFlags(new SimpleFixture('user4', 'Nelmio\\Alice\\Entity\\User', SpecificationBagFactory::create(null, (new PropertyBag())->with(new Property('p1', 'v41'))->with(new Property('p2', 'v42'))->with(new Property('p3', 'v43'))->with(new Property('p4', 'v44')))), (new FlagBag('user4'))->withFlag(new TemplateFlag()))))->with($user5 = new SimpleFixtureWithFlags(new SimpleFixture('user5', 'Nelmio\\Alice\\Entity\\User', SpecificationBagFactory::create()), (new FlagBag('user5'))->withFlag(new TemplateFlag())));
$expected = (new FixtureBag())->with($group1)->with($group2)->with(new TemplatingFixture(new SimpleFixtureWithFlags(new SimpleFixture('user1', 'Nelmio\\Alice\\Entity\\User', SpecificationBagFactory::create(null, (new PropertyBag())->with(new Property('p1', 'v11'))->with(new Property('p2', 'v22'))->with(new Property('p3', 'v33'))->with(new Property('p4', 'v44')))), $this->getDecoratedFixturesFlag($user1)), (new FlagBag('user1'))->withFlag(new ElementFlag('dummy_flag'))))->with($user5);
$actual = $this->resolver->resolve($unresolvedFixtures);
$this->assertEquals($expected, $actual);
}