Search in sources :

Example 6 with RuleViolations

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

the class SingleConnectorPerTypeGraphRuleTest method checkCompleteConnectionDefinitionTriggersCheck.

@Test
@SuppressWarnings("unchecked")
public void checkCompleteConnectionDefinitionTriggersCheck() {
    final Node source = mock(Node.class);
    final Node target = mock(Node.class);
    when(context.getSource()).thenReturn(Optional.of(source));
    when(context.getTarget()).thenReturn(Optional.of(target));
    when(context.getConnector()).thenReturn(connector);
    final RuleViolations result = check.evaluate(rule, context);
    assertNotNull(result);
    assertFalse(result.violations().iterator().hasNext());
    verify(check).isConnectionAlreadyFormed(any(Node.class), any(Node.class), any(Edge.class));
}
Also used : Node(org.kie.workbench.common.stunner.core.graph.Node) RuleViolations(org.kie.workbench.common.stunner.core.rule.RuleViolations) Edge(org.kie.workbench.common.stunner.core.graph.Edge) Test(org.junit.Test)

Example 7 with RuleViolations

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

the class SingleConnectorPerTypeGraphRuleTest method checkHasExistingConnection.

@Test
@SuppressWarnings("unchecked")
public void checkHasExistingConnection() {
    final Node node1 = new NodeImpl<>("node1");
    final Node node2 = new NodeImpl<>("node2");
    final Edge existingConnector = new EdgeImpl<>("edge1");
    final ViewConnector existingConnectorView = mock(ViewConnector.class);
    existingConnector.setContent(existingConnectorView);
    when(existingConnectorView.getDefinition()).thenReturn(new Definition());
    node1.getOutEdges().add(existingConnector);
    node2.getInEdges().add(existingConnector);
    existingConnector.setSourceNode(node1);
    existingConnector.setTargetNode(node2);
    graph.addNode(node1);
    graph.addNode(node2);
    when(context.getSource()).thenReturn(Optional.of(node1));
    when(context.getTarget()).thenReturn(Optional.of(node2));
    when(context.getConnector()).thenReturn(connector);
    final RuleViolations result = check.evaluate(rule, context);
    assertNotNull(result);
    assertTrue(result.violations().iterator().hasNext());
    final RuleViolation violation = result.violations().iterator().next();
    assertNotNull(violation);
    assertTrue(violation.getArguments().isPresent());
    assertEquals(1, violation.getArguments().get().length);
    assertEquals(SingleConnectorPerTypeGraphRule.ERROR_MESSAGE, violation.getArguments().get()[0]);
}
Also used : ViewConnector(org.kie.workbench.common.stunner.core.graph.content.view.ViewConnector) NodeImpl(org.kie.workbench.common.stunner.core.graph.impl.NodeImpl) Node(org.kie.workbench.common.stunner.core.graph.Node) EdgeImpl(org.kie.workbench.common.stunner.core.graph.impl.EdgeImpl) RuleViolations(org.kie.workbench.common.stunner.core.rule.RuleViolations) RuleViolation(org.kie.workbench.common.stunner.core.rule.RuleViolation) Edge(org.kie.workbench.common.stunner.core.graph.Edge) Test(org.junit.Test)

Example 8 with RuleViolations

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

the class GraphConnectionEvaluationHandlerTest method testEvaluateSuccess1.

@Test
public void testEvaluateSuccess1() {
    final RuleViolations violations = tested.evaluate(RULE, 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 9 with RuleViolations

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

the class GraphConnectionEvaluationHandlerTest method testEvaluateFailed1.

@Test
@SuppressWarnings("unchecked")
public void testEvaluateFailed1() {
    when(context.getSource()).thenReturn(Optional.of(candidate));
    when(context.getTarget()).thenReturn(Optional.of(parent));
    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) Test(org.junit.Test)

Example 10 with RuleViolations

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

the class NodeContainmentEvaluationHandlerTest method testEvaluateSuccess.

@Test
@SuppressWarnings("unchecked")
public void testEvaluateSuccess() {
    when(context.getCandidate()).thenReturn(candidate);
    final RuleViolations violations = tested.evaluate(RULE, 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)

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