X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Ftest%2Forg%2Fwamblee%2Fobserver%2FObservableTest.java;fp=support%2Ftest%2Forg%2Fwamblee%2Fobserver%2FObservableTest.java;h=eef88a27911cc9fc6ca6d9538e01ddb1563c95b6;hb=5b6b49fbe01397461e67238481c84a62c8ed4bef;hp=b2b7bdd5b13ca2fb5744278a2e15a620e91d4de9;hpb=a9a399fb3921ce5dca15cf85cd06f523724a7db1;p=utils diff --git a/support/test/org/wamblee/observer/ObservableTest.java b/support/test/org/wamblee/observer/ObservableTest.java index b2b7bdd5..eef88a27 100644 --- a/support/test/org/wamblee/observer/ObservableTest.java +++ b/support/test/org/wamblee/observer/ObservableTest.java @@ -12,7 +12,7 @@ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. - */ + */ package org.wamblee.observer; @@ -23,83 +23,95 @@ import org.jmock.Mock; import org.jmock.cglib.MockObjectTestCase; /** - * Test of the observer pattern implementation. + * Test of the observer pattern implementation. */ public class ObservableTest extends MockObjectTestCase { - + + /** + * + */ + private static final int SUBSCRIBER_COUNT = 100; + private static final String UPDATE = "send"; - - private Observable _observable; - - /* (non-Javadoc) + private Observable _observable; + + /* + * (non-Javadoc) + * * @see junit.framework.TestCase#setUp() */ @Override protected void setUp() throws Exception { super.setUp(); - - _observable = new Observable(this, new DefaultObserverNotifier()); + + _observable = new Observable(this, + new DefaultObserverNotifier()); } - + /** * Tests subscription and notification of one subscriber. */ - public void testOneObserver() { + public void testOneObserver() { Mock mockObserver = mock(Observer.class); - Observer observer = (Observer)mockObserver.proxy(); + Observer observer = (Observer) mockObserver + .proxy(); long subscription = _observable.subscribe(observer); - - assertEquals(1, _observable.getObserverCount()); - + + assertEquals(1, _observable.getObserverCount()); + String message = "hallo"; - mockObserver.expects(once()).method(UPDATE).with(same(this), eq(message)); - + mockObserver.expects(once()).method(UPDATE).with(same(this), + eq(message)); + _observable.send(message); - _observable.unsubscribe(subscription); - assertEquals(0, _observable.getObserverCount()); - + _observable.unsubscribe(subscription); + assertEquals(0, _observable.getObserverCount()); + _observable.send(message); - + } - - + /** - * Subscribes many susbcribers and sends notifications to subscribers. - * Verifies that unique subscription number are returned. - * Also verifies that the correct subscribers are notfied. + * Subscribes many susbcribers and sends notifications to subscribers. + * Verifies that unique subscription number are returned. Also verifies that + * the correct subscribers are notfied. */ - public void testManySubscribers() { - int nsubscribers = 100; + public void testManySubscribers() { + int nsubscribers = SUBSCRIBER_COUNT; Mock[] mocks = new Mock[nsubscribers]; - + List subscriptions = new ArrayList(); - for (int i = 0; i < nsubscribers; i++) { + for (int i = 0; i < nsubscribers; i++) { Mock mockObserver = mock(Observer.class); - Observer observer = (Observer)mockObserver.proxy(); + Observer observer = (Observer) mockObserver + .proxy(); long subscription = _observable.subscribe(observer); - + mocks[i] = mockObserver; - assertTrue( subscriptions.add(subscription)); + assertTrue(subscriptions.add(subscription)); } - + assertEquals(nsubscribers, _observable.getObserverCount()); - + String message = "hallo"; - for (int i = 0; i < nsubscribers; i++) { - mocks[i].expects(once()).method(UPDATE).with(same(this), eq(message)); + for (int i = 0; i < nsubscribers; i++) { + mocks[i].expects(once()).method(UPDATE).with(same(this), + eq(message)); } - + _observable.send(message); - - for (int i = nsubscribers/2; i < nsubscribers; i++) { - _observable.unsubscribe(subscriptions.get(i)); + + for (int i = nsubscribers / 2; i < nsubscribers; i++) { + _observable.unsubscribe(subscriptions.get(i)); } - assertEquals(nsubscribers - ( nsubscribers - nsubscribers/2), _observable.getObserverCount()); - - message = "blabla"; - for (int i = 0; i < nsubscribers/2; i++) { - mocks[i].expects(once()).method(UPDATE).with(same(this), eq(message)); + assertEquals(nsubscribers - (nsubscribers - nsubscribers / 2), + _observable.getObserverCount()); + + message = "blabla"; + for (int i = 0; i < nsubscribers / 2; i++) { + mocks[i].expects(once()).method(UPDATE).with(same(this), + eq(message)); } _observable.send(message); }