Inheritance: implements Nelmio\Alice\Definition\FixtureWithFlagsInterface
 public function testWithersReturnNewModifiedInstance()
 {
     $reference = 'user0';
     $specs = SpecificationBagFactory::create();
     $newSpecs = SpecificationBagFactory::create(new FakeMethodCall());
     $newDecoratedFixtureProphecy = $this->prophesize(FixtureInterface::class);
     $newDecoratedFixtureProphecy->getSpecs()->willReturn($newSpecs);
     /** @var FixtureInterface $newDecoratedFixture */
     $newDecoratedFixture = $newDecoratedFixtureProphecy->reveal();
     $decoratedFixtureProphecy = $this->prophesize(FixtureInterface::class);
     $decoratedFixtureProphecy->getId()->willReturn($reference);
     $decoratedFixtureProphecy->withSpecs($newSpecs)->willReturn($newDecoratedFixture);
     $decoratedFixtureProphecy->getSpecs()->willReturn($specs);
     /** @var FixtureInterface $decoratedFixture */
     $decoratedFixture = $decoratedFixtureProphecy->reveal();
     $flags = new FlagBag('user0');
     $fixture = new SimpleFixtureWithFlags($decoratedFixture, $flags);
     $newFixture = $fixture->withSpecs($newSpecs);
     $this->assertInstanceOf(SimpleFixtureWithFlags::class, $newFixture);
     $this->assertNotSame($fixture, $newFixture);
     $this->assertEquals($specs, $fixture->getSpecs());
     $this->assertEquals($flags, $fixture->getFlags());
     $this->assertEquals($newSpecs, $newFixture->getSpecs());
     $this->assertEquals($flags, $newFixture->getFlags());
 }