@Test public void testNullHandling() throws Exception { final KieBase kbase = loadKnowledgeBase("test_NullHandling.drl"); KieSession session = createKnowledgeSession(kbase); final List list = new ArrayList(); session.setGlobal("list", list); final Cheese nullCheese = new Cheese(null, 2); session.insert(nullCheese); final Person notNullPerson = new Person("shoes butt back"); notNullPerson.setBigDecimal(new BigDecimal("42.42")); session.insert(notNullPerson); Person nullPerson = new Person("whee"); nullPerson.setBigDecimal(null); session.insert(nullPerson); session = SerializationHelper.getSerialisedStatefulKnowledgeSession(session, true); session.fireAllRules(); //System.out.println(((List) session.getGlobal("list")).get(0)); assertEquals(3, ((List) session.getGlobal("list")).size()); nullPerson = new Person(null); session.insert(nullPerson); session.fireAllRules(); assertEquals(4, ((List) session.getGlobal("list")).size()); }
@Test public void testBigDecimalComparison() throws Exception { // JBRULES-3715 String str = "import org.drools.compiler.Person;\n" + "rule \"Big Decimal Comparison\"\n" + " dialect \"mvel\"\n" + "when\n" + " Person( bigDecimal == 0.0B )\n" + "then\n" + "end"; KieBase kbase = loadKnowledgeBaseFromString( str ); final KieSession ksession = kbase.newKieSession(); Person p = new Person( "Mario", 38 ); p.setBigDecimal( new BigDecimal( "0" ) ); ksession.insert( p ); assertEquals( 1, ksession.fireAllRules() ); ksession.dispose(); }
p1.setBigDecimal( new BigDecimal( 1 ) ); ksession1.insert( p1 ); p2.setBigDecimal( new BigDecimal( 1 ) ); ksession2.insert( p2 );
p1.setBigDecimal( new BigDecimal( "1.00" ) ); ksession1.insert( p1 ); p2.setBigDecimal( new BigDecimal( "1.00" ) ); ksession2.insert( p2 );
@Test public void testBigDecimalComparison() throws Exception { // JBRULES-3715 String str = "import org.drools.compiler.Person;\n" + "rule \"Big Decimal Comparison\"\n" + " dialect \"mvel\"\n" + "when\n" + " Person( bigDecimal == 0.0B )\n" + "then\n" + "end"; KnowledgeBase kbase = loadKnowledgeBaseFromString(str); final StatefulKnowledgeSession ksession = kbase.newStatefulKnowledgeSession(); Person p = new Person("Mario", 38); p.setBigDecimal(new BigDecimal("0")); ksession.insert(p); assertEquals(1, ksession.fireAllRules()); ksession.dispose(); }
@Test public void testNullHandling() throws Exception { KnowledgeBase kbase = loadKnowledgeBase( "test_NullHandling.drl" ); StatefulKnowledgeSession session = createKnowledgeSession( kbase ); final List list = new ArrayList(); session.setGlobal( "list", list ); final Cheese nullCheese = new Cheese( null, 2 ); session.insert( nullCheese ); final Person notNullPerson = new Person( "shoes butt back" ); notNullPerson.setBigDecimal( new BigDecimal( "42.42" ) ); session.insert( notNullPerson ); Person nullPerson = new Person( "whee" ); nullPerson.setBigDecimal( null ); session.insert( nullPerson ); session = SerializationHelper.getSerialisedStatefulKnowledgeSession( session, true ); session.fireAllRules(); //System.out.println(((List) session.getGlobal("list")).get(0)); assertEquals( 3, ((List) session.getGlobal( "list" )).size() ); nullPerson = new Person( null ); session.insert( nullPerson ); session.fireAllRules(); assertEquals( 4, ((List) session.getGlobal( "list" )).size() ); }