[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