1+ using System . Linq ;
2+ using NUnit . Framework ;
3+
4+ public class BinarySearchTreeTest
5+ {
6+ [ Test ]
7+ public void Data_is_retained ( )
8+ {
9+ var tree = new BinarySearchTree ( 4 ) ;
10+ Assert . That ( tree . Value , Is . EqualTo ( 4 ) ) ;
11+ }
12+
13+ [ Ignore ( "Remove to run test" ) ]
14+ [ Test ]
15+ public void Inserting_less ( )
16+ {
17+ var tree = new BinarySearchTree ( 4 ) . Add ( 2 ) ;
18+ Assert . That ( tree . Value , Is . EqualTo ( 4 ) ) ;
19+ Assert . That ( tree . Left . Value , Is . EqualTo ( 2 ) ) ;
20+ }
21+
22+ [ Ignore ( "Remove to run test" ) ]
23+ [ Test ]
24+ public void Inserting_same ( )
25+ {
26+ var tree = new BinarySearchTree ( 4 ) . Add ( 4 ) ;
27+ Assert . That ( tree . Value , Is . EqualTo ( 4 ) ) ;
28+ Assert . That ( tree . Left . Value , Is . EqualTo ( 4 ) ) ;
29+ }
30+
31+ [ Ignore ( "Remove to run test" ) ]
32+ [ Test ]
33+ public void Inserting_greater ( )
34+ {
35+ var tree = new BinarySearchTree ( 4 ) . Add ( 5 ) ;
36+ Assert . That ( tree . Value , Is . EqualTo ( 4 ) ) ;
37+ Assert . That ( tree . Right . Value , Is . EqualTo ( 5 ) ) ;
38+ }
39+
40+ [ Ignore ( "Remove to run test" ) ]
41+ [ Test ]
42+ public void Complex_tree ( )
43+ {
44+ var tree = new BinarySearchTree ( new [ ] { 4 , 2 , 6 , 1 , 3 , 7 , 5 } ) ;
45+ Assert . That ( tree . Value , Is . EqualTo ( 4 ) ) ;
46+ Assert . That ( tree . Left . Value , Is . EqualTo ( 2 ) ) ;
47+ Assert . That ( tree . Left . Left . Value , Is . EqualTo ( 1 ) ) ;
48+ Assert . That ( tree . Left . Right . Value , Is . EqualTo ( 3 ) ) ;
49+ Assert . That ( tree . Right . Value , Is . EqualTo ( 6 ) ) ;
50+ Assert . That ( tree . Right . Left . Value , Is . EqualTo ( 5 ) ) ;
51+ Assert . That ( tree . Right . Right . Value , Is . EqualTo ( 7 ) ) ;
52+ }
53+
54+ [ Ignore ( "Remove to run test" ) ]
55+ [ Test ]
56+ public void Iterating_one_element ( )
57+ {
58+ var elements = new BinarySearchTree ( 4 ) ;
59+ Assert . That ( elements , Is . EqualTo ( new [ ] { 4 } ) ) ;
60+ }
61+
62+ [ Ignore ( "Remove to run test" ) ]
63+ [ Test ]
64+ public void Iterating_over_smaller_element ( )
65+ {
66+ var elements = new BinarySearchTree ( new [ ] { 4 , 2 } ) . AsEnumerable ( ) ;
67+ Assert . That ( elements , Is . EqualTo ( new [ ] { 2 , 4 } ) ) ;
68+ }
69+
70+ [ Ignore ( "Remove to run test" ) ]
71+ [ Test ]
72+ public void Iterating_over_larger_element ( )
73+ {
74+ var elements = new BinarySearchTree ( new [ ] { 4 , 5 } ) . AsEnumerable ( ) ;
75+ Assert . That ( elements , Is . EqualTo ( new [ ] { 4 , 5 } ) ) ;
76+ }
77+
78+ [ Ignore ( "Remove to run test" ) ]
79+ [ Test ]
80+ public void Iterating_over_complex_element ( )
81+ {
82+ var elements = new BinarySearchTree ( new [ ] { 4 , 2 , 1 , 3 , 6 , 7 , 5 } ) . AsEnumerable ( ) ;
83+ Assert . That ( elements , Is . EqualTo ( new [ ] { 1 , 2 , 3 , 4 , 5 , 6 , 7 } ) ) ;
84+ }
85+ }
0 commit comments