Uploaded image for project: 'Drools'
  1. Drools
  2. DROOLS-5546

An accumulate with more than one binding is wrongly generated in the executable model

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Major Major
    • None
    • None
    • None
    • None
    • 2020 Week 31-33 (from Jul 27)
    • NEW
    • NEW

      Reproducer

       @Test
      public void testAccumulateWithManyBindings() {
          String str =
                  "import " + Person.class.getCanonicalName() + ";\n" +
                  "rule R when\n" +
                  "  accumulate (\n" +
                  "       Person($age : age, $name : name), $max : max( $name.length() ) " +
                  "         )" +
                  "then\n" +
                  "  insert($max);\n" +
                  "end";
      
          KieSession ksession = getKieSession( str );
      
          ksession.insert( new Person( "Mario", 40 ) );
          ksession.insert( new Person( "Mark", 40 ) );
          ksession.insert( new Person( "Luca", 40 ) );
      
          ksession.fireAllRules();
      
          List<Number> results = getObjectsIntoList(ksession, Number.class);
          assertEquals(1, results.size());
          assertEquals(5, results.get(0).intValue());
      }

              mfusco@redhat.com Mario Fusco
              mfusco@redhat.com Mario Fusco
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: