[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