Search in sources :

Example 16 with LiteralRestriction

use of org.drools.verifier.components.LiteralRestriction in project drools by kiegroup.

the class PatternSolverTest method testAddOrAndOr.

/**
 * <pre>
 *             or
 *         /        \
 *       and         or
 *      /  \         / \
 * descr descr2 descr3 descr4
 * </pre>
 *
 * result:<br>
 * descr && descr2<br>
 * or<br>
 * descr3<br>
 * or<br>
 * descr4
 */
@Test
public void testAddOrAndOr() {
    Pattern pattern = VerifierComponentMockFactory.createPattern1();
    LiteralRestriction literalRestriction = LiteralRestriction.createRestriction(pattern, "");
    LiteralRestriction literalRestriction2 = LiteralRestriction.createRestriction(pattern, "");
    LiteralRestriction literalRestriction3 = LiteralRestriction.createRestriction(pattern, "");
    LiteralRestriction literalRestriction4 = LiteralRestriction.createRestriction(pattern, "");
    PatternSolver solver = new PatternSolver(pattern);
    solver.addOperator(OperatorDescrType.OR);
    solver.addOperator(OperatorDescrType.AND);
    solver.add(literalRestriction);
    solver.add(literalRestriction2);
    solver.end();
    solver.addOperator(OperatorDescrType.OR);
    solver.add(literalRestriction3);
    solver.add(literalRestriction4);
    solver.end();
    solver.end();
    List<Set<VerifierComponent>> list = solver.getPossibilityLists();
    assertEquals(3, list.size());
    assertEquals(2, list.get(0).size());
    assertTrue(list.get(0).contains(literalRestriction));
    assertTrue(list.get(0).contains(literalRestriction2));
    assertEquals(1, list.get(1).size());
    assertTrue(list.get(1).contains(literalRestriction3));
    assertEquals(1, list.get(2).size());
    assertTrue(list.get(2).contains(literalRestriction4));
}
Also used : LiteralRestriction(org.drools.verifier.components.LiteralRestriction) Pattern(org.drools.verifier.components.Pattern) Set(java.util.Set) Test(org.junit.Test)

Example 17 with LiteralRestriction

use of org.drools.verifier.components.LiteralRestriction in project drools by kiegroup.

the class PatternSolverTest method testAddBasicOr.

/**
 * <pre>
 *       or
 *      /  \
 *  descr descr2
 * </pre>
 *
 * result:<br>
 * descr<br>
 * or<br>
 * descr2
 */
@Test
public void testAddBasicOr() {
    Pattern pattern = VerifierComponentMockFactory.createPattern1();
    LiteralRestriction literalRestriction = LiteralRestriction.createRestriction(pattern, "");
    LiteralRestriction literalRestriction2 = LiteralRestriction.createRestriction(pattern, "");
    PatternSolver solver = new PatternSolver(pattern);
    solver.addOperator(OperatorDescrType.OR);
    solver.add(literalRestriction);
    solver.add(literalRestriction2);
    solver.end();
    List<Set<VerifierComponent>> list = solver.getPossibilityLists();
    assertEquals(2, list.size());
    assertEquals(1, list.get(0).size());
    assertEquals(1, list.get(1).size());
}
Also used : LiteralRestriction(org.drools.verifier.components.LiteralRestriction) Pattern(org.drools.verifier.components.Pattern) Set(java.util.Set) Test(org.junit.Test)

Example 18 with LiteralRestriction

use of org.drools.verifier.components.LiteralRestriction in project drools by kiegroup.

the class PatternSolverTest method testAddBasicAnd.

/**
 * <pre>
 *      and
 *     /   \
 *  descr  descr2
 * </pre>
 *
 * result:<br>
 * descr && descr2
 */
@Test
public void testAddBasicAnd() {
    Pattern pattern = VerifierComponentMockFactory.createPattern1();
    LiteralRestriction literalRestriction = LiteralRestriction.createRestriction(pattern, "");
    LiteralRestriction literalRestriction2 = LiteralRestriction.createRestriction(pattern, "");
    PatternSolver solver = new PatternSolver(pattern);
    solver.addOperator(OperatorDescrType.AND);
    solver.add(literalRestriction);
    solver.add(literalRestriction2);
    solver.end();
    List<Set<VerifierComponent>> list = solver.getPossibilityLists();
    assertEquals(1, list.size());
    assertEquals(2, list.get(0).size());
}
Also used : LiteralRestriction(org.drools.verifier.components.LiteralRestriction) Pattern(org.drools.verifier.components.Pattern) Set(java.util.Set) Test(org.junit.Test)

Aggregations

LiteralRestriction (org.drools.verifier.components.LiteralRestriction)18 Test (org.junit.Test)16 Set (java.util.Set)15 Pattern (org.drools.verifier.components.Pattern)15 RuleNameMatchesAgendaFilter (org.drools.core.base.RuleNameMatchesAgendaFilter)8 Cause (org.drools.verifier.report.components.Cause)8 KieSession (org.kie.api.runtime.KieSession)8 ArrayList (java.util.ArrayList)7 VerifierReport (org.drools.verifier.data.VerifierReport)1 VerifierMessage (org.drools.verifier.report.components.VerifierMessage)1 VerifierMessageBase (org.drools.verifier.report.components.VerifierMessageBase)1