Author: jsong
Date: Wed Jul 28 23:35:47 2004
New Revision: 30904

Added:
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/context/ServiceGetter.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/context/ServiceGetterImpl.jcs
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/contextevent/
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/contextevent/Recorder.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/contextevent/RecorderImpl.jcs
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/
   
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/controls/org/apache/beehive/controls/test/controls/extension/
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControlImpl.jcs
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty2.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty2Impl.jcs
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SinglePropertyImpl.jcs
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/context/GetServiceTest.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/contextevent/
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/contextevent/LifeCycleTest.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/
   
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/Event2Listener.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/ProgrammicTest.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/extension/
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/extension/SubControlTest.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ClientAccessTest.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ClientImplTest.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ImplAccessTest.java
Modified:
   incubator/beehive/trunk/controls/test/build.xml
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/context/ContextTest.java
Log:
update controls/test/build.xml, add servlet24.jar into classpath for building 
and running control tests;
add control for testing property, event, context, contextevent and extention;
add junit tests for testing property, event, context, contextevent and extion.



Modified: incubator/beehive/trunk/controls/test/build.xml
==============================================================================
--- incubator/beehive/trunk/controls/test/build.xml     (original)
+++ incubator/beehive/trunk/controls/test/build.xml     Wed Jul 28 23:35:47 2004
@@ -55,6 +55,7 @@
         <pathelement location="${tools.jar}"/>
         <pathelement location="${velocity14.jar}"/>
         <pathelement location="${velocitydep14.jar}"/>
+        <pathelement location="${servlet24.jar}"/>
         <pathelement path="../build/jars/controls.jar"/>
         <pathelement path="${build.beans}"/>
     </path>
@@ -171,6 +172,7 @@
           <pathelement path="${junit.jar}"/>
           <pathelement path="${velocity14.jar}"/>
           <pathelement path="${velocitydep14}.jar"/>
+          <pathelement path="${servlet24.jar}"/>
           <pathelement path="../build/jars/controls.jar"/>
           <pathelement location="${build.beans}" />
           <pathelement location="tools/milton/milton.jar"/>

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/context/ServiceGetter.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/context/ServiceGetter.java
     Wed Jul 28 23:35:47 2004
