// Test type specific getFirstIncidence Method @Test public void testGetFirstIncidence() throws GraphIOException { Schema s = GraphIO.loadSchemaFromFile(GenericGraphImplTest.SCHEMAFOLDER + "VertexTestSchema.tg"); Graph g = s.createGraph(ImplementationType.GENERIC); Vertex[] vertices = new Vertex[6]; vertices[0] = g.createVertex(g.getGraphClass().getVertexClass("A")); vertices[1] = g.createVertex(g.getGraphClass().getVertexClass("B")); vertices[2] = g.createVertex(g.getGraphClass().getVertexClass("C")); vertices[3] = g.createVertex(g.getGraphClass().getVertexClass("D")); vertices[4] = g.createVertex(g.getGraphClass().getVertexClass("C2")); vertices[5] = g.createVertex(g.getGraphClass().getVertexClass("D2")); EdgeClass[] edgeClasses = new EdgeClass[7]; edgeClasses[0] = g.getGraphClass().getEdgeClass("E"); edgeClasses[1] = g.getGraphClass().getEdgeClass("F"); edgeClasses[2] = g.getGraphClass().getEdgeClass("G"); edgeClasses[3] = g.getGraphClass().getEdgeClass("H"); edgeClasses[4] = g.getGraphClass().getEdgeClass("I"); edgeClasses[5] = g.getGraphClass().getEdgeClass("J"); edgeClasses[6] = g.getGraphClass().getEdgeClass("K"); for (Vertex v : vertices) { for (EdgeClass ec : edgeClasses) { assertNull(v.getFirstIncidence(ec)); assertNull(v.getFirstIncidence(ec, EdgeDirection.IN)); assertNull(v.getFirstIncidence(ec, EdgeDirection.OUT)); } } Edge[] edges = new Edge[7]; edges[0] = g.createEdge(edgeClasses[0], vertices[0], vertices[1]); edges[1] = g.createEdge(edgeClasses[1], vertices[2], vertices[3]); edges[2] = g.createEdge(edgeClasses[2], vertices[2], vertices[3]); edges[3] = g.createEdge(edgeClasses[3], vertices[0], vertices[1]); edges[4] = g.createEdge(edgeClasses[4], vertices[0], vertices[0]); edges[5] = g.createEdge(edgeClasses[5], vertices[4], vertices[5]); edges[6] = g.createEdge(edgeClasses[6], vertices[0], vertices[1]); assertEquals(vertices[0].getFirstIncidence(edgeClasses[0]), edges[0]); assertEquals(vertices[0].getFirstIncidence(edgeClasses[6]), edges[6]); assertEquals(vertices[1].getFirstIncidence(edgeClasses[0]), edges[0].getReversedEdge()); assertEquals(vertices[1].getFirstIncidence(edgeClasses[6]), edges[6].getReversedEdge()); assertEquals(vertices[2].getFirstIncidence(edgeClasses[1]), edges[1]); assertEquals(vertices[3].getFirstIncidence(edgeClasses[1]), edges[1].getReversedEdge()); assertEquals(vertices[4].getFirstIncidence(edgeClasses[5]), edges[5]); assertEquals(vertices[5].getFirstIncidence(edgeClasses[5]), edges[5].getReversedEdge()); assertEquals( vertices[0].getFirstIncidence(edgeClasses[4], EdgeDirection.IN), edges[4].getReversedEdge()); assertEquals(vertices[2].getFirstIncidence(edgeClasses[0], EdgeDirection.OUT), edges[1]); }