[jboss-svn-commits] JBL Code SVN: r19058 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Mar 18 15:06:57 EDT 2008


Author: mingjin
Date: 2008-03-18 15:06:57 -0400 (Tue, 18 Mar 2008)
New Revision: 19058

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java
Log:
JBRULES-946 created an integration test for this.
- LargeRuleBase.java: made static method public for reuse.
- LargeRuleBaseSerializationTest.java: testing for serializing a large rulebase.

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java	2008-03-18 19:00:57 UTC (rev 19057)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBase.java	2008-03-18 19:06:57 UTC (rev 19058)
@@ -165,7 +165,7 @@
 				+ (System.currentTimeMillis() - time));
 	}
 
-	private static String getHeader() {
+	public static String getHeader() {
 		return "package org.drools.test; \n " + "import org.drools.Person; \n "
 				+ "import org.drools.Cheese; \n "
 				+ "import org.drools.Cheesery; \n "
@@ -173,7 +173,7 @@
 				+ " global List list \n dialect 'mvel'\n  ";
 	}
 
-	private static String getTemplate1(String name, int status) {
+	public static String getTemplate1(String name, int status) {
 		return "rule 'match Person "
 				+ name
 				+ "' \n"

Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/LargeRuleBaseSerializationTest.java	2008-03-18 19:06:57 UTC (rev 19058)
@@ -0,0 +1,45 @@
+package org.drools.integrationtests;
+
+import org.drools.compiler.DrlParser;
+import org.drools.compiler.PackageBuilder;
+import org.drools.lang.descr.PackageDescr;
+import org.drools.rule.*;
+import org.drools.rule.Package;
+import org.drools.RuleBase;
+import org.drools.RuleBaseFactory;
+
+import java.io.StringReader;
+
+import junit.framework.TestCase;
+
+/**
+ * Created by IntelliJ IDEA. User: SG0521861 Date: Mar 18, 2008 Time: 1:22:50 PM To change this template use File |
+ * Settings | File Templates.
+ */
+public class LargeRuleBaseSerializationTest extends TestCase {
+    private static final int    RULE_COUNT  = 200;
+
+    public void testLargeRuleBase() throws Exception{
+        System.out.println("Generating "+RULE_COUNT+" rules");
+        StringBuilder   sb  = new StringBuilder(LargeRuleBase.getHeader());
+
+        for (int i = 0; i < RULE_COUNT; i++) {
+            sb.append(LargeRuleBase.getTemplate1("testRule"+i, i));
+        }
+        System.out.println("Parsing "+RULE_COUNT+" rules");
+        DrlParser ps = new DrlParser();
+        PackageDescr pkgDescr = ps.parse(new StringReader(sb.toString()));
+
+        PackageBuilder pkgBuilder = new PackageBuilder();
+        pkgBuilder.addPackage(pkgDescr);
+
+        Package pkg = pkgBuilder.getPackage();
+        RuleBase rb = RuleBaseFactory.newRuleBase();
+
+        rb.addPackage(pkg);
+
+        rb  = SerializationHelper.serializeObject(rb);
+
+    }
+
+}




More information about the jboss-svn-commits mailing list