/* * Copyright (c) 2007 * Semantra, Inc. Addison, Texas 214.445.2900 */ package org.easyb.plugin.ui; import static junit.framework.Assert.assertEquals; import org.easyb.BehaviorStep; import static org.easyb.util.BehaviorStepType.*; import org.easyb.plugin.ConsoleOutputListener; import org.easyb.plugin.StubView; import static org.easymock.EasyMock.*; import org.junit.Test; public class WhenTextIsWrittenToConsole { private static final String TEXT = "expected output"; @SuppressWarnings({"unchecked"}) @Test public void shouldWriteOutputToView() { EasybView<StubResultNode> view = createMock(EasybView.class); view.writeConsole(TEXT); expectLastCall(); replay(view); ConsoleOutputListener presenter = new EasybPresenter<StubResultNode>(view, new StubNodeBuilder()); presenter.textAvailable(TEXT); verify(view); } @SuppressWarnings({"unchecked"}) @Test public void shouldAppendTextFromSpecificationToResultNode() { StubView view = new StubView(); EasybPresenter presenter = new EasybPresenter(view, new StubNodeBuilder()); presenter.startStep(new BehaviorStep(SPECIFICATION, "spec")); presenter.startStep(new BehaviorStep(IT, "test")); presenter.textAvailable("Running spec specification (spec.specification)\n"); presenter.textAvailable(TEXT); assertEquals(TEXT, view.getResultNode().getOutput()); } @SuppressWarnings({"unchecked"}) @Test public void shouldAppendTextFromStoryToResultNode() { StubView view = new StubView(); EasybPresenter presenter = new EasybPresenter(view, new StubNodeBuilder()); presenter.startStep(new BehaviorStep(STORY, "testing")); presenter.startStep(new BehaviorStep(GIVEN, "given")); presenter.textAvailable("Running testing story (Testing.story)\n"); presenter.textAvailable(TEXT); assertEquals(TEXT, view.getResultNode().getOutput()); } }