Update of /cvsroot/mocklib/mocklib3/input/javasrc/biz/xsoftware/examples/listener
In directory sc8-pr-cvs7.sourceforge.net:/tmp/cvs-serv15922/input/javasrc/biz/xsoftware/examples/listener
Modified Files:
SysUnderTest.java LegacySystem.java TestExample.java
Added Files:
LegacyDisplayListener.java
Removed Files:
LegacySystemListener.java
Log Message:
clean up examples.
Index: LegacySystem.java
===================================================================
RCS file: /cvsroot/mocklib/mocklib3/input/javasrc/biz/xsoftware/examples/listener/LegacySystem.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** LegacySystem.java 10 Sep 2006 18:25:47 -0000 1.1
--- LegacySystem.java 11 Sep 2006 00:34:10 -0000 1.2
***************
*** 1,22 ****
- /*
- * Created on Jul 3, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
package biz.xsoftware.examples.listener;
-
- /**
- * Interface to what would normally be a real LegacySystemAdapter.
- * @author Dean Hiller
- */
public interface LegacySystem {
! /**
! * @param listener
! */
! void setLegacyListener(LegacySystemListener listener);
!
}
--- 1,7 ----
package biz.xsoftware.examples.listener;
public interface LegacySystem {
! public void setDisplayListener(LegacyDisplayListener l);
}
--- NEW FILE: LegacyDisplayListener.java ---
package biz.xsoftware.examples.listener;
public interface LegacyDisplayListener {
public void clearDisplay();
public void updateDisplay(String s);
}
Index: TestExample.java
===================================================================
RCS file: /cvsroot/mocklib/mocklib3/input/javasrc/biz/xsoftware/examples/listener/TestExample.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** TestExample.java 10 Sep 2006 18:25:47 -0000 1.1
--- TestExample.java 11 Sep 2006 00:34:10 -0000 1.2
***************
*** 20,27 ****
private MockObject mockLegacy;
- private MockObject mockListener1;
- private MockObject mockListener2;
private SysUnderTest sysUnderTest;
! private LegacySystemListener legacyListener;
/**
--- 20,25 ----
private MockObject mockLegacy;
private SysUnderTest sysUnderTest;
! private LegacyDisplayListener displayListener;
/**
***************
*** 37,46 ****
public void setUp() {
mockLegacy = MockObjectFactory.createMock(LegacySystem.class);
- mockListener1 = MockObjectFactory.createMock(LegacySystemListener.class);
- mockListener2 = MockObjectFactory.createMock(LegacySystemListener.class);
sysUnderTest = new SysUnderTest((LegacySystem)mockLegacy);
! Object[] params = mockLegacy.expect("setLegacyListener").getAllParams();
! legacyListener = (LegacySystemListener)params[0];
}
@Override
--- 35,42 ----
public void setUp() {
mockLegacy = MockObjectFactory.createMock(LegacySystem.class);
sysUnderTest = new SysUnderTest((LegacySystem)mockLegacy);
! Object[] params = mockLegacy.expect("setDisplayListener").getAllParams();
! displayListener = (LegacyDisplayListener)params[0];
}
@Override
***************
*** 50,59 ****
/**
! * Tests that when the legacy system fires and event to it's only
! * legacy listener, all listeners on the sysUnderTest that were added
! * receive the event. No matter what the threading model, this test
! * will pass since expect call will wait until the event happens. If
! * the event never happens, the expectCall will timeout and throw an
! * ExpectFailedException claiming it never got the event.
*
* @showcode
--- 46,51 ----
/**
! * Tests when the legacy system fires a display update event,
! * that our system display is updated
*
* @showcode
***************
*** 62,75 ****
*/
public void testBasicListener() {
! sysUnderTest.addLegacyListener((LegacySystemListener)mockListener1);
! sysUnderTest.addLegacyListener((LegacySystemListener)mockListener2);
! //have legacy system fire event to it's one and only listener
! legacyListener.legacyEventOccurred(5);
! mockListener1.expect("legacyEventOccurred");
! mockListener2.expect("legacyEventOccurred");
}
}
--- 54,80 ----
*/
public void testBasicListener() {
! String display="fakeSet";
! displayListener.updateDisplay(display);
! //verify it was updated
! assertEquals(display, sysUnderTest.getDisplay());
! //fire another one for fun
! String display2 = "fakeSet2222";
! displayListener.updateDisplay(display2);
! assertEquals(display2, sysUnderTest.getDisplay());
}
+ /**
+ * This test makes sure there are no bugs when two
+ * clear events are fired from the legacy system
+ *
+ */
+ public void testTwoClearEvents() {
+ //if either of these throw an exception, JUnit will
+ //fail the test for me....
+ displayListener.clearDisplay();
+ displayListener.clearDisplay();
+ }
}
--- LegacySystemListener.java DELETED ---
Index: SysUnderTest.java
===================================================================
RCS file: /cvsroot/mocklib/mocklib3/input/javasrc/biz/xsoftware/examples/listener/SysUnderTest.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** SysUnderTest.java 10 Sep 2006 18:25:47 -0000 1.1
--- SysUnderTest.java 11 Sep 2006 00:34:10 -0000 1.2
***************
*** 1,55 ****
- /*
- * Created on Jul 3, 2004
- *
- * To change the template for this generated file go to
- * Window - Preferences - Java - Code Generation - Code and Comments
- */
package biz.xsoftware.examples.listener;
- import javax.swing.event.EventListenerList;
-
- /**
- * The SysUnderTest here is an adapter to a legacy system. The SysUnderTest
- * might be on a different thread or the same thread. For events from
- * a legacy system, the SysUnderTest alot of the time may be on a different
- * thread listening on some socket to the legacy system.
- *
- * @author Dean Hiller
- */
public class SysUnderTest {
! private EventListenerList listenerList = new EventListenerList();
! private LegacySystem legacySys;
public SysUnderTest(LegacySystem sys) {
! legacySys = sys;
! legacySys.setLegacyListener(new LegacyListener());
}
! private class LegacyListener implements LegacySystemListener {
! public void legacyEventOccurred(int i) {
! fireLegacyEvent(i);
}
}
!
!
! public void addLegacyListener(LegacySystemListener l) {
! listenerList.add(LegacySystemListener.class, l);
! }
! public void removeLegacyListener(LegacySystemListener l) {
! listenerList.remove(LegacySystemListener.class, l);
}
-
- protected void fireLegacyEvent(int num) {
- // Guaranteed to return a non-null array
- Object[] listeners = listenerList.getListenerList();
- // Process the listeners last to first, notifying
- // those that are interested in this event
- for (int i = listeners.length-2; i>=0; i-=2) {
- if (listeners[i]==LegacySystemListener.class) {
- // Lazily create the event:
- ((LegacySystemListener)listeners[i+1]).legacyEventOccurred(num);
- }
- }
- }
}
--- 1,26 ----
package biz.xsoftware.examples.listener;
public class SysUnderTest {
! private String currentDisplay = "";
public SysUnderTest(LegacySystem sys) {
! sys.setDisplayListener(new MyDisplayListener());
}
! private class MyDisplayListener implements LegacyDisplayListener {
!
! public void clearDisplay() {
! currentDisplay = "";
}
+
+ public void updateDisplay(String s) {
+ currentDisplay = s;
+ }
+
}
!
! public Object getDisplay() {
! return currentDisplay;
}
}
|