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