X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=support%2Ftest%2Forg%2Fwamblee%2Fobserver%2FObservableTest.java;h=08e5a2aa4f220336afd2b79b4163d1325d614ceb;hb=2199803fbf260ee1339aff89a033dacf64d03efd;hp=eef88a27911cc9fc6ca6d9538e01ddb1563c95b6;hpb=d22f1e4a9f83a08fea1c1e4f704fcf64829a0256;p=utils diff --git a/support/test/org/wamblee/observer/ObservableTest.java b/support/test/org/wamblee/observer/ObservableTest.java index eef88a27..08e5a2aa 100644 --- a/support/test/org/wamblee/observer/ObservableTest.java +++ b/support/test/org/wamblee/observer/ObservableTest.java @@ -27,9 +27,6 @@ import org.jmock.cglib.MockObjectTestCase; */ public class ObservableTest extends MockObjectTestCase { - /** - * - */ private static final int SUBSCRIBER_COUNT = 100; private static final String UPDATE = "send"; @@ -116,4 +113,25 @@ public class ObservableTest extends MockObjectTestCase { _observable.send(message); } + /** + * Subscribes and then unsubscribes with a wrong id. Verifies that + * IllegalArgumentException is thrown. + * + */ + public void testUnsubscribeWithWrongSubscription() { + Mock mockObserver = mock(Observer.class); + Observer observer = (Observer) mockObserver + .proxy(); + long subscription = _observable.subscribe(observer); + + assertEquals(1, _observable.getObserverCount()); + + try { + _observable.unsubscribe(subscription + 1); + } catch (IllegalArgumentException e) { + return; // ok + } + fail(); + } + }