[jboss-svn-commits] JBL Code SVN: r26516 - labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Wed May 13 17:18:49 EDT 2009


Author: tirelli
Date: 2009-05-13 17:18:49 -0400 (Wed, 13 May 2009)
New Revision: 26516

Modified:
   labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java
Log:
JBRULES-2024: adding test case

Modified: labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java
===================================================================
--- labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java	2009-05-13 20:41:48 UTC (rev 26515)
+++ labs/jbossrules/trunk/drools-compiler/src/test/java/org/drools/rule/builder/dialect/java/JavaConsequenceBuilderTest.java	2009-05-13 21:18:49 UTC (rev 26516)
@@ -153,6 +153,54 @@
 
     }
 
+    public void testFixInsertCalls() {
+        String consequence = " System.out.println(\"this is a test\");\n " + 
+                             " insert( $cheese );\n " + 
+                             " if( true ) { \n " +
+                             "     insert($another); \n" +
+                             " } else { \n"+
+                             "     retract($oneMore); \n" +
+                             " } \n" +
+                             " // just in case, one more call: \n" +
+                             " insert( $abc );\n"
+                             ;
+        setupTest( consequence );
+        try {
+            JavaExprAnalyzer analyzer = new JavaExprAnalyzer();
+            JavaAnalysisResult analysis = (JavaAnalysisResult) analyzer.analyzeBlock( (String) ruleDescr.getConsequence(),
+                                                                                      new Map[]{} );
+
+            String fixed = builder.fixBlockDescr( context,
+                                                  analysis,
+                                                  (String) ruleDescr.getConsequence() );
+            fixed = new KnowledgeHelperFixer().fix( fixed );
+
+            String expected = " System.out.println(\"this is a test\");\n " + 
+                              " drools.insert( $cheese );\n " + 
+                              " if( true ) { \n " +
+                              "     drools.insert($another); \n" +
+                              " } else { \n"+
+                              "     drools.retract($oneMore); \n" +
+                              " } \n" +
+                              " // just in case, one more call: \n" +
+                              " drools.insert( $abc );\n"
+            ;
+
+//                        System.out.println( "=============================" );
+//                        System.out.println( ruleDescr.getConsequence() );
+//                        System.out.println( "=============================" );
+//                        System.out.println( fixed );
+            assertNotNull( context.getErrors().toString(),
+                           fixed );
+            assertEqualsIgnoreSpaces( expected,
+                                      fixed );
+
+        } catch ( RecognitionException e ) {
+            e.printStackTrace();
+        }
+
+    }
+
     private void assertEqualsIgnoreSpaces(String expected,
                                           String fixed) {
         assertEquals( expected.replaceAll( "\\s+",




More information about the jboss-svn-commits mailing list