Search in sources :

Example 1 with ReteooFactHandleFactory

use of org.drools.core.reteoo.ReteooFactHandleFactory in project drools by kiegroup.

the class EqualityKeyTest method test1.

@Test
public void test1() {
    ReteooFactHandleFactory factory = new ReteooFactHandleFactory();
    InternalFactHandle ch1 = factory.newFactHandle(new Cheese("c", 10), null, null, null);
    EqualityKey key = new EqualityKey(ch1);
    assertSame(ch1, key.getFactHandle());
    assertEquals(1, key.size());
    InternalFactHandle ch2 = factory.newFactHandle(new Cheese("c", 10), null, null, null);
    key.addFactHandle(ch2);
    assertEquals(2, key.size());
    assertEquals(ch2, key.get(1));
    key.removeFactHandle(ch1);
    assertSame(ch2, key.getFactHandle());
    assertEquals(1, key.size());
    key.removeFactHandle(ch2);
    assertNull(key.getFactHandle());
    assertEquals(0, key.size());
    key = new EqualityKey(ch2);
    key.addFactHandle(ch1);
    assertSame(ch2, key.getFactHandle());
    assertEquals(2, key.size());
    assertEquals(ch1, key.get(1));
    key.removeFactHandle(ch1);
    assertSame(ch2, key.getFactHandle());
    assertEquals(1, key.size());
    key.removeFactHandle(ch2);
    assertNull(key.getFactHandle());
    assertEquals(0, key.size());
}
Also used : ReteooFactHandleFactory(org.drools.core.reteoo.ReteooFactHandleFactory) Cheese(org.drools.core.test.model.Cheese) Test(org.junit.Test)

Aggregations

ReteooFactHandleFactory (org.drools.core.reteoo.ReteooFactHandleFactory)1 Cheese (org.drools.core.test.model.Cheese)1 Test (org.junit.Test)1