use of org.kie.workbench.common.stunner.core.client.canvas.controls.builder.impl.AbstractElementBuilderControl.ParentAssignment in project kie-wb-common by kiegroup.
the class ElementBuilderControlImplTest method getParentAssignmentDocking.
@Test
public void getParentAssignmentDocking() {
// test docking
ArgumentCaptor<DockingContext> dockingContextCaptor = forClass(DockingContext.class);
when(ruleManager.evaluate(eq(ruleSet), dockingContextCaptor.capture())).thenReturn(new DefaultRuleViolations());
ParentAssignment parentAssignment = elementBuilderControl.getParentAssignment(parent, def);
assertEquals(dockingContextCaptor.getValue().getCandidateRoles(), DEFINITION_LABELS);
assertEquals(dockingContextCaptor.getValue().getParentRoles(), PARENT_LABELS);
assertEquals(parentAssignment, ParentAssignment.DOCKING);
// test containment
ArgumentCaptor<ContainmentContext> containmentContextArgumentCaptor = forClass(ContainmentContext.class);
DefaultRuleViolations dockingRuleViolations = new DefaultRuleViolations();
dockingRuleViolations.addViolation(new DockingRuleViolation("", ""));
when(ruleManager.evaluate(eq(ruleSet), containmentContextArgumentCaptor.capture())).thenAnswer(arg -> {
if (arg.getArguments()[1] instanceof ContainmentContext) {
return new DefaultRuleViolations();
} else {
return dockingRuleViolations;
}
});
parentAssignment = elementBuilderControl.getParentAssignment(parent, def);
assertEquals(parentAssignment, ParentAssignment.CONTAINMENT);
// testing none
DefaultRuleViolations allViolations = new DefaultRuleViolations();
allViolations.addViolation(new DockingRuleViolation("", ""));
allViolations.addViolation(new ContainmentRuleViolation("", ""));
when(ruleManager.evaluate(eq(ruleSet), any())).thenReturn(allViolations);
parentAssignment = elementBuilderControl.getParentAssignment(parent, def);
assertEquals(parentAssignment, ParentAssignment.NONE);
}
use of org.kie.workbench.common.stunner.core.client.canvas.controls.builder.impl.AbstractElementBuilderControl.ParentAssignment in project kie-wb-common by kiegroup.
the class ElementBuilderControlImplTest method getElementCommandsNoParent.
@Test
public void getElementCommandsNoParent() {
ParentAssignment parentAssignment = ParentAssignment.NONE;
elementBuilderControl.getElementCommands(node, parent, parentAssignment, X, Y, callback);
verify(callback).onComplete(any(), commandsCapture.capture());
List<Command<AbstractCanvasHandler, CanvasViolation>> commands = commandsCapture.getValue();
assertTrue(commands.get(0) instanceof AddNodeCommand);
assertTrue(commands.get(1) instanceof UpdateElementPositionCommand);
verify(canvasCommandFactory).addNode(node, SHAPE_SET_ID);
ArgumentCaptor<Point2D> positionCaptor = ArgumentCaptor.forClass(Point2D.class);
verify(canvasCommandFactory).updatePosition(eq(node), positionCaptor.capture());
assertEquals(positionCaptor.getValue(), new Point2D(X, Y));
}
use of org.kie.workbench.common.stunner.core.client.canvas.controls.builder.impl.AbstractElementBuilderControl.ParentAssignment in project kie-wb-common by kiegroup.
the class ElementBuilderControlImplTest method getElementCommandsContainment.
@Test
public void getElementCommandsContainment() {
ParentAssignment parentAssignment = ParentAssignment.CONTAINMENT;
elementBuilderControl.getElementCommands(node, parent, parentAssignment, X, Y, callback);
verify(callback).onComplete(any(), commandsCapture.capture());
List<Command<AbstractCanvasHandler, CanvasViolation>> commands = commandsCapture.getValue();
assertTrue(commands.get(0) instanceof AddChildNodeCommand);
assertTrue(commands.get(1) instanceof UpdateElementPositionCommand);
verify(canvasCommandFactory).addChildNode(parent, node, SHAPE_SET_ID);
ArgumentCaptor<Point2D> positionCaptor = ArgumentCaptor.forClass(Point2D.class);
verify(canvasCommandFactory).updatePosition(eq(node), positionCaptor.capture());
assertEquals(positionCaptor.getValue(), new Point2D(X, Y));
}
use of org.kie.workbench.common.stunner.core.client.canvas.controls.builder.impl.AbstractElementBuilderControl.ParentAssignment in project kie-wb-common by kiegroup.
the class ElementBuilderControlImplTest method getElementCommandsDocked.
@Test
public void getElementCommandsDocked() {
ParentAssignment parentAssignment = ParentAssignment.DOCKING;
elementBuilderControl.getElementCommands(node, parent, parentAssignment, X, Y, callback);
verify(callback).onComplete(any(), commandsCapture.capture());
List<Command<AbstractCanvasHandler, CanvasViolation>> commands = commandsCapture.getValue();
assertTrue(commands.get(0) instanceof AddChildNodeCommand);
assertTrue(commands.get(1) instanceof UpdateElementPositionCommand);
assertTrue(commands.get(2) instanceof UpdateDockNodeCommand);
verify(canvasCommandFactory).addChildNode(grandParent, node, SHAPE_SET_ID);
ArgumentCaptor<Point2D> positionCaptor = ArgumentCaptor.forClass(Point2D.class);
verify(canvasCommandFactory).updatePosition(eq(node), positionCaptor.capture());
assertEquals(positionCaptor.getValue(), new Point2D(X, Y));
verify(canvasCommandFactory).addChildNode(grandParent, node, SHAPE_SET_ID);
}
Aggregations