@@ -0,0 +1,13 @@
+package org.apache.beehive.controls.test.controls.context;
+
+import java.lang.annotation.Annotation;
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+/**
+ * A simple control that retrieve specific service
+ */
[EMAIL PROTECTED]
+public interface ServiceGetter
+{
+       public String getService(Class theService, Object selector);
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/context/ServiceGetterImpl.jcs
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/context/ServiceGetterImpl.jcs
  Wed Jul 28 23:35:47 2004
@@ -0,0 +1,29 @@
+package org.apache.beehive.controls.test.controls.context;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+
+/**
+ * A impl that retrieves specific service via controlContext
+ */
[EMAIL PROTECTED]
+public class ServiceGetterImpl implements ServiceGetter
+{ 
+
+       @Context ControlBeanContext context;
+
+       public String getService(Class theService, Object selector){
+               
+               Object obj=context.getService(theService, selector);
+               if (obj==null)
+                       return "-1";
+               else
+                       return "0";
+       }
+
+} 

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/contextevent/Recorder.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/contextevent/Recorder.java
     Wed Jul 28 23:35:47 2004
@@ -0,0 +1,13 @@
+package org.apache.beehive.controls.test.controls.contextevent;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+/**
+ * A simple control that record context event
+ */
+
[EMAIL PROTECTED]
+public interface Recorder
+{
+    public String getRecord();
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/contextevent/RecorderImpl.jcs
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/contextevent/RecorderImpl.jcs
  Wed Jul 28 23:35:47 2004
@@ -0,0 +1,60 @@
+package org.apache.beehive.controls.test.controls.contextevent;
+
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+import org.apache.beehive.controls.api.context.ResourceContext;
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.events.EventHandler;
+
+/**
+ * A simple control that listens to and record context events
+ * This impl listens to context event declaration
+ */
+
[EMAIL PROTECTED] 
+public class RecorderImpl implements Recorder
+{
+
+    private String event_log="init";
+    
+    @Context ControlBeanContext context;
+    @Context ResourceContext resourceContext;
+
+    @EventHandler(field="context", 
eventSet=ControlBeanContext.LifeCycle.class, eventName="onCreate")
+    public void onCreate()
+    {
+       System.out.println("+++++++++++++++++++++++++++++++++++++++++");
+        System.out.println("onCreate on SimpleControlImpl");
+        System.out.println("++++++++++++++++++++++++++++++++++++++++++");
+
+       event_log=event_log+"onCreate";
+    }
+
+    @EventHandler(field="resourceContext", 
eventSet=ResourceContext.ResourceEvents.class, eventName="onAcquire")
+    public void onAcquire()
+    {
+       System.out.println("+++++++++++++++++++++++++++++++++++++++++");
+        System.out.println("onAcquire on SimpleControlImpl");
+        System.out.println("++++++++++++++++++++++++++++++++++++++++++");
+       event_log=event_log+"onAcquire";
+    }
+
+    @EventHandler(field="resourceContext", 
eventSet=ResourceContext.ResourceEvents.class, eventName="onRelease")
+    public void onRelease()
+    {
+       System.out.println("+++++++++++++++++++++++++++++++++++++++++");
+        System.out.println("onRelease on SimpleControlImpl");
+        System.out.println("++++++++++++++++++++++++++++++++++++++++++");
+
+       event_log=event_log+"onRelease";
+    }
+
+    public String getRecord()
+    {
+       System.out.println("+++++++++++++++++++++++++++++++++++++++++");
+        System.out.println("method on SimpleControlImpl invoked");
+        System.out.println("++++++++++++++++++++++++++++++++++++++++++");
+        
+       return event_log;
+    }
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/Hello.java
       Wed Jul 28 23:35:47 2004
@@ -0,0 +1,35 @@
+package org.apache.beehive.controls.test.controls.event;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+import org.apache.beehive.controls.api.events.EventSet;
+
+/**
+ * This is a basic control that tests event support code generation and 
runtime behavior
+ * for ControlBeans.
+ */
[EMAIL PROTECTED]
+public interface Hello
+{
+
+    @EventSet
+    public interface EventSet0
+    {}
+
+
+    @EventSet
+    public interface EventSet1
+    {
+        public void method1();
+    }
+
+    @EventSet
+    public interface EventSet2
+    {
+        public void method1();
+        public int set2Method2();
+        public boolean set2OverloadedMethod();
+        public boolean set2OverloadedMethod(int anArg);
+    }
+
+    public void testEvents();
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/HelloImpl.jcs
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/event/HelloImpl.jcs
    Wed Jul 28 23:35:47 2004
@@ -0,0 +1,23 @@
+package org.apache.beehive.controls.test.controls.event;
+
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.events.Client;
+
[EMAIL PROTECTED]
+public class HelloImpl implements Hello
+{
+    @Client Hello.EventSet0 eventSet0;
+    @Client Hello.EventSet1 eventSet1;
+    @Client Hello.EventSet2 eventSet2;
+
+    public void testEvents() 
+    {
+        System.out.println("*********************************");
+        System.out.println("******    on the control   ******");
+        System.out.println("*********************************");
+
+        eventSet1.method1();
+
+        eventSet2.set2Method2();
+    }
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControl.java
       Wed Jul 28 23:35:47 2004
@@ -0,0 +1,26 @@
+package org.apache.beehive.controls.test.controls.extension;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import org.apache.beehive.controls.api.bean.ControlInterface;
+import org.apache.beehive.controls.api.properties.PropertySet;
+
+/**
+ * An control interface with one method declared
+ */
[EMAIL PROTECTED]
+public interface ExtensibleControl
+{
+       static final String CURRENT_POSITION = "In_ExtensibleControl_Interface";
+       static final String CURRENT_LAYER = "On_ExtensibleControl_Layer";
+
+       @PropertySet
+       @Retention(RetentionPolicy.RUNTIME)
+       public @interface WhereAbout
+       {
+               String Position() default CURRENT_POSITION;
+               String Layer() default CURRENT_LAYER;
+    }
+
+    public String hello();
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControlImpl.jcs
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/ExtensibleControlImpl.jcs
    Wed Jul 28 23:35:47 2004
@@ -0,0 +1,26 @@
+package org.apache.beehive.controls.test.controls.extension;
+
+import java.lang.reflect.Method;
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.bean.Extensible;
+
+/**
+ * An impl of ExtensibleControl. By implementing Extensible, this impl allow
+ * extending by other control impl
+ */
+
[EMAIL PROTECTED] 
+public class ExtensibleControlImpl implements ExtensibleControl, Extensible
+{
+
+    public String hello()
+    {
+       return "Hello from super control";
+    }
+    
+    public Object invoke(Method m, Object[] args)throws Throwable
+    {
+       return null;
+    }
+    
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControl.java
      Wed Jul 28 23:35:47 2004
@@ -0,0 +1,31 @@
+package org.apache.beehive.controls.test.controls.extension;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import org.apache.beehive.controls.api.bean.ControlExtension;
+import org.apache.beehive.controls.api.properties.PropertySet;
+
+/**
+ * A sub control extending the extensible control with one new method declared.
+ * Reset on of the property value.
+ * Will access another property in subcontrol impl
+ *
+ * This sub control also declare a new propertySet
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](Layer="On_SubControl_Interface_Layer")
+public interface SubControl extends ExtensibleControl
+{
+
+    static final String A_MESSAGE = "New Property Declared by Sub Control";
+
+       @PropertySet
+       @Retention(RetentionPolicy.RUNTIME)
+       public @interface NewProperty
+       {
+               String Message() default A_MESSAGE;
+    }
+
+    public String hello2();
+    public String accessInheritedProperty();
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/extension/SubControlImpl.jcs
   Wed Jul 28 23:35:47 2004
@@ -0,0 +1,28 @@
+package org.apache.beehive.controls.test.controls.extension;
+
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.bean.Extensible;
+
+/**
+ * The impl of a sub control with one new method declared
+ */
[EMAIL PROTECTED] 
+public class SubControlImpl extends ExtensibleControlImpl implements SubControl
+{
+    @Context ControlBeanContext context;
+
+    public String hello2()
+    {
+       return "Hello from subcontrol";
+    }
+
+    public String accessInheritedProperty()
+    {
+        /**Bug: could not refer to WhereAbout directly*/
+        ExtensibleControl.WhereAbout 
where=(ExtensibleControl.WhereAbout)context.getControlPropertySet(ExtensibleControl.WhereAbout.class);
+        
+        return where.Position();    
+    }
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty.java
 Wed Jul 28 23:35:47 2004
@@ -0,0 +1,26 @@
+package org.apache.beehive.controls.test.controls.properties;
+
+import java.lang.annotation.Annotation;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import org.apache.beehive.controls.api.bean.ControlInterface;
+import org.apache.beehive.controls.api.properties.PropertySet;
+
+/**
+ * Hello control interface with one propertySet declared
+ * HelloImpl access propertySet in sayHello method
+ */
[EMAIL PROTECTED]
+public interface SingleProperty
+{
+       static final String GREET_DEFAULT = "Hello";
+
+       @PropertySet
+       @Retention(RetentionPolicy.RUNTIME)
+       public @interface Greeting
+       {
+               String GreetWord() default GREET_DEFAULT;
+    }
+
+       public String sayHello();
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty2.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty2.java
        Wed Jul 28 23:35:47 2004
@@ -0,0 +1,27 @@
+package org.apache.beehive.controls.test.controls.properties;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Annotation;
+import org.apache.beehive.controls.api.bean.ControlInterface;
+import org.apache.beehive.controls.api.properties.PropertySet;
+
+/**
+ * Hello2 control interface with one propertySet declared
+ * Hello2Impl does not access propertySet.
+ * Client of HelloBean will access propertySet
+ */
[EMAIL PROTECTED]
+public interface SingleProperty2
+{
+       static final String GREET_DEFAULT = "Hello";
+
+       @PropertySet
+       @Retention(RetentionPolicy.RUNTIME)
+       public @interface Greeting
+       {
+               String GreetWord() default GREET_DEFAULT;
+    }
+
+       public String sayHello();
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty2Impl.jcs
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SingleProperty2Impl.jcs
     Wed Jul 28 23:35:47 2004
@@ -0,0 +1,24 @@
+package org.apache.beehive.controls.test.controls.properties;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+
+/**
+ * Test objective: access propertySet from control client.
+ * The client of this control shall access propertySet.
+ */
+
[EMAIL PROTECTED]
+public class SingleProperty2Impl implements SingleProperty2
+{ 
+    @Context ControlBeanContext context;
+
+    public String sayHello()
+    {
+       return "Hello";
+    }
+
+} 

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SinglePropertyImpl.jcs
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/properties/SinglePropertyImpl.jcs
      Wed Jul 28 23:35:47 2004
@@ -0,0 +1,26 @@
+package org.apache.beehive.controls.test.controls.properties;
+
+import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.context.Context;
+import org.apache.beehive.controls.api.context.ControlBeanContext;
+
+/**
+ * Test objective: retrieve property from impl
+ */
+
[EMAIL PROTECTED]
+public class SinglePropertyImpl implements SingleProperty
+{ 
+    @Context ControlBeanContext context;
+
+    public String sayHello()
+    {
+       /**BUG: could not refer to Greeting directly*/
+        Greeting 
greeting=(SingleProperty.Greeting)context.getControlPropertySet(SingleProperty.Greeting.class);
+        
+        return greeting.GreetWord();
+    }
+
+} 
\ No newline at end of file

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/context/ContextTest.java
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/context/ContextTest.java
      (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/context/ContextTest.java
      Wed Jul 28 23:35:47 2004
@@ -6,7 +6,7 @@
 import java.beans.Beans;
 import org.apache.beehive.controls.api.bean.ControlBean;
 import org.apache.beehive.controls.test.controls.context.BaseContextBean;
-import org.apache.beehive.controls.test.driver.context.DriveBaseContextBean;
+import org.apache.beehive.controls.test.driver.context.BaseContextBeanDriver;
 
 import org.apache.beehive.test.tools.milton.common.Report;
 
@@ -34,7 +34,7 @@
     {
                BaseContextBean contextBean = 
(BaseContextBean)createTestBean("org.apache.beehive.controls.test.controls.context.BaseContextBean");
 
-               DriveBaseContextBean driver=new DriveBaseContextBean();
+               BaseContextBeanDriver driver=new BaseContextBeanDriver();
                Report report=driver.testSingleBean(contextBean);
 
         if (!Report.PASS.equals(report.getStatus()))
@@ -52,7 +52,7 @@
     {
                BaseContextBean contextBean = 
(BaseContextBean)createTestBean("org.apache.beehive.controls.test.controls.context.BaseContextBean");
 
-               DriveBaseContextBean driver=new DriveBaseContextBean();
+               BaseContextBeanDriver driver=new BaseContextBeanDriver();
                Report report=driver.testMultipleEvents(contextBean);
 
         if (!Report.PASS.equals(report.getStatus()))
@@ -70,7 +70,7 @@
     {
                BaseContextBean contextBean1 = 
(BaseContextBean)createTestBean("org.apache.beehive.controls.test.controls.context.BaseContextBean");
         BaseContextBean contextBean2 = 
(BaseContextBean)createTestBean("org.apache.beehive.controls.test.controls.context.BaseContextBean");
-               DriveBaseContextBean driver=new DriveBaseContextBean();
+               BaseContextBeanDriver driver=new BaseContextBeanDriver();
                Report 
report=driver.testParallelEvents(contextBean1,contextBean2);
 
         if (!Report.PASS.equals(report.getStatus()))

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/context/GetServiceTest.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/context/GetServiceTest.java
   Wed Jul 28 23:35:47 2004
@@ -0,0 +1,51 @@
+package org.apache.beehive.controls.test.java.context;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+
+import java.beans.Beans;
+import java.beans.beancontext.BeanContextServices;
+import org.apache.beehive.controls.api.bean.Control;
+import org.apache.beehive.controls.api.bean.ControlBean;
+import org.apache.beehive.controls.test.controls.context.ServiceGetterBean;
+
+import javax.servlet.ServletContext;
+
+import org.apache.beehive.test.tools.milton.common.Report;
+
+/**
+ * Test retrieving other service via context service
+ * ServiceGetter is the control that retrieves other service in its impl
+ */
+
+public class GetServiceTest extends TestCase
+{
+    public GetServiceTest( String s ) { super( s ); }
+
+    public void setUp() { }
+
+
+    @Control
+    public ServiceGetterBean serviceGetter;
+
+    /**
+     * Retrieves servlet service via context service
+     * In java environment, this should be "NULL"
+     */
+    public void testServletContext() throws Exception
+    {
+               String result=serviceGetter.getService(ServletContext.class, 
null);
+               Assert.assertEquals(result,"-1");
+       }
+
+    /**
+     * Retrieves BeanContextServices via context service
+     * In java environment, this should be "0"
+     */
+    public void testBeanContextServices() throws Exception
+    {
+               String 
result=serviceGetter.getService(BeanContextServices.class, null);
+               Assert.assertEquals(result,"0");
+       }
+
+}

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/contextevent/LifeCycleTest.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/contextevent/LifeCycleTest.java
       Wed Jul 28 23:35:47 2004
@@ -0,0 +1,43 @@
+package org.apache.beehive.controls.test.java.contextevent;
+
+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.contextevent.RecorderBean;
+
+
+/**
+ * This class listens to and records control's life cycle events
+ */
+
+public class LifeCycleTest extends TestCase
+{
+       /*
+        * RecorderImpl listens to an record life cycle event
+        */
+    @Control
+    public RecorderBean myRecorder;
+
+    public LifeCycleTest(String s) { super(s); }
+
+    /**
+     * Retrieves the life cycle events recorded by RecordImpl
+     */
+    public void testRecordFromImpl() throws Exception
+    {
+               String record=myRecorder.getRecord();
+               Assert.assertEquals(record,"onCreateonInstantiate");
+    }
+
+    /**
+     * Registers and records life cycle events in bean instance
+     */
+    public void testRecordFromBeanInstance() throws Exception
+    {
+
+
+    }
+
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/DeclareTest.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/DeclareTest.java
        Wed Jul 28 23:35:47 2004
@@ -0,0 +1,187 @@
+package org.apache.beehive.controls.test.java.event;
+
+import java.io.File;
+import java.io.RandomAccessFile;
+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.HelloBean;
+import org.apache.beehive.controls.api.events.EventHandler;
+
+/**
+ * This class tests receiving control events by declaration
+ */
+
+public class DeclareTest extends TestCase
+{
+       public final static String LOG_FILE_METHOD1="test_method1.log";
+       public final static String LOG_FILE_METHOD2="test_method2.log";
+
+    @Control
+    public HelloBean myHelloBean;
+
+    public DeclareTest(String s) { super(s); }
+
+
+    @EventHandler (field="myHelloBean", eventSet= HelloBean.EventSet1.class,
+                                   eventName="set1Method1")
+     public void myHelloBeanMessageHandler()
+     {
+        // Code implementing onMessage event handler
+        System.out.println("***************************************");
+        System.out.println("event receive! nothing received");
+        System.out.println("***************************************");
+
+        RandomAccessFile log=null;
+        try{
+               log=new RandomAccessFile(LOG_FILE_METHOD1,"rw");
+                       log.writeChars("0");
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+
+               }
+               finally{
+                       if (log!=null){
+                               try{
+                                       log.close();
+                                       }
+                               catch(Exception e2){}
+                       }
+               }
+     }
+
+
+
+    @EventHandler (field="myHelloBean", eventSet= HelloBean.EventSet2.class,
+                                   eventName="set2Method2")
+     public void myHelloBeanMessageHandler(int i)
+     {
+        // Code implementing onMessage event handler
+        
System.out.println("***************************************************");
+        System.out.println("event receive! int is received"+String.valueOf(i));
+        
System.out.println("***************************************************");
+        RandomAccessFile log=null;
+        try{
+               log=new RandomAccessFile(LOG_FILE_METHOD2,"rw");
+                       log.writeChars(String.valueOf(i));
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+
+               }
+               finally{
+                       if (log!=null){
+                               try{
+                                       log.close();
+                                       }
+                               catch(Exception e2){}
+                       }
+               }
+
+     }
+
+
+    /**
+     * 1. Delete the file that might exist
+     * 2. Invoke a method on a control and wait for the event
+     */
+    public void testInvokeEvent() throws Exception
+    {
+               File f=null;
+               try{
+                       f=new File(LOG_FILE_METHOD1);
+                       if (f.exists()){
+                               boolean delete_result=f.delete();
+                               if(!delete_result)
+                                       fail(f.getAbsolutePath()+"could not be 
deleted");
+
+                       }
+                       f=new File(LOG_FILE_METHOD2);
+                       if (f.exists()){
+                               boolean delete_result=f.delete();
+                               if(!delete_result)
+                                       fail(f.getAbsolutePath()+"could not be 
deleted");
+
+                       }
+
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+               }
+               finally{f=null;}
+
+        System.out.println("*********************************");
+        System.out.println("******    event invoked    ******");
+        System.out.println("*********************************");
+
+               try{
+                   myHelloBean.testEvents();
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail("exception caught");
+               }
+    }
+
+    /**
+     * Check a log file and see if the event is received
+     */
+    public void testMethod1Event() throws Exception
+    {
+               RandomAccessFile log=null;
+               try{
+                       log=new RandomAccessFile(LOG_FILE_METHOD1,"r");
+                       String s=log.readLine();
+                       if (!s.equals("0"))
+                               fail("Log file:"+s);
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+               }
+               finally{
+                       if (log!=null){
+                               try{
+                                       log.close();
+                               }
+                               catch(Exception e2){}
+
+                       }
+               }
+    }
+
+
+    /**
+     * Check a log file and see if the event is received
+     */
+    public void testMethod2Event() throws Exception
+    {
+               RandomAccessFile log=null;
+               try{
+                       log=new RandomAccessFile(LOG_FILE_METHOD2,"r");
+                       String s=log.readLine();
+                       if (!s.equals("100"))
+                               fail("Log file:"+s);
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+               }
+               finally{
+                       if (log!=null){
+                               try{
+                                       log.close();
+                               }
+                               catch(Exception e2){}
+
+                       }
+               }
+
+    }
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/Event2Listener.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/Event2Listener.java
     Wed Jul 28 23:35:47 2004
@@ -0,0 +1,43 @@
+package org.apache.beehive.controls.test.java.event;
+
+import java.io.File;
+import java.io.RandomAccessFile;
+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;
+
+
+/**
+ * Implements Hello.EventSet2
+ */
+public class Event2Listener implements Hello.EventSet2
+{
+       private String method1Result="";
+       private String method2Result="";
+       private String overloadMethod1="";
+       private String overloadMethod2="";
+
+
+    public void method1(){
+               //do something at here
+       }
+    public int set2Method2(){
+               //do something at here
+               return 0;
+       }
+    public boolean set2OverloadedMethod(){
+               //do something at here
+               return true;
+       }
+    public boolean set2OverloadedMethod(int anArg){
+               //do something at here
+               return true;
+       }
+
+       public String getAllResult(){
+
+               return 
method1Result+method2Result+overloadMethod1+overloadMethod2;
+
+       }
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/ProgrammicTest.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/event/ProgrammicTest.java
     Wed Jul 28 23:35:47 2004
@@ -0,0 +1,145 @@
+package org.apache.beehive.controls.test.java.event;
+
+import java.io.File;
+import java.io.RandomAccessFile;
+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;
+import org.apache.beehive.controls.api.events.EventHandler;
+
+/**
+ * This class tests listening to control events programmically
+ */
+
+public class ProgrammicTest extends TestCase
+{
+       public final static String LOG_FILE_METHOD1="test_method1.log";
+       public final static String LOG_FILE_METHOD2="test_method2.log";
+
+    @Control
+    public HelloBean myHelloBean;
+
+    public ProgrammicTest(String s) { super(s); }
+
+
+
+    /**
+     * 1. Deletes the file that might exist
+     * 2. Adds a listeners to myHelloBean;
+     * 3. Invokes the method myHelloBean that will trigger the event1 and 
event2
+     */
+    public void testInvokeEvent1() throws Exception
+    {
+               File f=null;
+               try{
+                       f=new File(LOG_FILE_METHOD1);
+                       if (f.exists()){
+                               boolean delete_result=f.delete();
+                               if(!delete_result)
+                                       fail(f.getAbsolutePath()+"could not be 
deleted");
+
+                       }
+                       f=new File(LOG_FILE_METHOD2);
+                       if (f.exists()){
+                               boolean delete_result=f.delete();
+                               if(!delete_result)
+                                       fail(f.getAbsolutePath()+"could not be 
deleted");
+
+                       }
+
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+               }
+               finally{f=null;}
+
+        System.out.println("*********************************");
+        System.out.println("******    event invoked    ******");
+        System.out.println("*********************************");
+
+
+               Event2Listener event2listener=new Event2Listener();
+
+               try{
+
+                       myHelloBean.addEventSet1Listener(
+                       new Hello.EventSet1()
+                       {
+                               public void method1()
+                               {
+                               // Code implementing on Message event handler
+                               }
+
+                        });
+
+                       myHelloBean.addEventSet2Listener(event2listener);
+
+                   myHelloBean.testEvents();
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+               }
+    }
+
+    /**
+     * Checks a log file and verifies event1
+     */
+    public void testMethod1Event() throws Exception
+    {
+               RandomAccessFile log=null;
+               try{
+                       log=new RandomAccessFile(LOG_FILE_METHOD1,"r");
+                       String s=log.readLine();
+                       if (!s.equals("100"))
+                               fail("Log file:"+s);
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+               }
+               finally{
+                       if (log!=null){
+                               try{
+                                       log.close();
+                               }
+                               catch(Exception e2){}
+
+                       }
+               }
+
+    }
+
+    /**
+     * Checks a log file and verifies event2
+     */
+    public void testMethod2Event() throws Exception
+    {
+               RandomAccessFile log=null;
+               try{
+                       log=new RandomAccessFile(LOG_FILE_METHOD2,"r");
+                       String s=log.readLine();
+                       if (!s.equals("100"))
+                               fail("Log file:"+s);
+               }
+               catch(Exception e){
+                       e.printStackTrace();
+                       fail(e.toString());
+               }
+               finally{
+                       if (log!=null){
+                               try{
+                                       log.close();
+                               }
+                               catch(Exception e2){}
+
+                       }
+               }
+
+    }
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/extension/SubControlTest.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/extension/SubControlTest.java
 Wed Jul 28 23:35:47 2004
@@ -0,0 +1,149 @@
+package org.apache.beehive.controls.test.java.extension;
+
+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.extension.SubControlBean;
+
+/**
+ * Instantiates a subcontrol and invokes the methods on it.
+ */
+public class SubControlTest extends TestCase
+{
+
+    public SubControlTest(String name) throws Exception
+    {super(name);}
+
+    @Control
+    public SubControlBean subcontrol;
+
+    /**
+     * Invokes a method inherited by the subcontrol
+     */
+    public void testInheritedMethod() throws Exception
+    {
+               String s=subcontrol.hello();
+               Assert.assertEquals(s,"Hello from super control");
+
+    }
+
+    /**
+     * Invokes a method inherited by the subcontrol.
+     * The subcontrol is instantiated programmically
+     */
+    public void testInheritedMethod2() throws Exception
+    {
+               SubControlBean 
sub=(SubControlBean)java.beans.Beans.instantiate( 
Thread.currentThread().getContextClassLoader() ,
+                               
"org.apache.beehive.controls.test.controls.extension.SubControlBean");
+
+               Assert.assertNotNull(sub);
+               Assert.assertEquals(sub.hello(),"Hello from super control");
+    }
+
+    /**
+     * Invokes a method declared on the subcontrol
+     */
+    public void testExtendedMethod() throws Exception
+    {
+               String s=subcontrol.hello2();
+               Assert.assertEquals(s,"Hello from subcontrol");
+
+    }
+
+    /**
+     * Invokes a method declared on the subcontrol
+     * The subcontrol is instantiated programmically
+     */
+    public void testExtendedMethod2() throws Exception
+    {
+               SubControlBean 
sub=(SubControlBean)java.beans.Beans.instantiate( 
Thread.currentThread().getContextClassLoader() ,
+                               
"org.apache.beehive.controls.test.controls.extension.SubControlBean");
+
+               Assert.assertNotNull(sub);
+               Assert.assertEquals(sub.hello2(),"Hello from subcontrol");
+
+    }
+
+    /**
+     * Access the propertySet declared on ExtensibleControl in SubControlImpl
+     * The subcontrol is instantiated declaratively
+     */
+    public void testInheritedProperty() throws Exception
+    {
+               String s=subcontrol.accessInheritedProperty();
+               Assert.assertEquals(s,"In_ExtensibleControl_Interface");
+
+    }
+
+    /**
+     * Access the propertySet declared on ExtensibleControl in SubControlImpl
+     * The subcontrol is instantiated programmatically
+     */
+    public void testInheritedProperty2() throws Exception
+    {
+               SubControlBean 
sub=(SubControlBean)java.beans.Beans.instantiate( 
Thread.currentThread().getContextClassLoader() ,
+                               
"org.apache.beehive.controls.test.controls.extension.SubControlBean");
+
+               Assert.assertNotNull(sub);
+               
Assert.assertEquals(sub.accessInheritedProperty(),"In_ExtensibleControl_Interface");
+
+    }
+
+    /** BUG: getter/setter in generated bean class is busted! comment out all 
tests using getter/setter*/
+
+    /**
+     * Access the property declared on ExtensibleControl but reset on 
SubControl IF
+     * The subcontrol is instantiated declaratively
+     *
+    public void testResetProperty() throws Exception
+    {
+               String s=subcontrol.getWhereAboutLayer();
+               Assert.assertEquals(s,"On_SubControl_Interface_Layer");
+
+    }
+
+    /**
+     * Access the property declared on ExtensibleControl but reset on 
SubControl IF
+     * The subcontrol is instantiated programmatically
+     *
+    public void testResetProperty2() throws Exception
+    {
+               SubControlBean 
sub=(SubControlBean)java.beans.Beans.instantiate( 
Thread.currentThread().getContextClassLoader() ,
+                               
"org.apache.beehive.controls.test.controls.extension.SubControlBean");
+
+               Assert.assertNotNull(sub);
+               
Assert.assertEquals(sub.getWhereAboutLayer(),"On_SubControl_Interface_Layer");
+
+    }
+
+    /**
+     * Access the property declared SubControl IF
+     * The subcontrol is instantiated declaratively
+     *
+    public void testNewProperty() throws Exception
+    {
+               String s=subcontrol.getNewPropertyMessage();
+               Assert.assertEquals(s,"New Property Declared by Sub Control");
+
+    }
+
+    /**
+     * Access the property declared on SubControl IF
+     * The subcontrol is instantiated programmatically
+     *
+    public void testNewProperty2() throws Exception
+    {
+               SubControlBean 
sub=(SubControlBean)java.beans.Beans.instantiate( 
Thread.currentThread().getContextClassLoader() ,
+                               
"org.apache.beehive.controls.test.controls.extension.SubControlBean");
+
+               Assert.assertNotNull(sub);
+               Assert.assertEquals(sub.getNewPropertyMessage(),"New Property 
Declared by Sub Control");
+
+    }
+
+       */
+
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ClientAccessTest.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ClientAccessTest.java
        Wed Jul 28 23:35:47 2004
@@ -0,0 +1,50 @@
+package org.apache.beehive.controls.test.properties;
+
+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.properties.SingleProperty2Bean;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+import org.apache.beehive.test.tools.milton.common.Report;
+
+/**
+ * This class tests accessing propertySet from control client
+ */
+
+public class ClientAccessTest extends TestCase
+{
+    public ClientAccessTest( String s ) { super( s ); }
+
+    @Control
+    public SingleProperty2Bean myControl;
+
+       /** BUG: getter/setter in generated bean is busted. comment out all 
tests using getter/setter*/
+
+    /**
+     * SingleProperty2 declares a propertySet, this method shall access this 
propertySet
+     * SingleProperty2Bean is instantiate by declaration
+     *
+    public void testHelloImpByDeclare() throws Exception
+    {
+
+               String s=myControl.getGreetingGreetWord();
+               Assert.assertEquals("Hello",s);
+    }
+
+    /**
+     * SingleProperty2 declares a propertySet, this method shall access this 
propertySet
+     * SingleProperty2Bean is instantiate by program
+     *
+    public void testHelloImpByProgram() throws Exception
+    {
+               Report report =new Report();
+               SingleProperty2Bean 
sbean=(SingleProperty2Bean)Beans.instantiate(Thread.currentThread().getContextClassLoader(),
+                                 
"org.apache.beehive.controls.test.controls.properties.SingleProperty2Bean");
+
+               String s=sbean.getGreetingGreetWord();
+               Assert.assertEquals("Hello",s);
+    }
+       */
+}

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ClientImplTest.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ClientImplTest.java
  Wed Jul 28 23:35:47 2004
@@ -0,0 +1,59 @@
+package org.apache.beehive.controls.test.properties;
+
+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.properties.SinglePropertyBean;
+
+import org.apache.beehive.test.tools.milton.common.Report;
+
+/**
+ * This class tests accessing propertySet from impl and client
+ */
+
+public class ClientImplTest extends TestCase
+{
+    public ClientImplTest( String s ) { super( s ); }
+
+    @Control
+    public SinglePropertyBean myControl;
+
+
+       /**BUG: getter/setter in generated bean is busted comment out all tests 
using getter/setter*/
+
+    /**
+     * SinglePropertyImpl retrievs PropertySet in its sayHello method.
+     * This method reset the propertySet value by client access;
+     * and invokes SinglePropertyBean.sayHello(), which should return the new 
value
+     * This method instantiates HelloBean by declaration
+     *
+    public void testHelloImpByDeclare() throws Exception
+    {
+
+               myBean.setGreetingGreetWord("Good morning!");
+               String s=myControl.sayHello();
+               Assert.assertEquals("Good morning!",s);
+    }
+
+    /**
+     * SinglePropertyImpl retrievs PropertySet in its sayHello method.
+     * Invokes SinglePropertyBean.sayHello() should return the PropertySet
+     * declared on Hello.java
+     * This method instantiates HelloBean by program
+     *
+    public void testHelloImpByProgram() throws Exception
+    {
+               Report report =new Report();
+               SinglePropertyBean 
sbean=(SinglePropertyBean)Beans.instantiate(Thread.currentThread().getContextClassLoader(),
+                                 
"org.apache.beehive.controls.test.controls.properties.SingleProperty");
+               hbean.setGreetingGreetWord("Good morning!");
+               String s=sbean.sayHello();
+               Assert.assertEquals("Good morning!",s);
+    }
+
+    */
+
+}

Added: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ImplAccessTest.java
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/property/ImplAccessTest.java
  Wed Jul 28 23:35:47 2004
@@ -0,0 +1,55 @@
+package org.apache.beehive.controls.test.properties;
+
+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.properties.SinglePropertyBean;
+
+import junit.framework.Assert;
+import junit.framework.TestCase;
+import org.apache.beehive.test.tools.milton.common.Report;
+
+/**
+ * This class tests accessing propertySet from impl
+ */
+
+public class ImplAccessTest extends TestCase
+{
+    public ImplAccessTest( String s ) { super( s ); }
+
+    @Control
+    public SinglePropertyBean myControl;
+
+
+    /**
+     * SinglePropertyImpl retrievs PropertySet in its sayHello method.
+     * Invokes SinglePropertyBean.sayHello() should return the PropertySet
+     * declared on Hello.java
+     * This method instantiates HelloBean by declaration
+     */
+    public void testHelloImpByDeclare() throws Exception
+    {
+               /*
+               Report report =new Report();
+               Assert.assertEquals(report.getStatus(), Report.PASS);
+               */
+               String s=myControl.sayHello();
+               Assert.assertEquals("Hello",s);
+    }
+
+    /**
+     * SinglePropertyImpl retrievs PropertySet in its sayHello method.
+     * Invokes SinglePropertyBean.sayHello() should return the PropertySet
+     * declared on Hello.java
+     * This method instantiates SinglePropertyBean by program
+     */
+    public void testHelloImpByProgram() throws Exception
+    {
+               Report report =new Report();
+               SinglePropertyBean 
sbean=(SinglePropertyBean)Beans.instantiate(Thread.currentThread().getContextClassLoader(),
+                                 
"org.apache.beehive.controls.test.controls.properties.SinglePropertyBean");
+               String s=sbean.sayHello();
+               Assert.assertEquals("Hello",s);
+    }
+
+}
\ No newline at end of file

Reply via email to