public function testCreateReturnsMappedRendererInterface() { $resultClass = $this->createMock(ResultInterface::class); $resultClassName = get_class($resultClass); $rendererClassName = get_class($this->createMock(ResultRendererInterface::class)); $factory = new ResultRendererFactory(); $factory->registerRenderer($resultClassName, $rendererClassName); $returnedRenderer = $factory->create($resultClass); $this->assertInstanceOf($rendererClassName, $returnedRenderer); }
/** * @param ResultInterface $result * @return string */ public function renderResult(ResultInterface $result) { return $this->resultRendererFactory->create($result)->render($this); }
public function testExceptionIsThrownIfFactoryReturnsInCorrectRenderer() { $resultClass = $this->createMock(ResultInterface::class); $resultClassName = get_class($resultClass); $rendererClassName = get_class($this->createMock(ResultRendererInterface::class)); $factory = new ResultRendererFactory(); $factory->registerRenderer($resultClassName, $rendererClassName, function () { return new \stdClass(); }); $this->expectException(RuntimeException::class); $factory->create($resultClass); }