package org.jtwig.property.resolver; import com.google.common.base.Optional; import org.jtwig.macro.ImportedMacros; import org.jtwig.macro.Macro; import org.jtwig.macro.render.MacroRender; import org.jtwig.property.resolver.request.PropertyResolveRequest; import org.jtwig.reflection.model.Value; import org.junit.Test; import static org.junit.Assert.assertEquals; import static org.mockito.BDDMockito.given; import static org.mockito.Mockito.mock; public class MacroPropertyResolverTest { private final MacroRender macroRender = mock(MacroRender.class); private final ImportedMacros importedMacros = mock(ImportedMacros.class); private MacroPropertyResolver underTest = new MacroPropertyResolver(macroRender, importedMacros); @Test public void property() throws Exception { String reference = "test"; PropertyResolveRequest request = mock(PropertyResolveRequest.class); given(request.getPropertyName()).willReturn(Optional.of(reference)); given(importedMacros.resolve(reference)).willReturn(Optional.<Macro>absent()); Optional<Value> result = underTest.resolve(request); assertEquals(Optional.<Value>absent(), result); } }