Vertex a = new IntersectionVertex(g, "a", 5, 5);
Vertex b = new IntersectionVertex(g, "b", 6, 5);
Vertex c = new IntersectionVertex(g, "c", 7, 5);
Vertex d = new IntersectionVertex(g, "d", 8, 5);
// vary weights so edges are not considered equal
Edge ab = new SimpleEdge(a, b, 1, 1);
Edge bc1 = new SimpleEdge(b, c, 1, 1);
Edge bc2 = new SimpleEdge(b, c, 2, 2);
Edge bc3 = new SimpleEdge(b, c, 3, 3);
Edge cd1 = new SimpleEdge(c, d, 1, 1);
Edge cd2 = new SimpleEdge(c, d, 2, 2);
Edge cd3 = new SimpleEdge(c, d, 3, 3);
OverlayGraph og = new OverlayGraph(g);
assertEquals(g.countVertices(), og.countVertices());
assertEquals(g.countEdges(), og.countEdges());
for (Vertex v : g.getVertices()) {
for (Edge e : v.getOutgoing()) {