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);
 }