package org.easyb.plugin; import static junit.framework.Assert.assertEquals; import org.easyb.BehaviorStep; import org.easyb.result.Result; import static org.easyb.result.Result.FAILED; import static org.easyb.util.BehaviorStepType.IT; import static org.easyb.util.BehaviorStepType.SPECIFICATION; import static org.easyb.plugin.Outcome.FAILURE; import org.easyb.plugin.ui.EasybPresenter; import org.easyb.plugin.ui.StubNodeBuilder; import org.easyb.plugin.ui.StubResultNode; import static org.easyb.plugin.ui.StubResultNode.nodeFor; import org.junit.Before; import org.junit.Test; public class WhenASpecIsRun { private StubView view; private EasybPresenter presenter; @Before public void setUp() { view = new StubView(); presenter = new EasybPresenter<StubResultNode>(view, new StubNodeBuilder()); } @Test public void shouldAddNodesToTree() { StubResultNode specNode = nodeFor(SPECIFICATION, "transferring funds", FAILURE); specNode.add(nodeFor(IT, "should withdraw funds", FAILURE)); presenter.startStep(new BehaviorStep(SPECIFICATION, "transferring funds")); presenter.startStep(new BehaviorStep(IT, "should withdraw funds")); presenter.gotResult(new Result(FAILED)); presenter.stopStep(); presenter.stopStep(); assertEquals(specNode, view.getResultNode()); } }