Author: jsong
Date: Thu Jul 29 20:56:14 2004
New Revision: 30962
Added:
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/EventHandlerTest.java
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/ListenerTest.java
Removed:
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/DeclareTest.java
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/ProgrammicTest.java
Modified:
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/HelloImpl.jcs
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/Event2Listener.java
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/test.xml
Log:
update controls tests for event.
Modified:
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
==============================================================================
---
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
(original)
+++
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
Thu Jul 29 20:56:14 2004
@@ -30,5 +30,5 @@
public boolean set2OverloadedMethod(int anArg);
}
- public void testEvents();
+ public void triggerEvents();
}
Modified:
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/HelloImpl.jcs
==============================================================================
---
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/HelloImpl.jcs
(original)
+++
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/HelloImpl.jcs
Thu Jul 29 20:56:14 2004
@@ -13,14 +13,9 @@
@Client Hello.EventSet1 eventSet1;
@Client Hello.EventSet2 eventSet2;
- public void testEvents()
+ public void triggerEvents()
{
- System.out.println("*********************************");
- System.out.println("****** on the control ******");
- System.out.println("*********************************");
-
eventSet1.method1();
-
eventSet2.set2Method2();
}
}
Modified:
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/Event2Listener.java
==============================================================================
---
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/Event2Listener.java
(original)
+++
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/Event2Listener.java
Thu Jul 29 20:56:14 2004
@@ -33,6 +33,11 @@
return true;
}
+ public String getMethod2Result(){
+
+ return method2Result;
+ }
+
public String getAllResult(){
return
method1Result+method2Result+overloadMethod1+overloadMethod2;
Added:
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/EventHandlerTest.java
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/EventHandlerTest.java
Thu Jul 29 20:56:14 2004
@@ -0,0 +1,88 @@
+package org.apache.beehive.controls.test.java.event;
+
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+import java.beans.Beans;
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.api.bean.ControlBean;
+import org.apache.beehive.controls.api.events.EventHandler;
+import org.apache.beehive.controls.test.controls.event.HelloBean;
+
+/**
+ * A TestCase that tests receiving events from a control by @EventHandler
+ */
+public class EventHandlerTest extends TestCase
+{
+ private boolean event1Received=false;
+ private boolean event2Received=false;
+
+ /**
+ * A control that raises events
+ */
+ @Control
+ public HelloBean myHellobean;
+
+ public EventHandlerTest(String s) { super(s); }
+
+
+ /** EventHandler that receives EventSet1 from myHelloBean*/
+ @EventHandler (field="myHelloBean", eventSet= HelloBean.EventSet1.class,
+ eventName="method1")
+ public void myHelloBeanMessageHandler()
+ {
+ // Code implementing onMessage event handler
+ System.out.println("***************************************");
+ System.out.println("event receive! nothing received");
+ System.out.println("***************************************");
+
+ event1Received=true;
+ }
+
+
+ /** EventHandler that receives EventSet2 from myHelloBean*/
+ @EventHandler (field="myHelloBean", eventSet= HelloBean.EventSet2.class,
eventName="set2Method2")
+ public void myHelloBeanMessageHandler2()
+ {
+ // Code implementing onMessage event handler
+
System.out.println("***************************************************");
+ System.out.println("event2 receive!");
+
System.out.println("***************************************************");
+
+ event2Received=true;
+ }
+
+
+
+ /**
+ * 1. Delete the files that might exist
+ * 2. Invoke a method on the control and wait for the event
+ */
+ public void testHandlerReceiveEvents() throws Exception
+ {
+ Assert.assertNotNull(myHellobean);
+
+ System.out.println("*********************************");
+ System.out.println("****** event invoked ******");
+ System.out.println("*********************************");
+
+ /* Invokes the method on the control while will trigger the
events*/
+ try{
+ myHellobean.triggerEvents();
+
+ /*Wait for the events*/
+ Thread.currentThread().sleep(1000);
+
+ /*Verified result*/
+
+ Assert.assertEquals(event1Received,true);
+ Assert.assertEquals(event2Received,true);
+
+ }
+ catch(Exception e){
+ e.printStackTrace();
+ fail("exception caught");
+ }
+ }
+
+}
\ No newline at end of file
Added:
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/ListenerTest.java
==============================================================================
--- (empty file)
+++
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/ListenerTest.java
Thu Jul 29 20:56:14 2004
@@ -0,0 +1,114 @@
+package org.apache.beehive.controls.test.java.event;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+import java.beans.Beans;
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.api.bean.ControlBean;
+import org.apache.beehive.controls.test.controls.event.Hello;
+import org.apache.beehive.controls.test.controls.event.HelloBean;
+
+/**
+ * A Testcase that tests receiving events from a control with an inner class or
+ * an instance of listener class.
+ */
+public class ListenerTest extends TestCase
+{
+
+ private boolean innerClassReceiveEvent_declare=false;
+ private boolean innerClassReceiveEvent_program=false;
+
+ /**
+ * A control that raises events
+ */
+ @Control
+ public HelloBean myHellobean;
+
+ public ListenerTest(String s) { super(s); }
+
+ /**
+ * 1. Instantiates a control bean programmatically;
+ * 2. Registers two event listeners to the bean instance;
+ * 3. Invokes the method on the bean instance that triggers the event1 and
event2
+ */
+ public void testListenerReceiveEventsProgram() throws Exception
+ {
+
+ try{
+
+ HelloBean
hellobean=(HelloBean)java.beans.Beans.instantiate(
Thread.currentThread().getContextClassLoader() ,
+
"org.apache.beehive.controls.test.controls.event.HelloBean");
+ /*Register an inner class as listener for event1*/
+ hellobean.addEventSet1Listener(
+ new Hello.EventSet1()
+ {
+ public void method1()
+ {
+ innerClassReceiveEvent_program=true;
+ }
+
+ });
+
+ /* Creates a listener for event2 and register it*/
+ Event2Listener event2listener=new Event2Listener();
+ hellobean.addEventSet2Listener(event2listener);
+
+ /* Invokes methods on myHelloBean to trigger the
events*/
+ hellobean.triggerEvents();
+
+ /*Wait for the events*/
+ Thread.currentThread().sleep(1000);
+
+ /*Verified result*/
+
Assert.assertEquals(innerClassReceiveEvent_program,true);
+
Assert.assertEquals(event2listener.getMethod2Result(),"0");
+
+ }
+ catch(Exception e){
+ e.printStackTrace();
+ fail(e.toString());
+ }
+ }
+
+ /**
+ * 1. Instantiates a control bean by declaration;
+ * 2. Registers two event listeners to the bean instance;
+ * 3. Invokes the method on the bean instance that triggers the event1 and
event2
+ */
+ public void testListenerReceiveEventsDeclare() throws Exception
+ {
+ Assert.assertNotNull(myHellobean);
+ try{
+ /*Register an inner class as listener for event1*/
+ myHellobean.addEventSet1Listener(
+ new Hello.EventSet1()
+ {
+ public void method1()
+ {
+ innerClassReceiveEvent_declare=true;
+ }
+ });
+
+ /* Creates a listener for event2 and register it*/
+ Event2Listener event2listener=new Event2Listener();
+ myHellobean.addEventSet2Listener(event2listener);
+
+ /* Invokes methods on myHelloBean to trigger the
events*/
+ myHellobean.triggerEvents();
+
+ /*Wait for the events*/
+ Thread.currentThread().sleep(1000);
+
+ /*Verified result*/
+
+
Assert.assertEquals(innerClassReceiveEvent_declare,true);
+
Assert.assertEquals(event2listener.getMethod2Result(),"0");
+
+ }
+ catch(Exception e){
+ e.printStackTrace();
+ fail(e.toString());
+ }
+ }
+
+}
\ No newline at end of file
Modified:
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/test.xml
==============================================================================
---
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/test.xml
(original)
+++
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/test.xml
Thu Jul 29 20:56:14 2004
@@ -1,19 +1,19 @@
<project name="org.apache.beehive.controls.test.java.context"
default="org-apache-beehive-controls-test-java-context" >
<target name="org-apache-beehive-controls-test-java-context" >
<test-suite testunit="org-apache-beehive-controls-test-java-context" >
- <test name="Tests Receiving Events by EventHandler Tag"
timeoutSeconds="300" >
+ <test name="Tests Receiving Events by Listeners" timeoutSeconds="300" >
<test-metadata>
<freq>daily</freq>
<status>active</status>
</test-metadata>
- <junit
testclass="org.apache.beehive.controls.test.java.event.DeclareTest" />
+ <junit
testclass="org.apache.beehive.controls.test.java.event.ListenerTest" />
</test>
- <test name="Tests Receiving Events by Inner Class"
timeoutSeconds="300" >
+ <test name="Tests Receiving Events by EventHandlers"
timeoutSeconds="300" >
<test-metadata>
<freq>daily</freq>
<status>active</status>
</test-metadata>
- <junit
testclass="org.apache.beehive.controls.test.java.event.ProgrammicTest" />
+ <junit
testclass="org.apache.beehive.controls.test.java.event.EventHandlerTest" />
</test>
</test-suite>
</target>