[jboss-svn-commits] JBL Code SVN: r26195 - in labs/jbossrules/trunk/drools-compiler/src/test: resources/org/drools/integrationtests and 1 other directory.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Tue Apr 21 15:47:39 EDT 2009
Author: KrisVerlaenen
Date: 2009-04-21 15:47:39 -0400 (Tue, 21 Apr 2009)
New Revision: 26195
Added:
labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/HelloWorldTest.java
labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/Sample.drl
Log:
- added test failing MVEL debug mode
Added: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/HelloWorldTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/HelloWorldTest.java (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/HelloWorldTest.java 2009-04-21 19:47:39 UTC (rev 26195)
@@ -0,0 +1,70 @@
+package org.drools.integrationtests;
+
+import junit.framework.TestCase;
+
+import org.drools.KnowledgeBase;
+import org.drools.KnowledgeBaseFactory;
+import org.drools.Message;
+import org.drools.base.mvel.MVELDebugHandler;
+import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderError;
+import org.drools.builder.KnowledgeBuilderErrors;
+import org.drools.builder.KnowledgeBuilderFactory;
+import org.drools.builder.ResourceType;
+import org.drools.io.ResourceFactory;
+import org.drools.logger.KnowledgeRuntimeLogger;
+import org.drools.logger.KnowledgeRuntimeLoggerFactory;
+import org.drools.runtime.StatefulKnowledgeSession;
+
+/**
+ * This is a sample class to launch a rule.
+ */
+public class HelloWorldTest extends TestCase {
+
+ public void testHelloWorld() throws Exception {
+ // load up the knowledge base
+ KnowledgeBase kbase = readKnowledgeBase();
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
+ // go !
+ Message message = new Message();
+ message.setMessage("Hello World");
+ message.setStatus(Message.HELLO);
+ ksession.insert(message);
+ ksession.fireAllRules();
+ logger.close();
+ }
+
+ public void testHelloWorldDebug() throws Exception {
+ MVELDebugHandler.setDebugMode(true);
+ // load up the knowledge base
+ KnowledgeBase kbase = readKnowledgeBase();
+ StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession();
+ KnowledgeRuntimeLogger logger = KnowledgeRuntimeLoggerFactory.newFileLogger(ksession, "test");
+ // go !
+ Message message = new Message();
+ message.setMessage("Hello World");
+ message.setStatus(Message.HELLO);
+ ksession.insert(message);
+ ksession.fireAllRules();
+ logger.close();
+ }
+
+ private KnowledgeBase readKnowledgeBase() throws Exception {
+ KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
+ kbuilder.add(
+ ResourceFactory.newClassPathResource("Sample.drl", HelloWorldTest.class),
+ ResourceType.DRL);
+ KnowledgeBuilderErrors errors = kbuilder.getErrors();
+ if (errors.size() > 0) {
+ for (KnowledgeBuilderError error: errors) {
+ System.err.println(error);
+ }
+ throw new IllegalArgumentException("Could not parse knowledge.");
+ }
+ KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
+ kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
+ return kbase;
+ }
+
+}
\ No newline at end of file
Added: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/Sample.drl
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/Sample.drl (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/Sample.drl 2009-04-21 19:47:39 UTC (rev 26195)
@@ -0,0 +1,22 @@
+package org.drools.integrationtests
+
+import org.drools.Message;
+
+dialect "mvel"
+
+rule "Hello World"
+ when
+ m : Message( status == Message.HELLO, myMessage : message )
+ then
+ System.out.println( myMessage );
+ m.setMessage( "Goodbye cruel world" );
+ m.setStatus( Message.GOODBYE );
+ update( m );
+end
+
+rule "GoodBye"
+ when
+ Message( status == Message.GOODBYE, myMessage : message )
+ then
+ System.out.println( myMessage );
+end
\ No newline at end of file
More information about the jboss-svn-commits
mailing list