Пример #1
0
  @Test
  public void testDetectCycles5() {
    Graph g = new Graph();
    Vertex v1 = new VertexTest(1);
    Vertex v2 = new VertexTest(2);
    Vertex v3 = new VertexTest(3);

    Vertex v4 = new VertexTest(4);
    Edge e1 = new Edge(v1, v2);
    Edge e2 = new Edge(v2, v3);
    Edge e3 = new Edge(v3, v1);
    Edge e4 = new Edge(v1, v4);
    Edge e5 = new Edge(v4, v3);

    g.addVertex(v2);
    g.addVertex(v4);
    g.addVertex(v3);
    g.addVertex(v1);
    g.addEdge(e2);
    g.addEdge(e1);
    g.addEdge(e3);
    g.addEdge(e2);
    g.addEdge(e1);
    g.addEdge(e3);
    g.addEdge(e5);
    g.addEdge(e4);

    assertTrue(g.getAllEdgesInDirectedCycles().size() == 5);
  }
Пример #2
0
  @Test
  public void testDetectCycles0() {
    Graph g = new Graph();
    Vertex v1 = new Vertex();
    Vertex v2 = new Vertex();
    Edge e = new Edge(v1, v2);
    g.addVertex(v2);
    g.addVertex(v1);
    g.addEdge(e);

    if (!g.getAllEdgesInDirectedCycles().isEmpty()) fail("bad cycles :(");
  }
Пример #3
0
  @Test
  public void testDetectCycles1() {
    Graph g = new Graph();
    Vertex v1 = new Vertex();
    Vertex v2 = new Vertex();
    Edge e1 = new Edge(v1, v2);
    Edge e2 = new Edge(v2, v1);
    g.addVertex(v2);
    g.addVertex(v1);
    g.addEdge(e1);
    g.addEdge(e2);

    assertTrue(g.getAllEdgesInDirectedCycles().size() == 2);
  }