Search in sources :

Example 1 with Person

use of org.drools.core.test.model.Person in project drools by kiegroup.

the class BasicUpdateTest method updateTheOnlyFactTest.

@Test
public void updateTheOnlyFactTest() {
    final Person person = new Person("George", 18);
    final FactHandle factPerson = ksession.insert(person);
    assertThat(ksession.getObjects()).hasSize(1);
    assertThat(ksession.getObjects().iterator().next()).isInstanceOf(Person.class);
    Person personToBeVerified = (Person) ksession.getObjects().iterator().next();
    verifyPerson(person, personToBeVerified, 18, "George", true);
    ksession.update(factPerson, new Person("Henry", 21));
    verifyFactsPresentInSession(1, Person.class);
    personToBeVerified = (Person) ksession.getObjects().iterator().next();
    verifyPerson(person, personToBeVerified, 21, "Henry", false);
}
Also used : FactHandle(org.kie.api.runtime.rule.FactHandle) Person(org.drools.core.test.model.Person) Test(org.junit.Test)

Example 2 with Person

use of org.drools.core.test.model.Person in project drools by kiegroup.

the class BasicUpdateTest method updateWithDifferentClassGetQueryResultsTest.

@Test
public void updateWithDifferentClassGetQueryResultsTest() {
    final Person person = new Person("George", 18);
    final FactHandle fact = ksession.insert(person);
    verifyFactsWithQuery(Person.class, "persons", person);
    final Cheese cheese = new Cheese("Camembert", 2);
    ksession.update(fact, cheese);
    verifyWithQueryNoPersonsPresentInFacts();
    verifyFactsPresentInSession(1, Cheese.class);
    Cheese cheeseToBeVerified = (Cheese) ksession.getObjects().iterator().next();
    verifyCheese(cheeseToBeVerified, 2, "Camembert");
    cheeseToBeVerified = verifyFactPresentInSession(fact, Cheese.class);
    verifyCheese(cheeseToBeVerified, 2, "Camembert");
}
Also used : FactHandle(org.kie.api.runtime.rule.FactHandle) Cheese(org.drools.core.test.model.Cheese) Person(org.drools.core.test.model.Person) Test(org.junit.Test)

Example 3 with Person

use of org.drools.core.test.model.Person in project drools by kiegroup.

the class BasicUpdateTest method updateWithNullTest.

@Test(expected = NullPointerException.class)
public void updateWithNullTest() {
    final Person person = new Person("George", 18);
    final FactHandle factPerson = ksession.insert(person);
    verifyFactsPresentInSession(1, Person.class);
    ksession.update(factPerson, null);
}
Also used : FactHandle(org.kie.api.runtime.rule.FactHandle) Person(org.drools.core.test.model.Person) Test(org.junit.Test)

Example 4 with Person

use of org.drools.core.test.model.Person in project drools by kiegroup.

the class BasicUpdateTest method updateFireRulesTest.

@Test
public void updateFireRulesTest() {
    final Person george = new Person("George", 17);
    final Person henry = new Person("Henry", 25);
    final FactHandle georgeFact = ksession.insert(george);
    ksession.insert(henry);
    verifyFactsWithQuery(Person.class, "persons", george, henry);
    final List<Person> drivers = new ArrayList<>();
    ksession.setGlobal("drivers", drivers);
    assertThat(ksession.fireAllRules()).isEqualTo(1);
    verifyList(drivers, george, henry);
    george.setAge(18);
    ksession.update(georgeFact, george);
    verifyFactsWithQuery(Person.class, "persons", george, henry);
    assertThat(ksession.fireAllRules()).isEqualTo(1);
    verifyList(drivers, null, george, henry);
}
Also used : FactHandle(org.kie.api.runtime.rule.FactHandle) ArrayList(java.util.ArrayList) Person(org.drools.core.test.model.Person) Test(org.junit.Test)

Example 5 with Person

use of org.drools.core.test.model.Person in project drools by kiegroup.

the class BasicUpdateTest method updateWithDifferentClassGetObjectsTest.

@Test
public void updateWithDifferentClassGetObjectsTest() {
    final Person person = new Person("George", 18);
    final FactHandle factPerson = ksession.insert(person);
    final Person personToBeVerified = verifyFactsPresentInSession(1, Person.class).get(0);
    assertThat(personToBeVerified).isEqualTo(person);
    final Cheese cheese = new Cheese("Camembert", 50);
    ksession.update(factPerson, cheese);
    verifyFactsPresentInSession(1, Cheese.class);
    final Cheese cheeseToBeVerified = (Cheese) ksession.getObjects().iterator().next();
    verifyCheese(cheeseToBeVerified, 50, "Camembert");
}
Also used : FactHandle(org.kie.api.runtime.rule.FactHandle) Cheese(org.drools.core.test.model.Cheese) Person(org.drools.core.test.model.Person) Test(org.junit.Test)

Aggregations

Person (org.drools.core.test.model.Person)14 Test (org.junit.Test)13 FactHandle (org.kie.api.runtime.rule.FactHandle)10 Cheese (org.drools.core.test.model.Cheese)4 ArrayList (java.util.ArrayList)3 KieSession (org.kie.api.runtime.KieSession)3 QueryResults (org.kie.api.runtime.rule.QueryResults)3 List (java.util.List)2 KieBase (org.kie.api.KieBase)2 URI (java.net.URI)1 PersonInterface (org.drools.compiler.PersonInterface)1 ClassFieldAccessorCache (org.drools.core.base.ClassFieldAccessorCache)1 NamedEntryPoint (org.drools.core.common.NamedEntryPoint)1 InternalKnowledgeBase (org.drools.core.impl.InternalKnowledgeBase)1 MVELDialectRuntimeData (org.drools.core.rule.MVELDialectRuntimeData)1 Address (org.drools.core.test.model.Address)1 Before (org.junit.Before)1 EntryPoint (org.kie.api.runtime.rule.EntryPoint)1