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