*/
public void testHashCode() {
AdjacencyMatrixGraph graph1 = new AdjacencyMatrixGraph();
// AdjacencyMatrixGraph graph2 = new AdjacencyMatrixDirectedGraph();
AdjacencyMatrixEdge e1 = new AdjacencyMatrixEdge(graph1, "A", "B");
AdjacencyMatrixEdge e2 = new AdjacencyMatrixEdge(graph1, "A", "B");
AdjacencyMatrixEdge e3 = new AdjacencyMatrixEdge(graph1, "B", "A");
AdjacencyMatrixEdge e4 = new AdjacencyMatrixEdge(graph1, "A", "C");
AdjacencyMatrixEdge e5 = new AdjacencyMatrixEdge(graph1, "A", null);
AdjacencyMatrixEdge e6 = new AdjacencyMatrixEdge(graph1, "A", null);
AdjacencyMatrixEdge e7 = new AdjacencyMatrixEdge(graph1, "B", null);
AdjacencyMatrixEdge e8 = new AdjacencyMatrixEdge(graph1, null, "B");
AdjacencyMatrixEdge e9 = new AdjacencyMatrixEdge(graph1, null, "B");
AdjacencyMatrixEdge e10 = new AdjacencyMatrixEdge(graph1, null, "A");
AdjacencyMatrixEdge e11 = new AdjacencyMatrixEdge(graph1, null, "A");
AdjacencyMatrixEdge e12 = new AdjacencyMatrixEdge(graph1, null, null);
AdjacencyMatrixEdge e13 = new AdjacencyMatrixEdge(graph1, null, null);
assertTrue(e1.hashCode() == e2.hashCode());
assertTrue(e1.hashCode() == e3.hashCode());
assertFalse(e1.hashCode() == e4.hashCode());
assertFalse(e1.hashCode() == e5.hashCode());
assertFalse(e5.hashCode() == e1.hashCode());
assertTrue(e5.hashCode() == e6.hashCode());
assertFalse(e5.hashCode() == e7.hashCode());
assertTrue(e7.hashCode() == e8.hashCode());
assertTrue(e8.hashCode() == e9.hashCode());
assertTrue(e10.hashCode() == e11.hashCode());
assertTrue(e12.hashCode() == e13.hashCode());
assertFalse(e1.hashCode() == e13.hashCode());
assertFalse(e13.hashCode() == e1.hashCode());
assertFalse(e13.hashCode() == e10.hashCode());
assertFalse(e10.hashCode() == e13.hashCode());
assertFalse(e7.hashCode() == e13.hashCode());
assertFalse(e13.hashCode() == e7.hashCode());
}