package org.jtwig.parser; import org.jtwig.environment.Environment; import org.jtwig.model.tree.Node; import org.jtwig.parser.cache.TemplateCache; import org.jtwig.resource.reference.ResourceReference; import org.junit.Test; import static org.junit.Assert.assertSame; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.when; public class CachedJtwigParserTest { private final TemplateCache cache = mock(TemplateCache.class); private final JtwigParser delegate = mock(JtwigParser.class); private final CachedJtwigParser underTest = new CachedJtwigParser(cache, delegate); @Test public void parse() throws Exception { Environment environment = mock(Environment.class); ResourceReference resource = mock(ResourceReference.class); Node node = mock(Node.class); when(delegate.parse(environment, resource)).thenReturn(node); when(cache.get(delegate, environment, resource)).thenReturn(node); Node result = underTest.parse(environment, resource); assertSame(result, node); } }