From 214beff6d03ee7a3c9e4b22884357938238fdb76 Mon Sep 17 00:00:00 2001
From: Erik Brakkee <erik@brakkee.org>
Date: Sun, 26 Mar 2006 20:15:33 +0000
Subject: [PATCH] updated testcase

---
 .classpath                                    |  2 ++
 .../org/wamblee/observer/ObservableTest.java  | 24 ++++++++++++++++---
 2 files changed, 23 insertions(+), 3 deletions(-)

diff --git a/.classpath b/.classpath
index 1cec05af..4c7b227e 100644
--- a/.classpath
+++ b/.classpath
@@ -54,5 +54,7 @@
 	<classpathentry kind="lib" path="crawler/kiss/lib/external/mail.jar"/>
 	<classpathentry kind="lib" path="crawler/kiss/lib/external/xerces-2.4.0.jar"/>
 	<classpathentry kind="lib" path="crawler/kiss/lib/external/commons-email-1.0.jar"/>
+	<classpathentry kind="lib" path="support/lib/test/emma_ant-2.0.5312.jar"/>
+	<classpathentry kind="lib" path="support/lib/test/emma-2.0.5312.jar"/>
 	<classpathentry kind="output" path="support/testbin"/>
 </classpath>
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<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();
+    }
+
 }
-- 
2.31.1