rewritten ControllerTest to use mockito instead of jmock

Project: http://git-wip-us.apache.org/repos/asf/incubator-wave/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-wave/commit/2d48da78
Tree: http://git-wip-us.apache.org/repos/asf/incubator-wave/tree/2d48da78
Diff: http://git-wip-us.apache.org/repos/asf/incubator-wave/diff/2d48da78

Branch: refs/heads/fix/dependendices-2016
Commit: 2d48da7802abc859ddbce17db7d0028cba6059f3
Parents: ad947ee
Author: wisebaldone <wisebald...@apache.org>
Authored: Mon Nov 28 19:22:23 2016 +1000
Committer: wisebaldone <wisebald...@apache.org>
Committed: Mon Nov 28 19:22:23 2016 +1000

----------------------------------------------------------------------
 .../client/scheduler/knobs/ControllerTest.java  | 57 ++++----------------
 1 file changed, 10 insertions(+), 47 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/2d48da78/wave/src/test/java/org/waveprotocol/wave/client/scheduler/knobs/ControllerTest.java
----------------------------------------------------------------------
diff --git 
a/wave/src/test/java/org/waveprotocol/wave/client/scheduler/knobs/ControllerTest.java
 
b/wave/src/test/java/org/waveprotocol/wave/client/scheduler/knobs/ControllerTest.java
index 7cc062d..2f17a92 100644
--- 
a/wave/src/test/java/org/waveprotocol/wave/client/scheduler/knobs/ControllerTest.java
+++ 
b/wave/src/test/java/org/waveprotocol/wave/client/scheduler/knobs/ControllerTest.java
@@ -19,21 +19,21 @@
 
 package org.waveprotocol.wave.client.scheduler.knobs;
 
+import junit.framework.TestCase;
 import org.waveprotocol.wave.client.scheduler.Scheduler.Priority;
 import org.waveprotocol.wave.client.scheduler.Scheduler.Schedulable;
-
-import org.jmock.Expectations;
-import org.jmock.integration.junit3.MockObjectTestCase;
 import org.waveprotocol.wave.model.util.ReadableStringSet;
 
 import java.util.Collection;
 
+import static org.mockito.Mockito.*;
+
 /**
  * Tests the controller components for the scheduler.
  *
  */
 
-public class ControllerTest extends MockObjectTestCase {
+public class ControllerTest extends TestCase {
 
   /**
    * Stub implementation of a per-level UI control.  Used both as a dummy and a
@@ -107,54 +107,20 @@ public class ControllerTest extends MockObjectTestCase {
     knobView = mock(KnobView.class);
     knobsView = mock(KnobsView.class);
     stubView = new StubLevelView();
+    for (Priority p : Priority.values()) {
+      when(knobsView.create(p)).thenReturn(p.equals(Priority.MEDIUM) ? 
stubView : new StubLevelView());
+    }
   }
 
-  /**
-   * Tells jmock to accept the things that happen to the mock level-view
-   * when it gets injected into a level presenter.
-   */
-  private void allowKnobViewSetup() {
-    /// Sigh, Jmock = tight coupling with impl details :(
-    checking(new Expectations() {{
-      // Stuff that happens in constructor
-      one(knobView).init(with(any(KnobPresenter.class)));
-      one(knobView).enable();
-      one(knobView).showCount(0);
-      one(knobView).hideJobs();
-    }});
-  }
-
-  /**
-   * Tells jmock to accept the things that happen to the mock knob-view
-   * when it gets injected into a presenter.  Also injects {@link #stubView} as
-   * the per-level view of the MEDIUM priority level.
-   */
-  private void allowKnobsViewSetup() {
-    checking(new Expectations() {{
-      for (Priority p : Priority.values()) {
-        one(knobsView).create(p);
-            will(returnValue(p.equals(Priority.MEDIUM) ? stubView : new 
StubLevelView()));
-       }
-    }});
-  }
-
-  //
-  // Tests below.
-  //
-
   public void testLevelPresenterInitialStateAndClicking() {
-    allowKnobViewSetup();
     KnobPresenter presenter = new KnobPresenter(knobView);
 
-    checking(new Expectations() {{
-      one(knobView).disable();
-    }});
     presenter.onClicked();
+    verify(knobView, times(1)).disable();
+
 
-    checking(new Expectations() {{
-      one(knobView).enable();
-    }});
     presenter.onClicked();
+    verify(knobView, times(2)).enable(); // is enabled by default
   }
 
   public void testLevelEnabledAndDisabled() {
@@ -167,12 +133,10 @@ public class ControllerTest extends MockObjectTestCase {
   }
 
   public void testKnobsAddLevelForEachPriority() {
-    allowKnobsViewSetup();
     KnobsPresenter presenter = new KnobsPresenter(knobsView);
   }
 
   public void testClickingOnLevelTogglesRunnability() {
-    allowKnobsViewSetup();
     KnobsPresenter presenter = new KnobsPresenter(knobsView);
 
     assertNotNull(stubView.getListener());
@@ -184,7 +148,6 @@ public class ControllerTest extends MockObjectTestCase {
   }
 
   public void testUpdatingMediumJobCountUpdatesView() {
-    allowKnobsViewSetup();
     KnobsPresenter presenter = new KnobsPresenter(knobsView);
 
     Schedulable a = new Schedulable(){};

Reply via email to