package org.jtwig.render.node;
import com.google.common.base.Optional;
import org.jtwig.model.tree.Node;
import org.jtwig.render.node.renderer.NodeRender;
import org.junit.Before;
import org.junit.Test;
import java.util.HashMap;
import static org.hamcrest.core.Is.is;
import static org.junit.Assert.assertThat;
import static org.mockito.Mockito.mock;
public class NodeRenderSelectorTest {
private final HashMap<Class<? extends Node>, NodeRender> renderMap = new HashMap<>();
private final NodeRenderSelector underTest = new NodeRenderSelector(renderMap);
@Before
public void setUp() throws Exception {
renderMap.clear();
}
@Test
public void renderForWhenNotFound() throws Exception {
Node node = mock(Node.class);
Optional<NodeRender> result = underTest.renderFor(node);
assertThat(result, is(Optional.<NodeRender>absent()));
}
@Test
public void renderWhenFound() throws Exception {
Node node = mock(Node.class);
NodeRender nodeRender = mock(NodeRender.class);
renderMap.put(node.getClass(), nodeRender);
Optional<NodeRender> result = underTest.renderFor(node);
assertThat(result.get(), is(nodeRender));
}
}