Search in sources :

Example 51 with RuleViolations

use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.

the class RuleExtensionMultiHandlerTest method testEvaluateOnlyTwo.

@Test
@SuppressWarnings("unchecked")
public void testEvaluateOnlyTwo() {
    when(handler1.accepts(eq(rule1), eq(context))).thenReturn(false);
    when(handler2.accepts(eq(rule1), eq(context))).thenReturn(true);
    when(handler1.evaluate(eq(rule1), eq(context))).thenReturn(violations1);
    when(handler2.evaluate(eq(rule1), eq(context))).thenReturn(violations1);
    final RuleViolations result = tested.evaluate(rule1, context);
    assertNotNull(result);
    final Collection<RuleViolation> violations = (Collection<RuleViolation>) result.violations();
    assertTrue(violations.size() == 1);
    assertTrue(violations.contains(violation1));
}
Also used : DefaultRuleViolations(org.kie.workbench.common.stunner.core.rule.violations.DefaultRuleViolations) RuleViolations(org.kie.workbench.common.stunner.core.rule.RuleViolations) Collection(java.util.Collection) RuleViolation(org.kie.workbench.common.stunner.core.rule.RuleViolation) Test(org.junit.Test)

Example 52 with RuleViolations

use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.

the class ConnectorParentsMatchConnectionHandlerTest method testFailEvaluateParentDefinition.

@Test
@SuppressWarnings("unchecked")
public void testFailEvaluateParentDefinition() {
    when(connectionContext.getSource()).thenReturn(Optional.of(nodeA));
    when(connectionContext.getTarget()).thenReturn(Optional.of(nodeC));
    when(ruleExtension.getTypeArguments()).thenReturn(new Class[] { ParentDefinition.class });
    final RuleViolations violations = tested.evaluate(ruleExtension, connectionContext);
    assertNotNull(violations);
    assertTrue(violations.violations(Violation.Type.ERROR).iterator().hasNext());
}
Also used : RuleViolations(org.kie.workbench.common.stunner.core.rule.RuleViolations) Test(org.junit.Test) AbstractGraphDefinitionTypesTest(org.kie.workbench.common.stunner.core.AbstractGraphDefinitionTypesTest)

Example 53 with RuleViolations

use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.

the class AbstractGraphRuleHandlerTest method mockNoViolations.

protected RuleViolations mockNoViolations() {
    RuleViolations violations = mock(RuleViolations.class);
    List<RuleViolation> result = new ArrayList<>(0);
    when(violations.violations(eq(RuleViolation.Type.ERROR))).thenReturn(result);
    return violations;
}
Also used : ArrayList(java.util.ArrayList) RuleViolations(org.kie.workbench.common.stunner.core.rule.RuleViolations) RuleViolation(org.kie.workbench.common.stunner.core.rule.RuleViolation)

Example 54 with RuleViolations

use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.

the class CardinalityEvaluationHandlerTest method testEvaluateNoLimit.

@Test
public void testEvaluateNoLimit() {
    when(context.getCandidateCount()).thenReturn(0);
    when(context.getOperation()).thenReturn(Optional.of(CardinalityContext.Operation.ADD));
    RuleViolations violations = tested.evaluate(RULE_NO_LIMIT, context);
    assertNotNull(violations);
    assertFalse(violations.violations(RuleViolation.Type.ERROR).iterator().hasNext());
    when(context.getCandidateCount()).thenReturn(100);
    when(context.getOperation()).thenReturn(Optional.of(CardinalityContext.Operation.ADD));
    violations = tested.evaluate(RULE_NO_LIMIT, context);
    assertNotNull(violations);
    assertFalse(violations.violations(RuleViolation.Type.ERROR).iterator().hasNext());
}
Also used : RuleViolations(org.kie.workbench.common.stunner.core.rule.RuleViolations) Test(org.junit.Test)

Example 55 with RuleViolations

use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.

the class ConnectionEvaluationHandlerTest method testEvaluateFailed1.

@Test
public void testEvaluateFailed1() {
    final Set<String> sourceRoles = new HashSet<String>(1) {

        {
            add("r1");
        }
    };
    final Set<String> targetRoles = new HashSet<String>(1) {

        {
            add("o2");
        }
    };
    when(context.getConnectorRole()).thenReturn(EDGE_ID);
    when(context.getSourceRoles()).thenReturn(Optional.of(sourceRoles));
    when(context.getTargetRoles()).thenReturn(Optional.of(targetRoles));
    final RuleViolations violations = tested.evaluate(RULE, context);
    assertNotNull(violations);
    assertTrue(violations.violations(RuleViolation.Type.ERROR).iterator().hasNext());
}
Also used : RuleViolations(org.kie.workbench.common.stunner.core.rule.RuleViolations) HashSet(java.util.HashSet) Test(org.junit.Test)

Aggregations

RuleViolations (org.kie.workbench.common.stunner.core.rule.RuleViolations)76 Test (org.junit.Test)68 RuleViolation (org.kie.workbench.common.stunner.core.rule.RuleViolation)20 DefaultRuleViolations (org.kie.workbench.common.stunner.core.rule.violations.DefaultRuleViolations)19 RuleSet (org.kie.workbench.common.stunner.core.rule.RuleSet)16 RuleEvaluationContext (org.kie.workbench.common.stunner.core.rule.RuleEvaluationContext)14 Edge (org.kie.workbench.common.stunner.core.graph.Edge)13 Graph (org.kie.workbench.common.stunner.core.graph.Graph)13 Node (org.kie.workbench.common.stunner.core.graph.Node)12 HashMap (java.util.HashMap)11 ContainmentRuleViolation (org.kie.workbench.common.stunner.core.rule.violations.ContainmentRuleViolation)11 HashSet (java.util.HashSet)8 List (java.util.List)7 Collection (java.util.Collection)3 AbstractGraphDefinitionTypesTest (org.kie.workbench.common.stunner.core.AbstractGraphDefinitionTypesTest)3 NodeImpl (org.kie.workbench.common.stunner.core.graph.impl.NodeImpl)3 TreeTraverseCallback (org.kie.workbench.common.stunner.core.graph.processing.traverse.tree.TreeTraverseCallback)3 ArrayList (java.util.ArrayList)2 View (org.kie.workbench.common.stunner.core.graph.content.view.View)2 EdgeImpl (org.kie.workbench.common.stunner.core.graph.impl.EdgeImpl)2