updated testcase
[utils] / support / test / org / wamblee / observer / ObservableTest.java
index eef88a27911cc9fc6ca6d9538e01ddb1563c95b6..08e5a2aa4f220336afd2b79b4163d1325d614ceb 100644 (file)
@@ -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<ObservableTest, String> observer = (Observer<ObservableTest, String>) mockObserver
+                .proxy();
+        long subscription = _observable.subscribe(observer);
+
+        assertEquals(1, _observable.getObserverCount());
+
+        try {
+            _observable.unsubscribe(subscription + 1);
+        } catch (IllegalArgumentException e) {
+            return; // ok
+        }
+        fail();
+    }
+
 }