package org.jtwig.render.node.renderer; import org.hamcrest.Matcher; import org.jtwig.model.tree.CompositeNode; import org.jtwig.model.tree.Node; import org.jtwig.render.RenderRequest; import org.jtwig.renderable.Renderable; import org.jtwig.renderable.impl.CompositeRenderable; import org.junit.Test; import static java.util.Arrays.asList; import static org.hamcrest.core.Is.is; import static org.jtwig.support.MatcherUtils.theSame; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.*; public class CompositeNodeRenderTest { private CompositeNodeRender underTest = new CompositeNodeRender(); @Test public void render() throws Exception { RenderRequest request = mock(RenderRequest.class, RETURNS_DEEP_STUBS); CompositeNode compositeNode = mock(CompositeNode.class); Renderable renderable1 = mock(Renderable.class); Renderable renderable2 = mock(Renderable.class); Node node1 = mock(Node.class); Node node2 = mock(Node.class); when(compositeNode.getNodes()).thenReturn(asList(node1, node2)); when(request.getEnvironment().getRenderEnvironment().getRenderNodeService().render(request, node1)).thenReturn(renderable1); when(request.getEnvironment().getRenderEnvironment().getRenderNodeService().render(request, node2)).thenReturn(renderable2); Renderable result = underTest.render(request, compositeNode); Renderable expected = new CompositeRenderable(asList(renderable1, renderable2)); assertThat(result, (Matcher<? super Renderable>) is(theSame(expected))); } }