[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