@@ -31,8 +31,8 @@ void main() {
31
31
});
32
32
33
33
test ('Test single node' , () {
34
- expect (singleNode.root! .value, equals (0 ));
35
- expect (multipleNodes.root! .value, equals ('l ' ));
34
+ expect (singleNode.root! .value, equals ('@' ));
35
+ expect (multipleNodes.root! .value, equals ('f ' ));
36
36
});
37
37
38
38
test ('Nullify' , () {
@@ -43,8 +43,8 @@ void main() {
43
43
44
44
test ('Check contains' , () {
45
45
expect (empty.contains ('' ), isFalse);
46
- expect (singleNode.contains ('@' ), isFalse );
47
- expect (singleNode.contains ('' ), isTrue );
46
+ expect (singleNode.contains ('@' ), isTrue );
47
+ expect (singleNode.contains ('' ), isFalse );
48
48
expect (multipleNodes.contains ('nope' ), isFalse);
49
49
50
50
for (var i in ['f' , 'b' , 'g' , 'a' , 'd' , 'i' , 'c' , 'e' , 'h' ]) {
@@ -60,13 +60,12 @@ void main() {
60
60
equals (< String > ['f' , 'b' , 'a' , 'd' , 'c' , 'e' , 'g' , 'i' , 'h' ]));
61
61
});
62
62
63
- // Results in stack overflow.
64
63
test ('Post-order' , () {
65
64
expect (empty.postOrder (), < String > []);
66
65
expect (singleNode.postOrder (), < String > ['@' ]);
67
66
expect (multipleNodes.postOrder (),
68
67
equals (< String > ['a' , 'c' , 'e' , 'd' , 'b' , 'h' , 'i' , 'g' , 'f' ]));
69
- }, skip : true );
68
+ });
70
69
71
70
test ('In-order' , () {
72
71
expect (empty.inOrder (), < String > []);
@@ -169,6 +168,32 @@ void main() {
169
168
var list = multipleNodes.inOrder ();
170
169
171
170
multipleNodes.delete ('f' );
172
- expect (multipleNodes.inOrder (), (list..remove ('m' )));
171
+ expect (multipleNodes.inOrder (), equals (list..remove ('f' )));
172
+
173
+ multipleNodes.delete ('a' );
174
+ expect (multipleNodes.inOrder (), equals (list..remove ('a' )));
175
+
176
+ multipleNodes.delete ('i' );
177
+ expect (multipleNodes.inOrder (), equals (list..remove ('i' )));
178
+
179
+ multipleNodes.delete ('c' );
180
+ expect (multipleNodes.inOrder (), equals (list..remove ('c' )));
181
+
182
+ multipleNodes.delete ('e' );
183
+ expect (multipleNodes.inOrder (), equals (list..remove ('e' )));
184
+
185
+ multipleNodes.delete ('d' );
186
+ expect (multipleNodes.inOrder (), equals (list..remove ('d' )));
187
+
188
+ multipleNodes.delete ('b' );
189
+ expect (multipleNodes.inOrder (), equals (list..remove ('b' )));
190
+
191
+ multipleNodes.delete ('g' );
192
+ expect (multipleNodes.inOrder (), equals (list..remove ('g' )));
193
+
194
+ multipleNodes.delete ('h' );
195
+ expect (multipleNodes.inOrder (), (list..remove ('h' )));
196
+
197
+ expect (multipleNodes.isEmpty, isTrue);
173
198
});
174
199
}
0 commit comments