[jboss-svn-commits] JBL Code SVN: r19339 - in labs/jbossrules/branches/mic_20080325/drools-compiler/src: main/java/org/drools/testframework and 1 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 31 08:43:56 EDT 2008


Author: michael.neale at jboss.com
Date: 2008-03-31 08:43:56 -0400 (Mon, 31 Mar 2008)
New Revision: 19339

Modified:
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
   labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
Log:
general fixes for testing QA - adding ability to check for existence of any fact in WM

Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java	2008-03-31 12:17:59 UTC (rev 19338)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/brms/client/modeldriven/testing/VerifyFact.java	2008-03-31 12:43:56 UTC (rev 19339)
@@ -17,18 +17,30 @@
     public String name;
     public String description;
 
+    /**
+     * This is true if it isn't a named fact, but it will just search working memory to verify.
+     */
+	public boolean anonymous = false;
 
+
     public VerifyFact() {}
-    public VerifyFact(String factName, List fieldValues) {
+    public VerifyFact(String factName, List fieldValues, boolean anonymous) {
         this.name = factName;
         this.fieldValues = fieldValues;
+        this.anonymous = anonymous;
     }
 
+    public VerifyFact(String factName, List fieldValues) {
+    	this(factName, fieldValues, false);
+    }
 
+
+
+
     public boolean wasSuccessful() {
         for (int i = 0; i < fieldValues.size(); i++) {
             VerifyField vf = (VerifyField) fieldValues.get(i);
-            if (! vf.successResult.booleanValue()) {
+            if (!vf.successResult.booleanValue()) {
                 return false;
             }
         }

Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java	2008-03-31 12:17:59 UTC (rev 19338)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/main/java/org/drools/testframework/ScenarioRunner.java	2008-03-31 12:43:56 UTC (rev 19339)
@@ -193,8 +193,29 @@
 
 	void verify(VerifyFact value) {
 
-		Object fact = this.populatedData.get(value.name);
-		if (fact == null) fact = this.globalData.get(value.name);
+
+		if (!value.anonymous) {
+			Object fact = this.populatedData.get(value.name);
+			if (fact == null) fact = this.globalData.get(value.name);
+			checkFact(value, fact);
+		} else {
+			Iterator obs = this.workingMemory.iterateObjects();
+			while(obs.hasNext()) {
+				Object fact = obs.next();
+				if (fact.getClass().getSimpleName().equals(value.name)) {
+					checkFact(value, fact);
+					if (value.wasSuccessful()) return;
+				}
+			}
+			for (Iterator iterator = value.fieldValues.iterator(); iterator.hasNext();) {
+				VerifyField vfl = (VerifyField) iterator.next();
+				vfl.successResult = Boolean.FALSE;
+				vfl.actualResult = "Not found";
+			}
+ 		}
+	}
+
+	private void checkFact(VerifyFact value, Object fact) {
 		for (int i = 0; i < value.fieldValues.size(); i++) {
 			VerifyField fld = (VerifyField) value.fieldValues.get(i);
 			Map<String, Object> st = new HashMap<String, Object>();
@@ -233,6 +254,8 @@
 		}
 	}
 
+
+
 	Object populateFields(FactData fact, Map<String, Object> factData, Object factObject) {
 		for (int i = 0; i < fact.fieldData.size(); i++) {
 			FieldData field = (FieldData) fact.fieldData.get(i);

Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java	2008-03-31 12:17:59 UTC (rev 19338)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/MockWorkingMemory.java	2008-03-31 12:43:56 UTC (rev 19339)
@@ -295,8 +295,7 @@
 	}
 
 	public Iterator iterateObjects() {
-		// TODO Auto-generated method stub
-		return null;
+		return this.facts.iterator();
 	}
 
 	public Iterator iterateObjects(ObjectFilter filter) {

Modified: labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java
===================================================================
--- labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2008-03-31 12:17:59 UTC (rev 19338)
+++ labs/jbossrules/branches/mic_20080325/drools-compiler/src/test/java/org/drools/testframework/ScenarioRunnerTest.java	2008-03-31 12:43:56 UTC (rev 19339)
@@ -232,6 +232,43 @@
 
     }
 
+    public void testVerifyAnonymousFacts() throws Exception {
+    	MockWorkingMemory wm = new MockWorkingMemory();
+        ScenarioRunner runner = new ScenarioRunner( new Scenario(),
+                null,
+                wm );
+
+        Cheese c = new Cheese();
+        c.setPrice(42);
+        c.setType("stilton");
+
+        wm.facts.add(c);
+
+        VerifyFact vf = new VerifyFact("Cheese", new ArrayList(), true);
+        vf.fieldValues.add(new VerifyField("price", "42", "=="));
+        vf.fieldValues.add(new VerifyField("type", "stilton", "=="));
+
+        runner.verify(vf);
+
+        assertTrue(vf.wasSuccessful());
+
+        vf = new VerifyFact("Person", new ArrayList(), true);
+        vf.fieldValues.add(new VerifyField("age", "42", "=="));
+
+        runner.verify(vf);
+
+        assertFalse(vf.wasSuccessful());
+
+        vf = new VerifyFact("Cheese", new ArrayList(), true);
+        vf.fieldValues.add(new VerifyField("price", "43", "=="));
+        vf.fieldValues.add(new VerifyField("type", "stilton", "=="));
+
+        runner.verify(vf);
+
+        assertFalse(vf.wasSuccessful());
+
+    }
+
     public void testVerifyFactsWithOperator() throws Exception {
         ScenarioRunner runner = new ScenarioRunner( new Scenario(),
                                                     null,




More information about the jboss-svn-commits mailing list