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>

Reply via email to