package org.jtwig.renderable.impl;
import org.jtwig.renderable.RenderResult;
import org.jtwig.renderable.Renderable;
import org.junit.Test;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.verify;
public class FutureRenderableTest {
private FutureRenderable underTest;
private RenderResult renderResult = mock(RenderResult.class);
@Test(expected = IllegalStateException.class)
public void unpopulatedShouldThrowAnIllegalStateException() throws Exception {
underTest = new FutureRenderable();
underTest.appendTo(renderResult);
}
@Test
public void accept() throws Exception {
Renderable renderable = mock(Renderable.class);
underTest = new FutureRenderable();
underTest.complete(renderable);
underTest.appendTo(renderResult);
verify(renderable).appendTo(renderResult);
}
@Test(expected = IllegalStateException.class)
public void completeTwice() throws Exception {
Renderable renderable = mock(Renderable.class);
underTest = new FutureRenderable();
underTest.complete(renderable);
underTest.complete(renderable);
}
}