[jboss-svn-commits] JBL Code SVN: r18899 - in labs/jbossrules/trunk: drools-compiler/src/test/java/org/drools/lang and 2 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed Mar 12 15:56:55 EDT 2008


Author: tirelli
Date: 2008-03-12 15:56:55 -0400 (Wed, 12 Mar 2008)
New Revision: 18899

Added:
   labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl
Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java
   labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java
Log:
JBRULES-1459: adding test cases

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	2008-03-12 19:15:54 UTC (rev 18898)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/integrationtests/MiscTest.java	2008-03-12 19:56:55 UTC (rev 18899)
@@ -707,18 +707,18 @@
         rule += "then\n";
         rule += "    System.out.println(\"OK!\");\n";
         rule += "end";
-        
+
         final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new StringReader( rule ));
+        builder.addPackageFromDrl( new StringReader( rule ) );
         final Package pkg = builder.getPackage();
 
         final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage(pkg);
+        ruleBase.addPackage( pkg );
         final StatefulSession session = ruleBase.newStatefulSession();
         session.fireAllRules();
-        
-    }    
-    
+
+    }
+
     public void testMVELConsequenceWithMapsAndArrays() throws Exception {
         String rule = "package org.test;\n";
         rule += "import java.util.ArrayList\n";
@@ -735,22 +735,25 @@
         rule += "    System.out.println(m[\"content\"][0]);\n";
         rule += "    list.add(m[\"content\"][0]);\n";
         rule += "end";
-        
+
         final PackageBuilder builder = new PackageBuilder();
-        builder.addPackageFromDrl( new StringReader( rule ));
+        builder.addPackageFromDrl( new StringReader( rule ) );
         final Package pkg = builder.getPackage();
 
         final RuleBase ruleBase = getRuleBase();
-        ruleBase.addPackage(pkg);
+        ruleBase.addPackage( pkg );
         final StatefulSession session = ruleBase.newStatefulSession();
         List list = new ArrayList();
-        session.setGlobal( "list", list );
+        session.setGlobal( "list",
+                           list );
         session.fireAllRules();
-        
-        assertEquals( 1, list.size() );
-        assertEquals( "first", list.get( 0 ) );                        
-    }       
-    
+
+        assertEquals( 1,
+                      list.size() );
+        assertEquals( "first",
+                      list.get( 0 ) );
+    }
+
     public void testCell() throws Exception {
         final Cell cell1 = new Cell( 9 );
         final Cell cell = new Cell( 0 );
@@ -3052,9 +3055,9 @@
         final Cheese muzzarella2 = new Cheese( "muzzarella2",
                                                10 );
         final Cheese provolone = new Cheese( "provolone",
+                                             10 );
+        final Cheese provolone2 = new Cheese( "another cheese (provolone)",
                                               10 );
-        final Cheese provolone2 = new Cheese( "another cheese (provolone)",
-                                               10 );
         workingMemory.insert( stilton );
         workingMemory.insert( stilton2 );
         workingMemory.insert( agedStilton );
@@ -3067,7 +3070,7 @@
 
         workingMemory.fireAllRules();
 
-        System.out.println(list.toString());
+        System.out.println( list.toString() );
         assertEquals( 4,
                       list.size() );
 
@@ -3102,7 +3105,6 @@
         workingMemory.insert( stilton );
 
         workingMemory.fireAllRules();
-
         assertEquals( 1,
                       list.size() );
 
@@ -3110,6 +3112,30 @@
                       list.get( 0 ) );
     }
 
+    public void testMatchesMVEL() throws Exception {
+        final PackageBuilder builder = new PackageBuilder();
+        builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MatchesMVEL.drl" ) ) );
+        final Package pkg = builder.getPackage();
+
+        final RuleBase ruleBase = getRuleBase();
+        ruleBase.addPackage( pkg );
+        final StatefulSession session = ruleBase.newStatefulSession();
+
+        final List results = new ArrayList();
+        session.setGlobal( "results",
+                           results );
+
+        Map map = new HashMap();
+        map.put( "content",
+                 "hello ;=" );
+        session.insert( map );
+
+        session.fireAllRules();
+
+        assertEquals( 1,
+                      results.size() );
+    }
+
     public void testAutomaticBindingsErrors() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_AutoBindingsErrors.drl" ) ) );
@@ -3551,7 +3577,7 @@
             fail( "unexpected exception: " + e.getMessage() );
         }
     }
-    
+
     public void testMergePackageWithSameRuleNames() throws Exception {
         PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_MergePackageWithSameRuleNames1.drl" ) ) );
@@ -3575,7 +3601,6 @@
         assertEquals( "rule1 for the package2",
                       results.get( 0 ) );
     }
-    
 
     public void testRuleReplacement() throws Exception {
         // test rule replacement
@@ -4312,7 +4337,7 @@
         assertSame( order1.getStatus(),
                     list.get( 0 ) );
     }
-    
+
     public void testFromArrayIteration() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_FromArrayIteration.drl" ) ) );
@@ -4322,18 +4347,23 @@
 
         final WorkingMemory session = ruleBase.newStatefulSession();
         List list = new ArrayList();
-        
-        session.setGlobal( "list", list );
+
+        session.setGlobal( "list",
+                           list );
         session.insert( new DomainObjectHolder() );
-        
+
         session.fireAllRules();
-        
-        assertEquals( 3, list.size() );
-        
-        assertEquals( "Message3" , list.get(0));
-        assertEquals( "Message2" , list.get(1));
-        assertEquals( "Message1" , list.get(2));
-        
+
+        assertEquals( 3,
+                      list.size() );
+
+        assertEquals( "Message3",
+                      list.get( 0 ) );
+        assertEquals( "Message2",
+                      list.get( 1 ) );
+        assertEquals( "Message1",
+                      list.get( 2 ) );
+
     }
 
     public void testSubNetworks() throws Exception {
@@ -4553,8 +4583,8 @@
         assertEquals( "should not have fired",
                       0,
                       list.size() );
-    }    
-    
+    }
+
     public void testModifyRetractAndModifyInsert() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ModifyRetractInsert.drl" ) ) );
