package com.tddinaction.swing.mvp.pv; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import org.junit.Before; import org.junit.Test; import com.tddinaction.swing.mvp.common.Colors; import com.tddinaction.swing.mvp.common.GreenBarModelStub; public class TestGreenBarPresenter { private GreenBarViewStub view; private GreenBarModelStub model; @Before public void setUp() { view = new GreenBarViewStub(); model = new GreenBarModelStub(); new GreenBarPresenter(view, model); } @Test public void shouldPopulateViewWithDefaultValues() throws Exception { assertEquals(Colors.getDefault(), view.barColor); } @Test public void shouldRegisterForUserGestures() throws Exception { assertNotNull(view.registeredRunButtonListener); } @Test public void userGestureTriggersChangeInModelAndViewShouldReflect() throws Exception { model.testsWillPassOnNextTestRun = true; view.registeredRunButtonListener.onRunButtonClick(); assertEquals(Colors.testsPassed(), view.barColor); model.testsWillPassOnNextTestRun = false; view.registeredRunButtonListener.onRunButtonClick(); assertEquals(Colors.testsFailed(), view.barColor); } }