Author: jsong
Date: Fri Jan 21 15:39:28 2005
New Revision: 125984

URL: http://svn.apache.org/viewcvs?view=rev&rev=125984
Log:
Update tests for controls threading.

Added:
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/DefaultThreadControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/DefaultThreadControlImpl.jcs
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThread2Control.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThread2ControlImpl.jcs
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThread2Control.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThread2ControlImpl.jcs
   
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveDefaultThread.java
   
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread2.java
   
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveSingleThread2.java
Modified:
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThreadControl.java
   
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThreadControlImpl.jcs
   
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/MultiThreadTest.java
   
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/SingleThreadTest.java

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/DefaultThreadControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/DefaultThreadControl.java?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/DefaultThreadControl.java
    Fri Jan 21 15:39:28 2005
@@ -0,0 +1,17 @@
+package org.apache.beehive.controls.test.controls.threading;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+/**
+ * A control interface with two methods declared.
+ * This control interface is designed to test threading model of
+ * control framework.
+ */
+
[EMAIL PROTECTED]
+public interface DefaultThreadControl
+{
+
+    public int doGet();
+    public void doSet();
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/DefaultThreadControlImpl.jcs
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/DefaultThreadControlImpl.jcs?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/DefaultThreadControlImpl.jcs
 Fri Jan 21 15:39:28 2005
@@ -0,0 +1,40 @@
+package org.apache.beehive.controls.test.controls.threading;
+
+import java.lang.Thread;
+import java.lang.InterruptedException;
+import java.util.Date;
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.bean.Threading;
+import org.apache.beehive.controls.api.bean.ThreadingPolicy;
+
+/**
+ * An impl of DefaultThreadControl.
+ *
+ * Test objective: create an instance of this impl, have one thread
+ * invoke doGet, and another thread invoke doSet
+ *
+ */
[EMAIL PROTECTED]
+public class DefaultThreadControlImpl implements DefaultThreadControl
+{
+
+    public final static int LOOPS=100;
+    private int value=0;
+
+    public int doGet()
+    {
+       return value;
+    }
+
+    public void doSet()
+    {
+       for(int i=0;i<LOOPS;i++){
+           for(int j=0;j<900000;j++){
+               String str="new String";
+           }
+
+           value=i;
+       }
+    }
+    
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThread2Control.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThread2Control.java?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThread2Control.java
     Fri Jan 21 15:39:28 2005
@@ -0,0 +1,17 @@
+package org.apache.beehive.controls.test.controls.threading;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+/**
+ * A control interface with two methods declared.
+ * This control interface is designed to test threading model of
+ * control framework.
+ */
+
[EMAIL PROTECTED]
+public interface MultiThread2Control
+{
+
+    public int doGet();
+    public void doSet();
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThread2ControlImpl.jcs
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThread2ControlImpl.jcs?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThread2ControlImpl.jcs
  Fri Jan 21 15:39:28 2005
@@ -0,0 +1,41 @@
+package org.apache.beehive.controls.test.controls.threading;
+
+import java.lang.Thread;
+import java.lang.InterruptedException;
+import java.util.Date;
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.bean.Threading;
+import org.apache.beehive.controls.api.bean.ThreadingPolicy;
+
+/**
+ * An impl of MultiThread2Control.
+ *
+ * Test objective: create an instance of this impl, have one thread
+ * invoke doGet, and another thread invoke doSet
+ *
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](ThreadingPolicy.MULTI_THREADED)
+public class MultiThread2ControlImpl implements MultiThread2Control
+{
+
+    public final static int LOOPS=100;
+    private int value=0;
+
+    public int doGet()
+    {
+       return value;
+    }
+
+    public void doSet()
+    {
+       for(int i=0;i<LOOPS;i++){
+           for(int j=0;j<900000;j++){
+               String str="new String";
+           }
+
+           value=i;
+       }
+    }
+    
+}

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThreadControl.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThreadControl.java?view=diff&rev=125984&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThreadControl.java&r1=125983&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThreadControl.java&r2=125984
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThreadControl.java
      (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/MultiThreadControl.java
      Fri Jan 21 15:39:28 2005
@@ -13,7 +13,7 @@
 {
        public final static String METHOD1="method1";
        public final static String METHOD2="method2";
-       public final static long EXPECTED_DELAY=10;
+       public final static long EXPECTED_DELAY=150;
 
     public long method1();
     public long method2();

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThread2Control.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThread2Control.java?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThread2Control.java
    Fri Jan 21 15:39:28 2005
@@ -0,0 +1,17 @@
+package org.apache.beehive.controls.test.controls.threading;
+
+import org.apache.beehive.controls.api.bean.ControlInterface;
+
+/**
+ * A control interface with two methods declared.
+ * This control interface is designed to test threading model of
+ * control framework.
+ */
+
[EMAIL PROTECTED]
+public interface SingleThread2Control
+{
+
+    public int doGet();
+    public void doSet();
+}

Added: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThread2ControlImpl.jcs
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThread2ControlImpl.jcs?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThread2ControlImpl.jcs
 Fri Jan 21 15:39:28 2005
@@ -0,0 +1,41 @@
+package org.apache.beehive.controls.test.controls.threading;
+
+import java.lang.Thread;
+import java.lang.InterruptedException;
+import java.util.Date;
+import org.apache.beehive.controls.api.bean.ControlImplementation;
+import org.apache.beehive.controls.api.bean.Threading;
+import org.apache.beehive.controls.api.bean.ThreadingPolicy;
+
+/**
+ * An impl of SignleThread2Control.
+ *
+ * Test objective: create an instance of this impl, have one thread
+ * invoke doGet, and another thread invoke doSet
+ *
+ */
[EMAIL PROTECTED]
[EMAIL PROTECTED](ThreadingPolicy.SINGLE_THREADED)
+public class SingleThread2ControlImpl implements SingleThread2Control
+{
+
+    public final static int LOOPS=100;
+    private int value=0;
+
+    public int doGet()
+    {
+       return value;
+    }
+
+    public void doSet()
+    {
+       for(int i=0;i<LOOPS;i++){
+           for(int j=0;j<900000;j++){
+               String str="new String";
+           }
+
+           value=i;
+       }
+    }
+    
+}

Modified: 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThreadControlImpl.jcs
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThreadControlImpl.jcs?view=diff&rev=125984&p1=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThreadControlImpl.jcs&r1=125983&p2=incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThreadControlImpl.jcs&r2=125984
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThreadControlImpl.jcs
  (original)
+++ 
incubator/beehive/trunk/controls/test/src/controls/org/apache/beehive/controls/test/controls/threading/SingleThreadControlImpl.jcs
  Fri Jan 21 15:39:28 2005
@@ -4,7 +4,8 @@
 import java.lang.InterruptedException;
 import java.util.Date;
 import org.apache.beehive.controls.api.bean.ControlImplementation;
-//import org.apache.beehive.controls.api.bean.ThreadingModel;
+import org.apache.beehive.controls.api.bean.Threading;
+import org.apache.beehive.controls.api.bean.ThreadingPolicy;
 
 /**
  * An impl of HelloControl.
@@ -15,6 +16,7 @@
  *
  */
 @ControlImplementation
[EMAIL PROTECTED](ThreadingPolicy.SINGLE_THREADED)
 public class SingleThreadControlImpl implements SingleThreadControl
 {
     private long lastAccess=0;

Added: 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveDefaultThread.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveDefaultThread.java?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveDefaultThread.java
 Fri Jan 21 15:39:28 2005
@@ -0,0 +1,67 @@
+package org.apache.beehive.controls.test.driver.threading;
+
+
+import java.lang.Integer;
+import java.lang.Thread;
+import java.lang.InterruptedException;
+import 
org.apache.beehive.controls.test.controls.threading.DefaultThreadControl;
+import 
org.apache.beehive.controls.test.controls.threading.DefaultThreadControlBean;
+
+import org.apache.beehive.test.tools.milton.common.Report;
+
+public class DriveDefaultThread extends Thread
+{
+
+       public final static String GETTER="DriveDefaultThread-getter";
+       public final static String SETTER="DriveDefaultThread-setter";
+       public final static int LOOPS=95;
+
+    private DefaultThreadControlBean myControl;
+    private int records[]=new int[LOOPS];
+
+    public DriveDefaultThread(String name){
+               super(name);
+       }
+
+    public void setControl(DefaultThreadControlBean bean){
+               myControl=bean;
+       }
+
+
+    public void run() {
+
+           //int j=0;
+           if (getName().equals(GETTER)){
+
+               for(int i=0;i<LOOPS;i++){
+
+                       for(int j=0;j<900000;j++){
+                               String str="new String";
+                       }
+                   records[i]=myControl.doGet();
+                   //System.out.println(getName()+">>>>>"+records[i]+"<<<<<");
+                       }
+               }
+           else
+                       myControl.doSet();
+       }
+
+       public Report analyseRecord(){
+
+           Report report=new Report();
+       report.setStatus(Report.PASS);
+
+               for(int i=0;i<LOOPS;i++){
+
+                       if ((records[i]>0)&&(records[i]<99)){
+                               report.setStatus(Report.FAIL);
+                               report.setMessage("getter gets a value in the 
middle:"+Integer.toString(records[i]));
+                               break;
+                       }
+
+               }
+
+           return report;
+       }
+
+}

Modified: 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread.java?view=diff&rev=125984&p1=incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread.java&r1=125983&p2=incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread.java&r2=125984
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread.java
   (original)
+++ 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread.java
   Fri Jan 21 15:39:28 2005
@@ -9,7 +9,7 @@
 
 public class DriveMultiThread extends Thread
 {
-    public final static int LOOPS=3;
+    public final static int LOOPS=20;
     private MultiThreadControlBean myControl;
     private String method2invoke="";
     private long records[]=new long[LOOPS];

Added: 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread2.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread2.java?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveMultiThread2.java
  Fri Jan 21 15:39:28 2005
@@ -0,0 +1,65 @@
+package org.apache.beehive.controls.test.driver.threading;
+
+
+import java.lang.Integer;
+import java.lang.Thread;
+import java.lang.InterruptedException;
+import org.apache.beehive.controls.test.controls.threading.MultiThread2Control;
+import 
org.apache.beehive.controls.test.controls.threading.MultiThread2ControlBean;
+
+import org.apache.beehive.test.tools.milton.common.Report;
+
+public class DriveMultiThread2 extends Thread
+{
+
+       public final static String GETTER="DriveMultiThread2-getter";
+       public final static String SETTER="DriveMultiThread2-setter";
+       public final static int LOOPS=95;
+
+    private MultiThread2ControlBean myControl;
+    private int records[]=new int[LOOPS];
+
+    public DriveMultiThread2(String name){
+               super(name);
+       }
+
+    public void setControl(MultiThread2ControlBean bean){
+               myControl=bean;
+       }
+
+
+    public void run() {
+
+           //int j=0;
+           if (getName().equals(GETTER)){
+
+               for(int i=0;i<LOOPS;i++){
+
+                       for(int j=0;j<900000;j++){
+                               String str="new String";
+                       }
+                   records[i]=myControl.doGet();
+                   
//System.out.println(getName()+">>>>>>"+records[i]+"<<<<<<");
+                       }
+               }
+           else
+                       myControl.doSet();
+       }
+
+       public Report analyseRecord(){
+
+           Report report=new Report();
+       report.setStatus(Report.FAIL);
+       report.setMessage("No value in the middle is found.");
+
+               for(int i=0;i<LOOPS;i++){
+
+                       if ((records[i]>0)&&(records[i]<99)){
+                               report.setStatus(Report.PASS);
+                               report.setMessage("A value in the middle is 
found:"+Integer.toString(records[i]));
+                               break;
+                       }
+               }
+           return report;
+       }
+}
\ No newline at end of file

Added: 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveSingleThread2.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveSingleThread2.java?view=auto&rev=125984
==============================================================================
--- (empty file)
+++ 
incubator/beehive/trunk/controls/test/src/drivers/org/apache/beehive/controls/test/driver/threading/DriveSingleThread2.java
 Fri Jan 21 15:39:28 2005
@@ -0,0 +1,67 @@
+package org.apache.beehive.controls.test.driver.threading;
+
+
+import java.lang.Integer;
+import java.lang.Thread;
+import java.lang.InterruptedException;
+import 
org.apache.beehive.controls.test.controls.threading.SingleThread2Control;
+import 
org.apache.beehive.controls.test.controls.threading.SingleThread2ControlBean;
+
+import org.apache.beehive.test.tools.milton.common.Report;
+
+public class DriveSingleThread2 extends Thread
+{
+
+       public final static String GETTER="DriveSingleThread2-getter";
+       public final static String SETTER="DriveSingleThread2-setter";
+       public final static int LOOPS=95;
+
+    private SingleThread2ControlBean myControl;
+    private int records[]=new int[LOOPS];
+
+    public DriveSingleThread2(String name){
+               super(name);
+       }
+
+    public void setControl(SingleThread2ControlBean bean){
+               myControl=bean;
+       }
+
+
+    public void run() {
+
+           //int j=0;
+           if (getName().equals(GETTER)){
+
+               for(int i=0;i<LOOPS;i++){
+
+                       for(int j=0;j<900000;j++){
+                               String str="new String";
+                       }
+                   records[i]=myControl.doGet();
+                   //System.out.println(getName()+">>>>>"+records[i]+"<<<<<");
+                       }
+               }
+           else
+                       myControl.doSet();
+       }
+
+       public Report analyseRecord(){
+
+           Report report=new Report();
+       report.setStatus(Report.PASS);
+
+               for(int i=0;i<LOOPS;i++){
+
+                       if ((records[i]>0)&&(records[i]<99)){
+                               report.setStatus(Report.FAIL);
+                               report.setMessage("getter gets a value in the 
middle:"+Integer.toString(records[i]));
+                               break;
+                       }
+
+               }
+
+           return report;
+       }
+
+}

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/MultiThreadTest.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/MultiThreadTest.java?view=diff&rev=125984&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/MultiThreadTest.java&r1=125983&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/MultiThreadTest.java&r2=125984
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/MultiThreadTest.java
        (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/MultiThreadTest.java
        Fri Jan 21 15:39:28 2005
@@ -12,7 +12,10 @@
 import org.apache.beehive.controls.api.bean.ControlBean;
 import org.apache.beehive.controls.test.controls.threading.MultiThreadControl;
 import 
org.apache.beehive.controls.test.controls.threading.MultiThreadControlBean;
+import org.apache.beehive.controls.test.controls.threading.MultiThread2Control;
+import 
org.apache.beehive.controls.test.controls.threading.MultiThread2ControlBean;
 import org.apache.beehive.controls.test.driver.threading.DriveMultiThread;
+import org.apache.beehive.controls.test.driver.threading.DriveMultiThread2;
 
 import org.apache.beehive.test.tools.milton.common.Report;
 import org.apache.beehive.test.tools.mantis.annotations.tch.Freq;
@@ -51,7 +54,7 @@
                driver1.start();
                driver2.start();
 
-               try{Thread.sleep(MultiThreadControl.EXPECTED_DELAY*2+5);}
+               
try{Thread.sleep(MultiThreadControl.EXPECTED_DELAY*DriveMultiThread.LOOPS*2);}
                catch(InterruptedException e){}
 
                Report report1=driver1.analyseRecord();
@@ -60,5 +63,31 @@
                Assert.assertEquals(Report.PASS, report1.getStatus());
                Assert.assertEquals(Report.PASS, report2.getStatus());
     }
+
+    @Freq("checkin")
+    public void testMultiThread2() throws Exception
+    {
+
+               MultiThread2ControlBean 
sBean=(MultiThread2ControlBean)java.beans.Beans.instantiate(
+                       Thread.currentThread().getContextClassLoader() ,
+                       
"org.apache.beehive.controls.test.controls.threading.MultiThread2ControlBean");
+
+               DriveMultiThread2 driver1=new 
DriveMultiThread2(DriveMultiThread2.SETTER);
+               driver1.setControl(sBean);
+               DriveMultiThread2 driver2=new 
DriveMultiThread2(DriveMultiThread2.GETTER);
+               driver2.setControl(sBean);
+
+               driver1.start();
+               driver2.start();
+
+               try{Thread.sleep(1000);}
+               catch(InterruptedException e){}
+
+               Report report1=driver1.analyseRecord();
+               Report report2=driver2.analyseRecord();
+
+               Assert.assertEquals(Report.PASS, report2.getStatus());
+    }
+
 
 }

Modified: 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/SingleThreadTest.java
Url: 
http://svn.apache.org/viewcvs/incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/SingleThreadTest.java?view=diff&rev=125984&p1=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/SingleThreadTest.java&r1=125983&p2=incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/SingleThreadTest.java&r2=125984
==============================================================================
--- 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/SingleThreadTest.java
       (original)
+++ 
incubator/beehive/trunk/controls/test/src/units/org/apache/beehive/controls/test/java/threading/SingleThreadTest.java
       Fri Jan 21 15:39:28 2005
@@ -10,9 +10,15 @@
 import junit.framework.TestCase;
 
 import org.apache.beehive.controls.api.bean.ControlBean;
+import 
org.apache.beehive.controls.test.controls.threading.DefaultThreadControl;
+import 
org.apache.beehive.controls.test.controls.threading.DefaultThreadControlBean;
 import org.apache.beehive.controls.test.controls.threading.SingleThreadControl;
 import 
org.apache.beehive.controls.test.controls.threading.SingleThreadControlBean;
+import 
org.apache.beehive.controls.test.controls.threading.SingleThread2Control;
+import 
org.apache.beehive.controls.test.controls.threading.SingleThread2ControlBean;
+import org.apache.beehive.controls.test.driver.threading.DriveDefaultThread;
 import org.apache.beehive.controls.test.driver.threading.DriveSingleThread;
+import org.apache.beehive.controls.test.driver.threading.DriveSingleThread2;
 
 import org.apache.beehive.test.tools.milton.common.Report;
 import org.apache.beehive.test.tools.mantis.annotations.tch.Freq;
@@ -28,6 +34,30 @@
 
     public void setUp() { }
 
+    @Freq("detailed")
+    public void testDefaultThread() throws Exception
+    {
+
+               DefaultThreadControlBean 
sBean=(DefaultThreadControlBean)java.beans.Beans.instantiate(
+                       Thread.currentThread().getContextClassLoader() ,
+                       
"org.apache.beehive.controls.test.controls.threading.DefaultThreadControlBean");
+
+               DriveDefaultThread driver1=new 
DriveDefaultThread(DriveDefaultThread.SETTER);
+               driver1.setControl(sBean);
+               DriveDefaultThread driver2=new 
DriveDefaultThread(DriveDefaultThread.GETTER);
+               driver2.setControl(sBean);
+
+               driver1.start();
+               driver2.start();
+
+               try{Thread.sleep(1000);}
+               catch(InterruptedException e){}
+
+               Report report1=driver1.analyseRecord();
+               Report report2=driver2.analyseRecord();
+
+               Assert.assertEquals(Report.PASS, report2.getStatus());
+    }
 
     /**
      * Makes an instance of a single threaded control, passes it to two 
different
@@ -58,6 +88,31 @@
                Report report2=driver2.analyseRecord();
 
                Assert.assertEquals(Report.PASS, report1.getStatus());
+               Assert.assertEquals(Report.PASS, report2.getStatus());
+    }
+
+    @Freq("checkin")
+    public void testSingleThread2() throws Exception
+    {
+
+               SingleThread2ControlBean 
sBean=(SingleThread2ControlBean)java.beans.Beans.instantiate(
+                       Thread.currentThread().getContextClassLoader() ,
+                       
"org.apache.beehive.controls.test.controls.threading.SingleThread2ControlBean");
+
+               DriveSingleThread2 driver1=new 
DriveSingleThread2(DriveSingleThread2.SETTER);
+               driver1.setControl(sBean);
+               DriveSingleThread2 driver2=new 
DriveSingleThread2(DriveSingleThread2.GETTER);
+               driver2.setControl(sBean);
+
+               driver1.start();
+               driver2.start();
+
+               try{Thread.sleep(1000);}
+               catch(InterruptedException e){}
+
+               Report report1=driver1.analyseRecord();
+               Report report2=driver2.analyseRecord();
+
                Assert.assertEquals(Report.PASS, report2.getStatus());
     }
 

Reply via email to