/**
* {@inheritdoc}
*
* @param array $data subset of PHP data coming from the parser (does not contains any parameters)
*
* @example
* $data = [
* 'Nelmio\Alice\Entity\User' => [
* 'user0' => [
* 'username' => 'bob',
* ],
* ],
* ];
*
* @return FixtureBag
*/
public function denormalize(array $data) : FixtureBag
{
$fixtures = new FixtureBag();
foreach ($data as $fqcnWithFlags => $rawFixtureSet) {
$flags = $this->flagParser->parse($fqcnWithFlags);
$fqcn = $flags->getKey();
foreach ($rawFixtureSet as $reference => $specs) {
$fixtures = $this->fixtureDenormalizer->denormalize($fixtures, $fqcn, $reference, $specs, $flags);
}
}
return $fixtures;
}