[jboss-svn-commits] JBL Code SVN: r26523 - 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
Wed May 13 22:18:54 EDT 2009


Author: mark.proctor at jboss.com
Date: 2009-05-13 22:18:54 -0400 (Wed, 13 May 2009)
New Revision: 26523

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
Log:
JBRULES-1948 Using declared facts and functions doesn't work
-Test passed, but added anyway.

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2009-05-14 02:17:06 UTC (rev 26522)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2009-05-14 02:18:54 UTC (rev 26523)
@@ -1134,7 +1134,47 @@
                       result.get( 1 ) );
 
     }
+    
+    public void testDeclaredFactAndFunction() throws Exception {
+        String rule = "package com.jboss.qa;\n";
+        rule += "global java.util.List list\n";
+        rule += "declare Address\n";
+        rule += "    street: String\n";
+        rule += "end\n";
+        rule += "function void myFunction() {\n";
+        rule += "}\n";
+        rule += "rule \"r1\"\n";
+        rule += "    dialect \"mvel\"\n";
+        rule += "when\n";
+        rule += "    Address()\n";
+        rule += "then\n";
+        rule += "    list.add(\"r1\");\n";
+        rule += "end\n";
 
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new StringReader( rule ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        StatefulSession session = ruleBase.newStatefulSession();
+
+        List list = new ArrayList();
+        session.setGlobal( "list", list );
+
+        FactType addressFact = ruleBase.getFactType("com.jboss.qa.Address" );
+        Object address = addressFact.newInstance();
+        session.insert( address );
+        session.fireAllRules();
+
+        list = (List) session.getGlobal( "list" );
+        assertEquals( 1, list.size() );
+
+        assertEquals( "r1",
+                      list.get( 0 ) );
+    }
+    
+
     public void testNullHandling() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_NullHandling.drl" ) ) );




More information about the jboss-svn-commits mailing list