public function testReturnsADenormalizedSet()
{
$data = ['parameters' => ['foo' => 'bar'], 'Nelmio\\Alice\\Entity\\User' => ['user1' => []], 'Nelmio\\Alice\\Entity\\Group' => ['group1' => []]];
$fixturesData = ['Nelmio\\Alice\\Entity\\User' => ['user1' => []], 'Nelmio\\Alice\\Entity\\Group' => ['group1' => []]];
$parameterDenormalizerProphecy = $this->prophesize(ParameterBagDenormalizerInterface::class);
$parameterDenormalizerProphecy->denormalize($data)->willReturn($parameters = new ParameterBag(['foo' => 'bar']));
/** @var ParameterBagDenormalizerInterface $parameterDenormalizer */
$parameterDenormalizer = $parameterDenormalizerProphecy->reveal();
$fixturesDenormalizerProphecy = $this->prophesize(FixtureBagDenormalizerInterface::class);
$fixturesDenormalizerProphecy->denormalize($fixturesData)->willReturn($fixtures = (new FixtureBag())->with(new DummyFixture('foo')));
/** @var FixtureBagDenormalizerInterface $fixturesDenormalizer */
$fixturesDenormalizer = $fixturesDenormalizerProphecy->reveal();
$expected = new BareFixtureSet($parameters, $fixtures);
$denormalizer = new SimpleDenormalizer($parameterDenormalizer, $fixturesDenormalizer);
$actual = $denormalizer->denormalize($data);
$this->assertEquals($expected, $actual);
$parameterDenormalizerProphecy->denormalize(Argument::any())->shouldHaveBeenCalledTimes(1);
$fixturesDenormalizerProphecy->denormalize(Argument::any())->shouldHaveBeenCalledTimes(1);
}