/** * @param object $entity * @return string * @throws EntityNotSupported */ public function render($entity) { $this->registry->freeze(); foreach ($this->registry->getMaps() as $map) { if ($map->supports($entity)) { $document = $this->createDocument(); $map->map($document, $entity); return $document->render(); } } throw new EntityNotSupported($entity, $this->registry); }
/** * @depends testConstruct */ public function testFreeze(Registry $registry) { $registry->register(new Map()); $this->assertCount(1, $registry->getMaps()); $registry->freeze(); $this->assertTrue($registry->isFrozen()); $this->assertCount(1, $registry->getMaps()); $registryMaps = $registry->getMaps(); $firstMap = reset($registryMaps); $this->assertEquals($registry->getRouter(), $firstMap->getRouter()); return $registry; }