@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);
}