-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathSimpleTreeTest.java
More file actions
97 lines (88 loc) · 3.81 KB
/
SimpleTreeTest.java
File metadata and controls
97 lines (88 loc) · 3.81 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import org.junit.Test;
import static org.junit.Assert.*;
public class SimpleTreeTest {
@Test
public void addChild() {
SimpleTreeNode<Integer> root = new SimpleTreeNode<>(9, null);
SimpleTree<Integer> tree = new SimpleTree<>(root);
SimpleTreeNode<Integer> node1 = new SimpleTreeNode<>(4, root);
SimpleTreeNode<Integer> node2 = new SimpleTreeNode<>(17, root);
SimpleTreeNode<Integer> node3 = new SimpleTreeNode<>(3, root);
tree.AddChild(root,node1);
tree.AddChild(root, node2);
tree.AddChild(node1,node3);
assertEquals(root.Children.get(0).NodeValue,node1.NodeValue);
assertEquals(root.Children.get(1).NodeValue,node2.NodeValue);
}
@Test
public void deleteNode() {
SimpleTreeNode<Integer> root = new SimpleTreeNode<>(9, null);
SimpleTree<Integer> tree = new SimpleTree<>(root);
SimpleTreeNode<Integer> node1 = new SimpleTreeNode<>(4, root);
SimpleTreeNode<Integer> node2 = new SimpleTreeNode<>(17, root);
SimpleTreeNode<Integer> node3 = new SimpleTreeNode<>(3, root);
tree.AddChild(root,node1);
tree.AddChild(root, node2);
tree.AddChild(node1,node3);
tree.DeleteNode(node1);
assertEquals(tree.Count(),3);
assertEquals(root.Children.get(0).NodeValue, node2.NodeValue);
}
@Test
public void getAllNodes() {
SimpleTreeNode<Integer> root = new SimpleTreeNode<>(9, null);
SimpleTree<Integer> tree = new SimpleTree<>(root);
SimpleTreeNode<Integer> node1 = new SimpleTreeNode<>(4, root);
tree.AddChild(root, node1);
assertEquals(2, tree.GetAllNodes().size());
}
@Test
public void moveNode() {
SimpleTreeNode<Integer> root = new SimpleTreeNode<>(9, null);
int [] i = {9,17,5,4,3,6,};
SimpleTree<Integer> tree = new SimpleTree<>(root);
SimpleTreeNode<Integer> node1 = new SimpleTreeNode<>(4, root);
SimpleTreeNode<Integer> node2 = new SimpleTreeNode<>(17, root);
SimpleTreeNode<Integer> node3 = new SimpleTreeNode<>(3, root);
SimpleTreeNode<Integer> node4 = new SimpleTreeNode<>(6, root);
SimpleTreeNode<Integer> node5 = new SimpleTreeNode<>(5, node1);
tree.AddChild(root, node1);
tree.AddChild(root, node2);
tree.AddChild(node1, node3);
tree.AddChild(node1, node4);
tree.AddChild(node2, node5);
tree.MoveNode(node1, node5);
boolean check = true;
tree.GetAllNodes();
System.out.println(tree.nodes.size());
for (int j = 0; j < tree.nodes.size(); j++){
if (i[j] != tree.nodes.get(j).NodeValue){
check = false;
}
}
assertTrue(check);
}
@Test
public void leafCount() {
SimpleTreeNode<Integer> root = new SimpleTreeNode<>(9, null);
SimpleTree<Integer> tree = new SimpleTree<>(root);
SimpleTreeNode<Integer> node1 = new SimpleTreeNode<>(4, root);
SimpleTreeNode<Integer> node2 = new SimpleTreeNode<>(3, root);
SimpleTreeNode<Integer> node3 = new SimpleTreeNode<>(6, root);
tree.AddChild(root, node1);
assertEquals(1, tree.LeafCount());
SimpleTreeNode<Integer> node4 = new SimpleTreeNode<>(5, root);
SimpleTreeNode<Integer> node5 = new SimpleTreeNode<>(7, root);
SimpleTreeNode<Integer> node6 = new SimpleTreeNode<>(17, root);
SimpleTreeNode<Integer> node7 = new SimpleTreeNode<>(22, root);
SimpleTreeNode<Integer> node8 = new SimpleTreeNode<>(20, root);
tree.AddChild(root, node6);
tree.AddChild(node1,node2);
tree.AddChild(node1,node3);
tree.AddChild(node3,node4);
tree.AddChild(node3,node5);
tree.AddChild(node6,node7);
tree.AddChild(node7,node8);
assertEquals(4,tree.LeafCount());
}
}