Author: jsong
Date: Tue Jan 25 14:14:11 2005
New Revision: 126433

URL: http://svn.apache.org/viewcvs?view=rev&rev=126433
Log:
Adding test for EventSetInfo of controls packaging.

Added:
   
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DriveEventSetInfo.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/packaging/EventSetInfoTest.java
Modified:
   
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DrivePropertyInfo.java

Added: 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DriveEventSetInfo.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DriveEventSetInfo.java?view=auto&rev=126433
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DriveEventSetInfo.java
  Tue Jan 25 14:14:11 2005
@@ -0,0 +1,111 @@
+package org.apache.beehive.controls.test.driver.packaging;
+
+import java.lang.Class;
+import java.beans.BeanInfo;
+import java.beans.Introspector;
+import java.beans.EventSetDescriptor;
+import org.apache.beehive.controls.test.controls.event.HelloBean;
+import org.apache.beehive.test.tools.milton.common.Report;
+
+/* This class contains the logic to test EventSetInfo annotation of control 
packaging.
+ *
+ * PropertyInfo annotations on control interface shall be written into control 
beaninfo
+ * class during control packaging process.
+ * The tests in this class will get feature info from control beaninfo class in
+ * order to make sure this part of packaging process works fine.
+ */
+
+public class DriveEventSetInfo
+{
+
+       /*Gets class level feature info from HelloBeanBeanInfo class*/
+       public Report doGetEventSetInfo(){
+
+               Report report=new Report();
+               report.setStatus(Report.PASS);
+
+               try{
+                       BeanInfo 
beanInfo=Introspector.getBeanInfo(Class.forName(
+                               
"org.apache.beehive.controls.test.controls.event.HelloBean"));
+                       EventSetDescriptor[] 
descriptors=beanInfo.getEventSetDescriptors();
+
+                       //Find and inspect EventSet descriptor declared on 
HelloBean.
+                       EventSetDescriptor 
descriptor=findEventSet(descriptors,"eventSet0");
+
+                       if (descriptor==null){
+                               report.setStatus(Report.FAIL);
+                               report.setMessage("Could not find EventSet 
descriptor for 'eventSet0'.");
+                       }
+                       else{
+                               if (!descriptor.isInDefaultEventSet()){
+                                       report.setStatus(Report.FAIL);
+                                       report.setMessage("'eventSet0' is not 
default.");
+                               }
+                               else if (descriptor.isUnicast()){
+                                       report.setStatus(Report.FAIL);
+                                       report.setMessage("'eventSet0' is not 
unicast.");
+                               }
+
+                       }
+
+                       if (report.getStatus().equals(Report.PASS)){
+                               
descriptor=findEventSet(descriptors,"eventSet1");
+                               if (descriptor==null){
+                                       report.setStatus(Report.FAIL);
+                                       report.setMessage("Could not find 
property descriptor for 'eventSet1'.");
+                               }
+                               else{
+                                       if (!descriptor.isInDefaultEventSet()){
+                                               report.setStatus(Report.FAIL);
+                                               report.setMessage("'eventSet1' 
is not default.");
+                                       }
+                                       else if (descriptor.isUnicast()){
+                                               report.setStatus(Report.FAIL);
+                                               report.setMessage("'eventSet1' 
is not unicast.");
+                                       }
+                               }
+                       }
+
+                       if (report.getStatus().equals(Report.PASS)){
+                               
descriptor=findEventSet(descriptors,"eventSet2");
+                               if (descriptor==null){
+                                       report.setStatus(Report.FAIL);
+                                       report.setMessage("Could not find 
property descriptor for 'eventSet2'.");
+                               }
+                               else{
+                                       if (!descriptor.isInDefaultEventSet()){
+                                               report.setStatus(Report.FAIL);
+                                               report.setMessage("'eventSet2' 
is not default.");
+                                       }
+                                       else if (!descriptor.isUnicast()){
+                                               report.setStatus(Report.FAIL);
+                                               report.setMessage("'eventSet2' 
is not unicast.");
+                                       }
+                               }
+
+                       }
+
+               }
+               catch(Exception e){
+                       report.setStatus(Report.FAIL);
+                       report.setExceptionStack(e);
+               }
+
+               return report;
+
+       }
+
+       private EventSetDescriptor findEventSet(EventSetDescriptor[] 
array,String eventname){
+
+               EventSetDescriptor result=null;
+               for(int i=0;i<array.length;i++){
+                       result=array[i];
+                       if (result.getName().equals(eventname))
+                               break;
+                       else
+                               result=null;
+               }
+               return result;
+       }
+
+}

Modified: 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DrivePropertyInfo.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DrivePropertyInfo.java?view=diff&rev=126433&p1=incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DrivePropertyInfo.java&r1=126432&p2=incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DrivePropertyInfo.java&r2=126433
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DrivePropertyInfo.java
  (original)
+++ 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/packaging/DrivePropertyInfo.java
  Tue Jan 25 14:14:11 2005
@@ -30,7 +30,7 @@
                                
"org.apache.beehive.controls.test.controls.property.BoundPropertyControlBean"));
                        PropertyDescriptor[] 
descriptors=beanInfo.getPropertyDescriptors();
 
-                       //Find and inspect property descriptor for each 
property.
+                       //Find and inspect property descriptor declared on 
BoundPropertyControlBean.
                        PropertyDescriptor 
descriptor=findProperty(descriptors,"Brand");
 
                        if (descriptor==null){
@@ -137,6 +137,8 @@
                        result=array[i];
                        if (result.getName().equals(propertyname))
                                break;
+                       else
+                               result=null;
                }
                return result;
        }

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/packaging/EventSetInfoTest.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/packaging/EventSetInfoTest.java?view=auto&rev=126433
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/packaging/EventSetInfoTest.java
       Tue Jan 25 14:14:11 2005
@@ -0,0 +1,40 @@
+package org.apache.beehive.controls.test.java.packaging;
+
+import junit.framework.TestCase;
+import org.apache.beehive.controls.test.driver.packaging.DriveEventSetInfo;
+import org.apache.beehive.test.tools.milton.common.Report;
+import org.apache.beehive.test.tools.mantis.annotations.tch.Freq;
+
+
+/**
+ * A TestCase that tests controls PropertyInfo
+ *
+ * PropertyInfo annotation on control interface is saved into controlBeanInfo 
class
+ * when the control is packaged.
+ *
+ * The tests in this class get property info from controlBeanInfo class after 
the
+ * control is packaged into jar, in order to verify this part of control 
packaging
+ * process.
+ */
[EMAIL PROTECTED]("detailed")
+public class EventSetInfoTest extends TestCase
+{
+    public EventSetInfoTest( String s ) { super( s ); }
+
+    public void setUp() { }
+
+       /*Test getting FeatureInfo from ControlBeanInfo class*/
+       @Freq("detailed")
+    public void testGetEventSetInfo() throws Exception
+    {
+               DriveEventSetInfo driver=new DriveEventSetInfo();
+
+               Report report=driver.doGetEventSetInfo();
+
+               String result=report.getStatus();
+
+               if (result.equals(Report.FAIL))
+                       fail(report.getMessage());
+
+    }
+}

Reply via email to