[jboss-svn-commits] JBL Code SVN: r11573 - in labs/jbossrules/trunk/drools-compiler/src/test: resources/org/drools and 3 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue May 1 22:27:49 EDT 2007


Author: michael.neale at jboss.com
Date: 2007-05-01 22:27:49 -0400 (Tue, 01 May 2007)
New Revision: 11573

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/brms/
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/brms/server/
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/brms/server/util/
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/brms/server/util/existing_brxml.xml
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRXMLPersitenceTest.java
Log:
added test for BRXML backwards compatability

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRXMLPersitenceTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRXMLPersitenceTest.java	2007-05-02 01:34:12 UTC (rev 11572)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/brms/server/util/BRXMLPersitenceTest.java	2007-05-02 02:27:49 UTC (rev 11573)
@@ -1,5 +1,11 @@
 package org.drools.brms.server.util;
 
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.io.Reader;
+import java.io.StringReader;
+import java.io.StringWriter;
+
 import junit.framework.TestCase;
 
 import org.drools.brms.client.modeldriven.SuggestionCompletionEngine;
@@ -13,6 +19,7 @@
 import org.drools.brms.client.modeldriven.brxml.FactPattern;
 import org.drools.brms.client.modeldriven.brxml.RuleAttribute;
 import org.drools.brms.client.modeldriven.brxml.RuleModel;
+import org.drools.lang.DRLParser;
 
 public class BRXMLPersitenceTest extends TestCase {
 
@@ -84,6 +91,39 @@
 
     }
 
+    /**
+     * This will verify that we can load an old BRXML change. If this fails,
+     * then backwards compatability is broken.
+     */
+    public void testBackwardsCompat() throws Exception {
+        RuleModel m2 = BRXMLPersistence.getInstance().unmarshal( loadResource( "existing_brxml.xml" ) );
+        
+        assertNotNull(m2);
+        assertEquals(3, m2.rhs.length);
+    }
+    
+    private String loadResource(final String name) throws Exception {
+
+        //        System.err.println( getClass().getResource( name ) );
+        final InputStream in = getClass().getResourceAsStream( name );
+
+    
+        final Reader reader = new InputStreamReader( in );
+
+        final StringBuffer text = new StringBuffer();
+
+        final char[] buf = new char[1024];
+        int len = 0;
+
+        while ( (len = reader.read( buf )) >= 0 ) {
+            text.append( buf,
+                         0,
+                         len );
+        }
+
+        return text.toString();
+    }    
+
     private RuleModel getComplexModel() {
         final RuleModel m = new RuleModel();
 

Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/brms/server/util/existing_brxml.xml
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/brms/server/util/existing_brxml.xml	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/brms/server/util/existing_brxml.xml	2007-05-02 02:27:49 UTC (rev 11573)
@@ -0,0 +1,51 @@
+<rule>
+  <modelVersion>1.0</modelVersion>
+  <attributes>
+    <attribute>
+      <attributeName>no-loop</attributeName>
+      <value>true</value>
+    </attribute>
+  </attributes>
+  <lhs>
+    <fact>
+      <constraints>
+        <constraint>
+          <fieldBinding>f1</fieldBinding>
+          <fieldName>age</fieldName>
+          <operator>&lt;</operator>
+          <value>42</value>
+          <constraintValueType>0</constraintValueType>
+        </constraint>
+      </constraints>
+      <factType>Person</factType>
+      <boundName>p1</boundName>
+    </fact>
+    <compositePattern>
+      <type>not</type>
+      <patterns>
+        <fact>
+          <constraints/>
+          <factType>Cancel</factType>
+        </fact>
+      </patterns>
+    </compositePattern>
+  </lhs>
+  <rhs>
+    <modify>
+      <variable>p1</variable>
+      <fieldValues>
+        <fieldValue>
+          <field>status</field>
+          <value>rejected</value>
+          <type>String</type>
+        </fieldValue>
+      </fieldValues>
+    </modify>
+    <retract>
+      <variableName>p1</variableName>
+    </retract>
+    <dslSentence>
+      <sentence>Send an email to {administrator}</sentence>
+    </dslSentence>
+  </rhs>
+</rule>


Property changes on: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/brms/server/util/existing_brxml.xml
___________________________________________________________________
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list