/** * @inheritdoc */ public function denormalize(FixtureBag $builtFixtures, string $className, string $unparsedFixtureId, array $specs, FlagBag $flags) : FixtureBag { if (null === $this->flagParser) { throw FlagParserExceptionFactory::createForExpectedMethodToBeCalledIfHasAParser(__METHOD__); } $idFlags = $this->flagParser->parse($unparsedFixtureId); $fixture = new SimpleFixture($idFlags->getKey(), $className, new SpecificationBag(null, new PropertyBag(), new MethodCallBag())); $fixture = $fixture->withSpecs($this->specsDenormalizer->denormalize($fixture, $this->flagParser, $specs)); return $builtFixtures->with(new TemplatingFixture(new SimpleFixtureWithFlags($fixture, $idFlags->mergeWith($flags)))); }