protected void ensureCanvas() { if (this.canvas == null) { this.canvas(new Node()); } if (this.version == null) { this.version = 1l; } if (this.edges == null) { this.edges = new ArrayList<>(); } }
protected void ensureCanvas() { if (this.canvas == null) { this.canvas(new Node()); } if (this.version == null) { this.version = 1l; } if (this.edges == null) { this.edges = new ArrayList<>(); } }
@Test public void testSetCanvas() { Diagram diagram = Diagram.newInstance(); assertNotNull(diagram.canvas); Node canvas = new Node().bounds(Bounds.of(1.0, 2.0, 3.0, 4.0)); assertNotEquals(canvas, diagram.canvas); diagram.canvas(canvas); assertEquals(canvas, diagram.canvas); diagram.canvas(null); assertNull(diagram.canvas); }
@Test public void testEnsureCanvas() { Diagram diagram = new Diagram(); assertNotNull(diagram.canvas); assertNotNull(diagram.version); assertEquals(1l, diagram.version.longValue()); diagram = new Diagram(); diagram.version(2l); assertNotNull(diagram.canvas); assertEquals(2l, diagram.version.longValue()); Node canvas = new Node().bounds(Bounds.of(1.0, 2.0, 3.0, 4.0)); diagram = new Diagram() .canvas(canvas) .version(2l); // should stay untouched assertEquals(canvas, diagram.canvas); assertEquals(2l, diagram.version.longValue()); }
@Test public void testEmptyDiagram() throws Exception { ExecutableWorkflow workflow = new ExecutableWorkflow().id(new WorkflowId(getWorkflowIdInternal())); workflow.setDiagram(new Diagram().canvas(new Node().addNode(new Node().bounds(new Bounds(0, 0, 10, 10))))); workflow = serializeWorkflow(workflow); // No execptions due to empty workflow and diagram. } }
@Test public void testEquals() { Diagram diagram1 = Diagram.newInstance(); Diagram diagram2 = Diagram.newInstance(); assertEquals(diagram1, diagram2); diagram2.canvas(new Node().bounds(Bounds.of(1.0, 2.0, 3.0, 4.0))); assertNotEquals(diagram1, diagram2); diagram1.canvas.bounds(Bounds.of(1.0, 2.0, 3.0, 4.0)); assertEquals(diagram1, diagram2); assertEquals(diagram1.hashCode(), diagram2.hashCode()); diagram2.incVersion(); assertNotEquals(diagram1, diagram2); diagram1.incVersion(); assertEquals(diagram1, diagram2); String edgeId = "e1"; diagram1.addEdge(new Edge().transitionId(edgeId)); assertNotEquals(diagram1, diagram2); diagram2.addEdge(new Edge().transitionId(edgeId)); assertEquals(diagram1, diagram2); }