Search in sources :

Example 96 with Cheese

use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.

the class FunctionsTest method testFunctionException.

@Test
public void testFunctionException() throws Exception {
    KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(this.getClass(), kieBaseTestConfiguration, "test_FunctionException.drl");
    KieSession ksession = kbase.newKieSession();
    final Cheese brie = new Cheese("brie", 12);
    ksession.insert(brie);
    try {
        ksession.fireAllRules();
        fail("Should throw an Exception from the Function");
    } catch (final Exception e) {
        Assertions.assertThat(e.getCause().getMessage()).contains("this should throw an exception");
    }
}
Also used : KieBase(org.kie.api.KieBase) KieSession(org.kie.api.runtime.KieSession) Cheese(org.drools.mvel.compiler.Cheese) Test(org.junit.Test)

Example 97 with Cheese

use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.

the class FunctionsTest method testFunctionWithPrimitives.

@Test
public void testFunctionWithPrimitives() throws Exception {
    KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(this.getClass(), kieBaseTestConfiguration, "test_FunctionWithPrimitives.drl");
    KieSession ksession = kbase.newKieSession();
    final List<Integer> list = new ArrayList<Integer>();
    ksession.setGlobal("list", list);
    final Cheese stilton = new Cheese("stilton", 5);
    ksession.insert(stilton);
    ksession.fireAllRules();
    assertEquals(new Integer(10), list.get(0));
}
Also used : KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) KieSession(org.kie.api.runtime.KieSession) Cheese(org.drools.mvel.compiler.Cheese) Test(org.junit.Test)

Example 98 with Cheese

use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.

the class IntegrationInterfacesTest method testChannels.

@Test
public void testChannels() throws IOException, ClassNotFoundException {
    KieBase kbase = getKnowledgeBase("test_Channels.drl");
    KieSession ksession = kbase.newKieSession();
    Channel someChannel = mock(Channel.class);
    ksession.registerChannel("someChannel", someChannel);
    ksession.insert(new Cheese("brie", 30));
    ksession.insert(new Cheese("stilton", 5));
    ksession.fireAllRules();
    verify(someChannel).send("brie");
    verify(someChannel, never()).send("stilton");
}
Also used : KieBase(org.kie.api.KieBase) Channel(org.kie.api.runtime.Channel) KieSession(org.kie.api.runtime.KieSession) Cheese(org.drools.mvel.compiler.Cheese) Test(org.junit.Test)

Example 99 with Cheese

use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.

the class IntegrationInterfacesTest method testGlobals.

@SuppressWarnings("unchecked")
@Test
public void testGlobals() throws Exception {
    final KieBase kbase = getKnowledgeBase("globals_rule_test.drl");
    KieSession ksession = kbase.newKieSession();
    final List<Object> list = mock(List.class);
    ksession.setGlobal("list", list);
    ksession.setGlobal("string", "stilton");
    final Cheese stilton = new Cheese("stilton", 5);
    ksession.insert(stilton);
    ksession = SerializationHelper.getSerialisedStatefulKnowledgeSession(ksession, true);
    ksession.fireAllRules();
    verify(list, times(1)).add(new Integer(5));
}
Also used : KieBase(org.kie.api.KieBase) KieSession(org.kie.api.runtime.KieSession) Cheese(org.drools.mvel.compiler.Cheese) Test(org.junit.Test)

Example 100 with Cheese

use of org.drools.mvel.compiler.Cheese in project drools by kiegroup.

the class MVELTest method testHelloWorld.

@Test
public void testHelloWorld() {
    // read in the source
    KieBase kbase = KieBaseUtil.getKieBaseFromClasspathResources(getClass(), kieBaseTestConfiguration, "test_mvel.drl");
    final KieSession ksession = kbase.newKieSession();
    final List list = new ArrayList();
    ksession.setGlobal("list", list);
    final List list2 = new ArrayList();
    ksession.setGlobal("list2", list2);
    final Cheese c = new Cheese("stilton", 10);
    ksession.insert(c);
    ksession.fireAllRules();
    assertEquals(2, list.size());
    assertEquals(BigInteger.valueOf(30), list.get(0));
    assertEquals(22, list.get(1));
    assertEquals("hello world", list2.get(0));
    final Date dt = DateUtils.parseDate("10-Jul-1974");
    assertEquals(dt, c.getUsedBy());
}
Also used : KieBase(org.kie.api.KieBase) ArrayList(java.util.ArrayList) StatelessKieSession(org.kie.api.runtime.StatelessKieSession) KieSession(org.kie.api.runtime.KieSession) ArrayList(java.util.ArrayList) List(java.util.List) Cheese(org.drools.mvel.compiler.Cheese) Date(java.util.Date) Test(org.junit.Test)

Aggregations

Cheese (org.drools.mvel.compiler.Cheese)136 Test (org.junit.Test)129 KieSession (org.kie.api.runtime.KieSession)112 KieBase (org.kie.api.KieBase)96 ArrayList (java.util.ArrayList)90 List (java.util.List)65 Person (org.drools.mvel.compiler.Person)47 FactHandle (org.kie.api.runtime.rule.FactHandle)29 InternalKnowledgeBase (org.drools.kiesession.rulebase.InternalKnowledgeBase)24 KiePackage (org.kie.api.definition.KiePackage)23 InternalFactHandle (org.drools.core.common.InternalFactHandle)20 StatelessKieSession (org.kie.api.runtime.StatelessKieSession)20 IteratorToList (org.drools.mvel.integrationtests.IteratorToList)14 Command (org.kie.api.command.Command)10 ExecutionResults (org.kie.api.runtime.ExecutionResults)10 PackageDescr (org.drools.drl.ast.descr.PackageDescr)7 KnowledgeBuilderImpl (org.drools.compiler.builder.impl.KnowledgeBuilderImpl)6 Cheesery (org.drools.mvel.compiler.Cheesery)6 ClassObjectFilter (org.drools.core.ClassObjectFilter)5 ClassObjectType (org.drools.core.base.ClassObjectType)5