-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtestBSTree.cpp
172 lines (152 loc) · 7.01 KB
/
testBSTree.cpp
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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
#include<iostream>
#include "BSTree.h"
int main()
{
std::cout << "Creating BSTree<int> bstree ..." << std::endl;
BSTree<int> bstree = BSTree<int>();
std::cout << std::endl;
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(15)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.insert(15);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "bstree.search(15): ";
std::cout << bstree.search(15) << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(7)" << std::endl;
std::cout << "----------------" << std::endl;
bstree.insert(7);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "bstree.search(7): ";
std::cout << bstree.search(7) << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(3)" << std::endl;
std::cout << "----------------" << std::endl;
bstree.insert(3);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "bstree.search(3): ";
std::cout << bstree.search(3) << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(11)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.insert(11);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "bstree.search(11): ";
std::cout << bstree.search(11) << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(9)" << std::endl;
std::cout << "----------------" << std::endl;
bstree.insert(9);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "bstree.search(9): ";
std::cout << bstree.search(9) << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(18)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.insert(18);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "bstree.search(18): ";
std::cout << bstree.search(18) << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(21)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.insert(21);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "bstree.search(21): ";
std::cout << bstree.search(21) << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(20)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.insert(20);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "bstree.search(20): ";
std::cout << bstree.search(20) << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
try {
bstree.search(0);
std::cout << "bstree.search(0) => ERROR! It did not throw std::runtime_error... :(" << std::endl;
} catch(std::runtime_error &e) {
std::cout << "bstree.search(0) => OK! It throwed std::runtime_error: " << e.what() << std::endl;
}
try {
bstree.search(9);
std::cout << "bstree.search(9) => OK! It did not throw std::runtime_error." << std::endl;
} catch(std::runtime_error &e) {
std::cout << "bstree.search(9) => ERROR! It throwed std::runtime_error :( " << std::endl;
}
try {
bstree.insert(9);
std::cout << "bstree.insert(9) => ERROR! It did not throw std::runtime_error... :(" << std::endl;
} catch(std::runtime_error &e) {
std::cout << "bstree.insert(9) => OK! It throwed std::runtime_error: " << e.what() << std::endl;
}
try {
bstree.remove(50);
std::cout << "bstree.remove(50) => ERROR! It did not throw std::runtime_error... :(" << std::endl;
} catch(std::runtime_error &e) {
std::cout << "bstree.remove(50) => OK! It throwed std::runtime_error: " << e.what() << std::endl;
}
std::cout << std::endl;
std::cout << "bstree.remove(9)" << std::endl;
std::cout << "----------------" << std::endl;
bstree.remove(9);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(9)" << std::endl;
std::cout << "----------------" << std::endl;
bstree.insert(9);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << "bstree.remove(11)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.remove(11);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(11)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.insert(11);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << "bstree.remove(7)" << std::endl;
std::cout << "----------------" << std::endl;
bstree.remove(7);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(7)" << std::endl;
std::cout << "----------------" << std::endl;
bstree.insert(7);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << std::endl;
std::cout << "bstree.remove(15)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.remove(15);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
std::cout << "bstree.insert(15)" << std::endl;
std::cout << "-----------------" << std::endl;
bstree.insert(15);
std::cout << "bstree.size(): " << bstree.size() << std::endl;
std::cout << "cout << bstree: " << std::endl << bstree << std::endl;
std::cout << std::endl;
return 0;
}