• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 package test;
2 
3 import org.testng.Assert;
4 import org.testng.annotations.Test;
5 import org.testng.internal.DynamicGraph;
6 import org.testng.internal.DynamicGraph.Status;
7 
8 import java.util.List;
9 import java.util.Set;
10 
11 public class DynamicGraphTest {
12 
assertFreeNodesEquals(DynamicGraph<T> graph, T[] expected)13   private static <T> void assertFreeNodesEquals(DynamicGraph<T> graph, T[] expected) {
14     Assert.assertEqualsNoOrder(graph.getFreeNodes().toArray(), expected);
15   }
16 
17   @Test
test8()18   public void test8() {
19     DynamicGraph<String> dg = new DynamicGraph<>();
20     dg.addNode("a1");
21     dg.addNode("a2");
22     dg.addNode("b1");
23     dg.addNode("b2");
24     dg.addNode("c1");
25     dg.addEdge("b1", "a1");
26     dg.addEdge("b1", "a2");
27     dg.addEdge("b2", "a1");
28     dg.addEdge("b2", "a2");
29     dg.addEdge("c1", "b1");
30     dg.addEdge("c1", "b2");
31     dg.addNode("x");
32     dg.addNode("y");
33     List<String> freeNodes = dg.getFreeNodes();
34     assertFreeNodesEquals(dg, new String[] {"a1", "a2", "y", "x"});
35 
36     dg.setStatus(freeNodes, Status.RUNNING);
37     dg.setStatus("a1", Status.FINISHED);
38     assertFreeNodesEquals(dg, new String[] {});
39 
40     dg.setStatus("a2", Status.FINISHED);
41     assertFreeNodesEquals(dg, new String[] { "b1", "b2"});
42 
43     dg.setStatus("b2", Status.RUNNING);
44     dg.setStatus("b1", Status.FINISHED);
45     assertFreeNodesEquals(dg, new String[] {});
46 
47     dg.setStatus("b2", Status.FINISHED);
48     assertFreeNodesEquals(dg, new String[] { "c1" });
49   }
50 
51   @Test
test2()52   public void test2() {
53     DynamicGraph<String> dg = new DynamicGraph<>();
54     dg.addNode("a1");
55     dg.addNode("a2");
56     dg.addNode("b1");
57     dg.addEdge("b1", "a1");
58     dg.addEdge("b1", "a2");
59     dg.addNode("x");
60     List<String> freeNodes = dg.getFreeNodes();
61     assertFreeNodesEquals(dg, new String[] { "a1", "a2", "x" });
62 
63     dg.setStatus(freeNodes, Status.RUNNING);
64     dg.setStatus("a1", Status.FINISHED);
65     assertFreeNodesEquals(dg, new String[] {});
66 
67     dg.setStatus("a2", Status.FINISHED);
68     assertFreeNodesEquals(dg, new String[] { "b1" });
69 
70     dg.setStatus("b2", Status.RUNNING);
71     dg.setStatus("b1", Status.FINISHED);
72     assertFreeNodesEquals(dg, new String[] {});
73   }
74 
75 }
76