public function it_should_set_template_name_from_route_with_content(RouteInterface $route, ArticleInterface $article)
 {
     $route->getTemplateName()->willReturn('test.html.twig');
     $route->getContent()->willReturn($article);
     $article->getRoute()->willReturn(null);
     $article->getTemplateName()->willReturn(null);
     $this->setTemplateName($article, [RouteObjectInterface::ROUTE_OBJECT => $route])->shouldReturn([RouteObjectInterface::ROUTE_OBJECT => $route, RouteObjectInterface::TEMPLATE_NAME => 'article.html.twig']);
 }
 /**
  * {@inheritdoc}
  */
 public function resolveFromRoute(RouteInterface $route, $templateName = TemplateNameResolverInterface::TEMPLATE_NAME)
 {
     if (null !== $route->getTemplateName()) {
         $templateName = $route->getTemplateName();
     }
     if (RouteInterface::TYPE_COLLECTION === $route->getType() && null === $route->getTemplateName()) {
         if ($contentTemplateName = $this->getTemplateNameFromRouteContent($route)) {
             $templateName = $contentTemplateName;
         } else {
             throw new NotFoundHttpException(sprintf('There is no template file defined for "%s" route!', $route->getName()));
         }
     } elseif (RouteInterface::TYPE_CONTENT === $route->getType()) {
         if ($contentTemplateName = $this->getTemplateNameFromRouteContent($route)) {
             $templateName = $contentTemplateName;
         }
     }
     return $templateName;
 }