use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.
the class AcyclicDirectedGraphRuleTest method checkMissingConnectionTargetNodeDoesNotTriggerGraphWalk.
@Test
@SuppressWarnings("unchecked")
public void checkMissingConnectionTargetNodeDoesNotTriggerGraphWalk() {
final Node source = mock(Node.class);
when(context.getSource()).thenReturn(Optional.of(source));
when(context.getTarget()).thenReturn(Optional.empty());
when(context.getConnector()).thenReturn(connector);
when(check.getTreeWalker(any(Node.class), any(Node.class), any(Edge.class))).thenReturn(walker);
final RuleViolations result = check.evaluate(rule, context);
assertNotNull(result);
assertFalse(result.violations().iterator().hasNext());
verify(walker, never()).traverse(any(Graph.class), any(TreeTraverseCallback.class));
}
use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.
the class AcyclicDirectedGraphRuleTest method checkCyclicalConnection.
@Test
@SuppressWarnings("unchecked")
public void checkCyclicalConnection() {
final Node node1 = new NodeImpl<>("node1");
final Node node2 = new NodeImpl<>("node2");
final Edge c1 = new EdgeImpl<>("edge1");
node1.getOutEdges().add(c1);
node2.getInEdges().add(c1);
c1.setSourceNode(node1);
c1.setTargetNode(node2);
graph.addNode(node1);
graph.addNode(node2);
when(context.getSource()).thenReturn(Optional.of(node2));
when(context.getTarget()).thenReturn(Optional.of(node1));
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(AcyclicDirectedGraphRule.ERROR_MESSAGE, violation.getArguments().get()[0]);
}
use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.
the class AcyclicDirectedGraphRuleTest method checkCompleteConnectionDefinitionTriggersGraphWalk.
@Test
@SuppressWarnings("unchecked")
public void checkCompleteConnectionDefinitionTriggersGraphWalk() {
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);
when(check.getTreeWalker(any(Node.class), any(Node.class), any(Edge.class))).thenReturn(walker);
final RuleViolations result = check.evaluate(rule, context);
assertNotNull(result);
assertFalse(result.violations().iterator().hasNext());
verify(walker).traverse(eq(graph), any(TreeTraverseCallback.class));
}
use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.
the class BaseGraphRuleTest method checkNoViolationsWhenNoExistingConnections.
@Test
@SuppressWarnings("unchecked")
public void checkNoViolationsWhenNoExistingConnections() {
final Node node1 = new NodeImpl<>("node1");
final Node node2 = new NodeImpl<>("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);
assertFalse(result.violations().iterator().hasNext());
}
use of org.kie.workbench.common.stunner.core.rule.RuleViolations in project kie-wb-common by kiegroup.
the class SingleConnectorPerTypeGraphRuleTest method checkMissingConnectionNodesDoesNotTriggerCheck.
@Test
@SuppressWarnings("unchecked")
public void checkMissingConnectionNodesDoesNotTriggerCheck() {
when(context.getSource()).thenReturn(Optional.empty());
when(context.getTarget()).thenReturn(Optional.empty());
when(context.getConnector()).thenReturn(connector);
final RuleViolations result = check.evaluate(rule, context);
assertNotNull(result);
assertFalse(result.violations().iterator().hasNext());
verify(check, never()).isConnectionAlreadyFormed(any(Node.class), any(Node.class), any(Edge.class));
}
Aggregations