public function testGetRenderer()
 {
     $renderers = ['renderer_1' => $this->getMock('Magento\\Framework\\View\\Element\\Message\\Renderer\\RendererInterface'), 'renderer_2' => $this->getMock('Magento\\Framework\\View\\Element\\Message\\Renderer\\RendererInterface'), 'renderer_3' => $this->getMock('Magento\\Framework\\View\\Element\\Message\\Renderer\\RendererInterface')];
     $expectationMap = ['renderer_1' => $renderers['renderer_1'], 'renderer_2' => $renderers['renderer_2'], 'renderer_3' => $renderers['renderer_3'], 'renderer_4' => null];
     $pool = new RenderersPool($renderers);
     foreach ($expectationMap as $code => $renderer) {
         static::assertSame($renderer, $pool->get($code));
     }
 }
 /**
  * Interpret message
  *
  * @param MessageInterface $message
  * @return string
  * @throws \LogicException
  */
 public function interpret(MessageInterface $message)
 {
     $messageConfiguration = $this->messageConfigurationsPool->getMessageConfiguration($message->getIdentifier());
     if (null === $messageConfiguration) {
         throw new \LogicException();
     }
     $renderer = $this->renderersPool->get($messageConfiguration['renderer']);
     if (null === $renderer) {
         throw new \LogicException();
     }
     return $renderer->render($message, $messageConfiguration['data']);
 }