X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fobserver%2FObservableTest.java;h=8a060e8948a7f8620c9c2684e0dd8da49b8aa9b4;hb=8557fbe8c7ea4e1cbcbf10d3c4e8c60c9c1e312b;hp=ff37ccb9bfeb1e72aea95826c5fcf473f86b5a4a;hpb=34b0dc0bca5a2d99394b9692b4ea14ce9e2141b7;p=utils diff --git a/support/general/src/test/java/org/wamblee/observer/ObservableTest.java b/support/general/src/test/java/org/wamblee/observer/ObservableTest.java index ff37ccb9..8a060e89 100644 --- a/support/general/src/test/java/org/wamblee/observer/ObservableTest.java +++ b/support/general/src/test/java/org/wamblee/observer/ObservableTest.java @@ -16,18 +16,14 @@ 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 subscriptions = new ArrayList(); 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 observer = createMock(Observer.class); - replay(observer); - + Observer observer = mock(Observer.class); + long subscription = _observable.subscribe(observer); assertEquals(1, _observable.getObserverCount());