[jboss-svn-commits] JBL Code SVN: r35073 - in labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools: testframework and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Sep 8 15:28:38 EDT 2010


Author: nheron
Date: 2010-09-08 15:28:38 -0400 (Wed, 08 Sep 2010)
New Revision: 35073

Modified:
   labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/Cheesery.java
   labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
Log:
https://jira.jboss.org/browse/GUVNOR-333
added Junit tests for ScenarioRunner

Modified: labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/Cheesery.java
===================================================================
--- labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/Cheesery.java	2010-09-08 19:20:37 UTC (rev 35072)
+++ labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/Cheesery.java	2010-09-08 19:28:38 UTC (rev 35073)
@@ -111,6 +111,9 @@
             this.age = age;
         }
 
+		public String getAge() {
+			return this.age;
+		}
         public boolean equals(Object obj) {
             if (obj instanceof Maturity) {
                 return age == ((Maturity)obj).age || age != null && age.equals(((Maturity)obj).age);
@@ -164,4 +167,18 @@
         }
         return false;
     }
+
+    
+    public void setTotalAmountToZero(){
+    	this.totalAmount=0;
+    }
+    public void addToTotalAmount(int toAdd){
+    	this.totalAmount = this.totalAmount+toAdd;
+    }
+    public void setGoodMaturity(Maturity m){
+    	this.maturity = m;
+    }
+    public void setAgeToMaturity(Maturity m,String age ){
+    	m.age = age;
+	}
 }

Modified: labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
===================================================================
--- labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2010-09-08 19:20:37 UTC (rev 35072)
+++ labs/jbossrules/trunk/drools-ide-common/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2010-09-08 19:28:38 UTC (rev 35073)
@@ -26,6 +26,7 @@
 
 import org.drools.Cheese;
 import org.drools.Cheesery;
+import org.drools.Cheesery.Maturity;
 import org.drools.OuterFact;
 import org.drools.Person;
 import org.drools.WorkingMemory;
@@ -35,6 +36,8 @@
 import org.drools.common.InternalRuleBase;
 import org.drools.common.InternalWorkingMemory;
 import org.drools.ide.common.client.modeldriven.testing.ActivateRuleFlowGroup;
+import org.drools.ide.common.client.modeldriven.testing.CallFieldValue;
+import org.drools.ide.common.client.modeldriven.testing.CallMethod;
 import org.drools.ide.common.client.modeldriven.testing.ExecutionTrace;
 import org.drools.ide.common.client.modeldriven.testing.Expectation;
 import org.drools.ide.common.client.modeldriven.testing.FactData;
@@ -1502,4 +1505,82 @@
         assertTrue(listChesse.getCheeses().contains(f3));
   
     }
+    public void testCallMethodNoArgumentOnFact() throws Exception {
+
+        ScenarioRunner runner = new ScenarioRunner( new Scenario(),
+                                                    null,
+                                                    new MockWorkingMemory() );
+        Cheesery listChesse = new Cheesery();
+        listChesse.setTotalAmount(1000);
+		runner.populatedData.put("cheese", listChesse);
+        CallMethod mCall = new CallMethod();
+        mCall.variable="cheese";
+        mCall.methodName="setTotalAmountToZero";
+        runner.executeMethodOnObject(mCall, listChesse);
+        assertTrue(listChesse.getTotalAmount()==0);
+    }
+    
+    public void testCallMethodOnStandardArgumentOnFact() throws Exception {
+
+        ScenarioRunner runner = new ScenarioRunner( new Scenario(),
+                                                    null,
+                                                    new MockWorkingMemory() );
+        Cheesery listChesse = new Cheesery();
+        listChesse.setTotalAmount(1000);
+		runner.populatedData.put("cheese", listChesse);
+        CallMethod mCall = new CallMethod();
+        mCall.variable="cheese";
+        mCall.methodName="addToTotalAmount";
+        CallFieldValue field = new CallFieldValue();
+        field.value="5";
+        mCall.addFieldValue(field);
+        runner.executeMethodOnObject(mCall, listChesse);
+        assertTrue(listChesse.getTotalAmount()==1005);
+    }
+    
+    public void testCallMethodOnClassArgumentOnFact() throws Exception {
+
+        ScenarioRunner runner = new ScenarioRunner( new Scenario(),
+                                                    null,
+                                                    new MockWorkingMemory() );
+        Cheesery listChesse = new Cheesery();
+        listChesse.setTotalAmount(1000);
+		runner.populatedData.put("cheese", listChesse);
+        Maturity m = new Maturity();
+        runner.populatedData.put( "m",
+                                  m );
+        CallMethod mCall = new CallMethod();
+        mCall.variable="cheese";
+        mCall.methodName="setGoodMaturity";
+        CallFieldValue field = new CallFieldValue();
+        field.value="=m";
+        mCall.addFieldValue(field);
+        runner.executeMethodOnObject(mCall, listChesse);
+        assertTrue(listChesse.getMaturity().equals(m));
+        assertTrue(listChesse.getMaturity()==m);
+    }
+    public void testCallMethodOnClassArgumentAndOnArgumentStandardOnFact() throws Exception {
+
+        ScenarioRunner runner = new ScenarioRunner( new Scenario(),
+                                                    null,
+                                                    new MockWorkingMemory() );
+        Cheesery listChesse = new Cheesery();
+        listChesse.setTotalAmount(1000);
+		runner.populatedData.put("cheese", listChesse);
+        Maturity m = new Maturity("veryYoung");
+        runner.populatedData.put( "m",
+                                  m );
+        CallMethod mCall = new CallMethod();
+        mCall.variable="cheese";
+        mCall.methodName="setAgeToMaturity";
+        CallFieldValue field = new CallFieldValue();
+        field.value="=m";
+        mCall.addFieldValue(field);
+        CallFieldValue field2 = new CallFieldValue();
+        field2.value="veryold";
+        mCall.addFieldValue(field2);
+        runner.executeMethodOnObject(mCall, listChesse);
+        assertTrue(m.getAge().equals("veryold"));
+    }
+    
 }



More information about the jboss-svn-commits mailing list