@@ -4580,7 +4610,7 @@
                       1,
                       list.size() );
     }
-    
+
     public void testModifyBlock() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
         builder.addPackageFromDrl( new InputStreamReader( getClass().getResourceAsStream( "test_ModifyBlock.drl" ) ) );
@@ -4596,18 +4626,20 @@
 
         Person bob = new Person( "Bob" );
         bob.setStatus( "hungry" );
-        
+
         Cheese c = new Cheese();
-        
+
         workingMemory.insert( bob );
         workingMemory.insert( c );
 
         workingMemory.fireAllRules();
-        
-        assertEquals( 10, c.getPrice() );
-        assertEquals( "fine", bob.getStatus() );
-    }    
 
+        assertEquals( 10,
+                      c.getPrice() );
+        assertEquals( "fine",
+                      bob.getStatus() );
+    }
+
     // this test requires mvel 1.2.19. Leaving it commented until mvel is released.
     public void testJavaModifyBlock() throws Exception {
         final PackageBuilder builder = new PackageBuilder();
@@ -4758,12 +4790,14 @@
 
         final List list = new ArrayList();
         session.setGlobal( "results",
-                                 list );
-        
-        Cheese cheese = new Cheese( "stilton", 10 );
+                           list );
+
+        Cheese cheese = new Cheese( "stilton",
+                                    10 );
         Cheesery cheesery = new Cheesery();
         cheesery.addCheese( cheese );
-        Person bob = new Person( "bob", "stilton" );
+        Person bob = new Person( "bob",
+                                 "stilton" );
         Cheese cheese2 = new Cheese();
         bob.setCheese( cheese2 );
 
@@ -4775,15 +4809,16 @@
         assertEquals( "should not have fired",
                       0,
                       list.size() );
-        
+
         cheese2.setType( "stilton" );
-        
-        session.update( p, bob );
+
+        session.update( p,
+                        bob );
         session.fireAllRules();
-        
+
         assertEquals( 1,
                       list.size() );
-        
+
     }
-    
+
 }

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java	2008-03-12 19:15:54 UTC (rev 18898)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/lang/MVELDumperTest.java	2008-03-12 19:56:55 UTC (rev 18899)
@@ -23,7 +23,7 @@
         super.tearDown();
     }
 
-    public void xxxtestDump() throws Exception {
+    public void testDump() throws Exception {
         String input = "Cheese( price > 10 && < 20 || == $val || == 30 )";
         String expected = "( ( price > 10 && price < 20 ) || price == $val || price == 30 )" ;
         DRLParser parser = parse( input );
@@ -59,7 +59,18 @@
         assertEquals( expected, result );
     }
 
-    
+    public void testDumpMatches3() throws Exception {
+        String input = "Map( this[\"content\"] matches \"hello ;=\" )";
+        String expected = "this[\"content\"] ~= \"hello ;=\"" ;
+        DRLParser parser = parse( input );
+        PatternDescr pattern = (PatternDescr) parser.fact( null );
+        
+        FieldConstraintDescr fieldDescr = (FieldConstraintDescr) pattern.getConstraint().getDescrs().get( 0 );
+        String result = dumper.dump( fieldDescr );
+        
+        assertEquals( expected, result );
+    }
+
     private DRLParser parse(final String text) throws Exception {
         return newParser( newTokenStream( newLexer( newCharStream( text ) ) ) );
     }

Copied: labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl (from rev 18898, labs/jbossrules/branches/4.0.x/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl)
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl	                        (rev 0)
+++ labs/jbossrules/trunk/drools-compiler/src/test/resources/org/drools/integrationtests/test_MatchesMVEL.drl	2008-03-12 19:56:55 UTC (rev 18899)
@@ -0,0 +1,12 @@
+package org.drools;
+
+import java.util.Map;
+
+global java.util.List results;
+
+rule "Matches mvel"
+when
+    Map( this["content"] matches "hello ;=" )
+then
+    results.add( "OK" );
+end
\ No newline at end of file

Modified: labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java
===================================================================
--- labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java	2008-03-12 19:15:54 UTC (rev 18898)
+++ labs/jbossrules/trunk/drools-core/src/test/java/org/drools/base/EvaluatorFactoryTest.java	2008-03-12 19:56:55 UTC (rev 18899)
@@ -103,7 +103,6 @@
                                  {Boolean.FALSE, "!=", "xyz", Boolean.FALSE},
                                  {Boolean.FALSE, "!=", "true", Boolean.TRUE},
                                  {Boolean.FALSE, "!=", "false", Boolean.FALSE}
-
         };
 
         runEvaluatorTest( data,
@@ -158,6 +157,10 @@
                                  {"foo", "matches", ".*foo", Boolean.TRUE},
                                  {"foo", "matches", "bar", Boolean.FALSE},
                                  {null, "matches", ".*foo", Boolean.FALSE},
+                                 {"something", "matches", "something", Boolean.TRUE},
+                                 {"something", "matches", "hello ;=", Boolean.FALSE},
+                                 {"something", "not matches", "something", Boolean.FALSE},
+                                 {"something", "not matches", "hello ;=", Boolean.TRUE},
                                  {"foo", "==", null, Boolean.FALSE},
                                  {"foo", "!=", null, Boolean.TRUE},
                                  {null, "==", null, Boolean.TRUE},




More information about the jboss-svn-commits mailing list