Skip to content

Commit 0f285d3

Browse files
committed
added a test for SCC construction
1 parent b5397da commit 0f285d3

File tree

1 file changed

+42
-0
lines changed

1 file changed

+42
-0
lines changed
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package soot.toolkits.graph;
2+
3+
import java.util.List;
4+
5+
import org.junit.Assert;
6+
import org.junit.Test;
7+
8+
public class SCCFastTest {
9+
10+
@Test
11+
public void testSCC1() {
12+
Node rootNode = new Node(0);
13+
Node left0 = new Node(1);
14+
Node left1 = new Node(2);
15+
Graph g = new Graph(rootNode);
16+
rootNode.addkid(left0);
17+
rootNode.addkid(left1);
18+
StronglyConnectedComponentsFast<Node> scc = new StronglyConnectedComponentsFast<Node>(g);
19+
Assert.assertTrue(scc.getTrueComponents().isEmpty());
20+
}
21+
22+
@Test
23+
public void testSCC2() {
24+
Node rootNode = new Node(0);
25+
Node left0 = new Node(1);
26+
Node left1 = new Node(2);
27+
Node left0a = new Node(3);
28+
Node left0b = new Node(4);
29+
Graph g = new Graph(rootNode);
30+
rootNode.addkid(left0);
31+
rootNode.addkid(left1);
32+
left0.addkid(left0a);
33+
left0a.addkid(left0b);
34+
left0b.addkid(left0);
35+
StronglyConnectedComponentsFast<Node> scc = new StronglyConnectedComponentsFast<Node>(g);
36+
Assert.assertEquals(1, scc.getTrueComponents().size());
37+
38+
List<Node> nodes = scc.getTrueComponents().get(0);
39+
Assert.assertEquals(3, nodes.size());
40+
}
41+
42+
}

0 commit comments

Comments
 (0)