vertexSet.add("B");
vertexSet.add("C");
vertexSet.add("D");
vertexSet.add("E");
AdjacencyMatrixGraph graph = new AdjacencyMatrixGraph(2);
graph.setVertex(vertexSet);
try {
graph.addEdge("A", "B", 2);
graph.addEdge("A", "C", 4);
graph.addEdge("B", "C", 6);
graph.addEdge("B", "D", 1);
Set<Edge> setA = graph.getEdgeSet("A");
assertEquals(2, setA.size());
for( Edge e : setA) {
assertEquals(2, e.getVertex().size());
for( Vertex v : e.getVertex()) {
assertTrue(v.getId().equals("A") ||
(v.getId().equals("B") && e.getValue() == 2 ) ||
(v.getId().equals("C") && e.getValue() == 4 ));
}
}
Set<Edge> setB = graph.getEdgeSet("B");
assertEquals(3, setB.size());
for( Edge e : setB) {
assertEquals(2, e.getVertex().size());
for( Vertex v : e.getVertex()) {
assertTrue(v.getId().equals("B") ||
(v.getId().equals("A") && e.getValue() == 2 ) ||
(v.getId().equals("C") && e.getValue() == 6 ) ||
(v.getId().equals("D") && e.getValue() == 1 )
);
}
}
Set<Edge> setC = graph.getEdgeSet("C");
assertEquals(2, setC.size());
for( Edge e : setC) {
assertEquals(2, e.getVertex().size());
for( Vertex v : e.getVertex()) {
assertTrue(v.getId().equals("C") ||
(v.getId().equals("B") && e.getValue() == 6 ) ||
(v.getId().equals("A") && e.getValue() == 4 ));
}
}
Set<Edge> setD = graph.getEdgeSet("D");
assertEquals(1, setD.size());
for( Edge e : setD) {
assertEquals(2, e.getVertex().size());
for( Vertex v : e.getVertex()) {
assertTrue(v.getId().equals("D") ||
(v.getId().equals("B") && e.getValue() == 1 ));
}
}
Set<Edge> setE = graph.getEdgeSet("E");
assertTrue(setE.isEmpty());
Set<Edge> setF = graph.getEdgeSet("F");
assertTrue(setF.isEmpty());
}
catch(VertexNotFoundException e) {
assertTrue("sommet non trouvé dans le graphe", false);
}