Author: mes
Date: 2011-03-10 14:00:55 -0800 (Thu, 10 Mar 2011)
New Revision: 24395

Modified:
   
core3/event-api/trunk/src/test/java/org/cytoscape/event/AbstractCyEventHelperTest.java
   
core3/event-api/trunk/src/test/java/org/cytoscape/event/StubCyMicroListenerImpl.java
Log:
added new test to verify that multiple microlisteners of the same class can be 
added and removed correctly

Modified: 
core3/event-api/trunk/src/test/java/org/cytoscape/event/AbstractCyEventHelperTest.java
===================================================================
--- 
core3/event-api/trunk/src/test/java/org/cytoscape/event/AbstractCyEventHelperTest.java
      2011-03-10 21:59:02 UTC (rev 24394)
+++ 
core3/event-api/trunk/src/test/java/org/cytoscape/event/AbstractCyEventHelperTest.java
      2011-03-10 22:00:55 UTC (rev 24395)
@@ -251,4 +251,54 @@
                microEventSource.testFire( helper, 10 );
                assertEquals("number of calls", 1,stub1.getNumCalls());
        }
+
+       public void testMultipleSameClassRowListenersAddedAndRemoved() {
+
+        StubCyMicroListener stub1 = new StubCyMicroListenerImpl();
+        helper.addMicroListener(stub1, StubCyMicroListener.class, 
microEventSource);
+
+        StubCyMicroListener stub2 = new StubCyMicroListenerImpl();
+        helper.addMicroListener(stub2, StubCyMicroListener.class, 
microEventSource);
+
+        StubCyMicroListener stubOther = new OtherStubCyMicroListenerImpl();
+        helper.addMicroListener(stubOther, StubCyMicroListener.class, 
microEventSource);
+
+               microEventSource.testFire( helper, 10 );
+
+               assertEquals( 1, stub1.getNumCalls() );
+               assertEquals( 1, stub2.getNumCalls() );
+               assertEquals( 1, stubOther.getNumCalls() );
+
+               microEventSource.testFire( helper, 11 );
+
+               assertEquals( 2, stub1.getNumCalls() );
+               assertEquals( 2, stub2.getNumCalls() );
+               assertEquals( 2, stubOther.getNumCalls() );
+
+        helper.removeMicroListener(stub1, StubCyMicroListener.class, 
microEventSource);
+
+               microEventSource.testFire( helper, 12 );
+
+               assertEquals( 2, stub1.getNumCalls() );
+               assertEquals( 3, stub2.getNumCalls() );
+               assertEquals( 3, stubOther.getNumCalls() );
+       }
+
+       private class OtherStubCyMicroListenerImpl implements 
StubCyMicroListener {
+               int called = 0;
+               int eventValue = Integer.MIN_VALUE;
+
+               public void handleMicroEvent(int x) {
+                       called++;
+                       eventValue = x;
+               }
+       
+               public int getNumCalls() { return called; }
+       
+               public int getEventValue() { return eventValue; }
+       
+               public String toString() {
+                       return "OtherStubCyMicroListenerImpl: " + called + " " 
+ eventValue;
+               }
+       }
 }

Modified: 
core3/event-api/trunk/src/test/java/org/cytoscape/event/StubCyMicroListenerImpl.java
===================================================================
--- 
core3/event-api/trunk/src/test/java/org/cytoscape/event/StubCyMicroListenerImpl.java
        2011-03-10 21:59:02 UTC (rev 24394)
+++ 
core3/event-api/trunk/src/test/java/org/cytoscape/event/StubCyMicroListenerImpl.java
        2011-03-10 22:00:55 UTC (rev 24395)
@@ -36,40 +36,20 @@
 
 package org.cytoscape.event;
 
-/**
- * DOCUMENT ME!
-  */
 public class StubCyMicroListenerImpl implements StubCyMicroListener {
        int called = 0;
        int eventValue = Integer.MIN_VALUE;
 
-       public StubCyMicroListenerImpl() {
-       }
-
-       /**
-        *  DOCUMENT ME!
-        *
-        * @param e DOCUMENT ME!
-        */
        public void handleMicroEvent(int x) {
                called++;
                eventValue = x;
        }
 
-       /**
-        *  DOCUMENT ME!
-        *
-        * @return  DOCUMENT ME!
-        */
-       public int getNumCalls() {
-               return called;
-       }
+       public int getNumCalls() { return called; }
 
-       public int getEventValue() {
-               return eventValue;
-       }
+       public int getEventValue() { return eventValue; }
 
        public String toString() {
-               return "StubCyMicroListenerImpl: " + Integer.toString(called) + 
" " + Integer.toString(eventValue);
+               return "StubCyMicroListenerImpl: " + called + " " + eventValue;
        }
 }

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to