Replaced easymock by mockito.
[utils] / support / general / src / test / java / org / wamblee / observer / ObservableTest.java
index ff37ccb9bfeb1e72aea95826c5fcf473f86b5a4a..8a060e8948a7f8620c9c2684e0dd8da49b8aa9b4 100644 (file)
 
 package org.wamblee.observer;
 
-import static org.easymock.EasyMock.createControl;
-import static org.easymock.EasyMock.createMock;
-import static org.easymock.EasyMock.createStrictMock;
-import static org.easymock.EasyMock.replay;
-import static org.easymock.EasyMock.verify;
+import static org.mockito.Mockito.*; 
 
 import java.util.ArrayList;
 import java.util.List;
 
-import junit.framework.TestCase;
+import org.mockito.InOrder;
 
-import org.easymock.IMocksControl;
+import junit.framework.TestCase;
 
 /**
  * Test of the observer pattern implementation.
@@ -60,23 +56,24 @@ public class ObservableTest extends TestCase {
         * Tests subscription and notification of one subscriber.
         */
        public void testOneObserver() {
-               final Observer mockObserver = createStrictMock(Observer.class);
+               final Observer mockObserver = mock(Observer.class);
+               InOrder order = inOrder(mockObserver);
+               
                long subscription = _observable.subscribe(mockObserver);
 
                assertEquals(1, _observable.getObserverCount());
 
                final String message = "hallo";
-               mockObserver.send(_observed, message);
-               replay(mockObserver);
-
                _observable.send(message);
-               verify(mockObserver);
-
+               
+               order.verify(mockObserver).send(_observed, message);
+               verifyNoMoreInteractions(mockObserver);
+               
                _observable.unsubscribe(subscription);
                assertEquals(0, _observable.getObserverCount());
 
                _observable.send(message);
-
+               verifyNoMoreInteractions(mockObserver);
        }
 
        /**
@@ -87,12 +84,12 @@ public class ObservableTest extends TestCase {
        public void testManySubscribers() {
                final int nsubscribers = SUBSCRIBER_COUNT;
                final Observer[] mocks = new Observer[nsubscribers];
-
-               IMocksControl control = createControl();
+               final InOrder[] order = new InOrder[nsubscribers];
 
                List<Long> subscriptions = new ArrayList<Long>();
                for (int i = 0; i < nsubscribers; i++) {
-                       mocks[i] = control.createMock("mock" + i, Observer.class);
+                       mocks[i] = mock(Observer.class);
+                       order[i] = inOrder(mocks[i]);
                        long subscription = _observable.subscribe(mocks[i]);
                        assertTrue(subscriptions.add(subscription));
                }
@@ -101,13 +98,10 @@ public class ObservableTest extends TestCase {
 
                final String message = "hallo";
 
+               _observable.send(message);
                for (int i = 0; i < nsubscribers; i++) {
-                       mocks[i].send(_observed, message);
+                       order[i].verify(mocks[i]).send(_observed, message);
                }
-               control.replay();
-
-               _observable.send(message);
-               control.verify();
 
                for (int i = nsubscribers / 2; i < nsubscribers; i++) {
                        _observable.unsubscribe(subscriptions.get(i));
@@ -115,16 +109,16 @@ public class ObservableTest extends TestCase {
                assertEquals(nsubscribers - (nsubscribers - nsubscribers / 2),
                                _observable.getObserverCount());
 
-               control.reset();
                final String message2 = "blabla";
 
-               for (int i = 0; i < nsubscribers / 2; i++) {
-                       mocks[i].send(_observed, message2);
-               }
-               control.replay();
-
                _observable.send(message2);
-               control.verify();
+               for (int i = 0; i < nsubscribers / 2; i++) {
+                       order[i].verify(mocks[i]).send(_observed, message2);
+               }               
+               for (int i = nsubscribers/2; i < nsubscribers; i++) {
+                       verifyNoMoreInteractions(mocks[i]);
+               }               
+               
        }
 
        /**
@@ -133,9 +127,8 @@ public class ObservableTest extends TestCase {
         * 
         */
        public void testUnsubscribeWithWrongSubscription() {
-               Observer<Integer, String> observer = createMock(Observer.class);
-               replay(observer);
-               
+               Observer<Integer, String> observer = mock(Observer.class);
+       
                long subscription = _observable.subscribe(observer);
 
                assertEquals(1, _observable.getObserverCount());