public void testCycle() { Node a = new Node("a"); Node b = new Node("b"); Node c = new Node("c"); Node d = new Node("d"); Node e = new Node("e"); Node o = new Node("o"); d.setFollows(c, b); a.setPrecedes(b); d.setPrecedes(e, a); e.setFollows(b); TopologicalSort<Node> ts = new TopologicalSort(a, b, c, d, e, o); assertTrue(ts.isCyclic()); }
public void testSort() { Node a = new Node("a"); Node b = new Node("b"); Node c = new Node("c"); Node d = new Node("d"); Node e = new Node("e"); Node o = new Node("o"); d.setFollows(c, b); a.setPrecedes(b); d.setPrecedes(e); e.setFollows(b); TopologicalSort<Node> ts = new TopologicalSort(a, b, c, d, e, o); String order = ts.evaluationOrder().toString(); assertTrue(order.equals("[o, c, a, b, d, e]") || order.equals("[o, a, c, b, d, e]")); }