public function testRemovesConflictingObjectsByIteratingFixturesIfThereIsLessFixturesThanInjectedObjects()
 {
     $set = FixtureSetFactory::create();
     $decoratedResolverProphecy = $this->prophesize(FixtureSetResolverInterface::class);
     $decoratedResolverProphecy->resolve($set)->willReturn($resolvedSet = new ResolvedFixtureSet($parameters = new ParameterBag(['resolved' => true]), $fixtures = (new FixtureBag())->with(new DummyFixture('dummy')), $objects = (new ObjectBag())->with(new SimpleObject('dummy', new \stdClass()))->with(new SimpleObject('another_injected_object', new \stdClass()))));
     /** @var FixtureSetResolverInterface $decoratedResolver */
     $decoratedResolver = $decoratedResolverProphecy->reveal();
     $expected = new ResolvedFixtureSet($parameters, $fixtures, $objects = (new ObjectBag())->with(new SimpleObject('another_injected_object', new \stdClass())));
     $resolver = new RemoveConflictingObjectsResolver($decoratedResolver);
     $actual = $resolver->resolve($set);
     $this->assertEquals($expected, $actual);
 }
 public function testLoadAFileAndReturnsAnObjectSet()
 {
     $data = [new \stdClass()];
     $parameters = ['foo' => 'bar'];
     $objects = ['dummy0' => new \stdClass()];
     $fixtureSet = FixtureSetFactory::create();
     $objectSet = ObjectSetFactory::create();
     $fixtureBuilderProphecy = $this->prophesize(FixtureBuilderInterface::class);
     $fixtureBuilderProphecy->build($data, $parameters, $objects)->willReturn($fixtureSet);
     /** @var FixtureBuilderInterface $fixtureBuilder */
     $fixtureBuilder = $fixtureBuilderProphecy->reveal();
     $generatorProphecy = $this->prophesize(GeneratorInterface::class);
     $generatorProphecy->generate($fixtureSet)->willReturn($objectSet);
     /** @var GeneratorInterface $generator */
     $generator = $generatorProphecy->reveal();
     $loader = new SimpleDataLoader($fixtureBuilder, $generator);
     $result = $loader->loadData($data, $parameters, $objects);
     $this->assertSame($objectSet, $result);
     $fixtureBuilderProphecy->build(Argument::cetera())->shouldHaveBeenCalledTimes(1);
     $generatorProphecy->generate(Argument::cetera())->shouldHaveBeenCalledTimes(1);
 }