@@ -113,13 +113,39 @@ test {
113
113
testing .refAllDecls (@This ());
114
114
}
115
115
116
- test "merge_sort" {
117
- var empty = [_ ]u32 {};
118
- merge_sort (u32 , & empty , empty .len );
116
+ test "empty" {
117
+ var array = [_ ]u32 {};
118
+ merge_sort (u32 , & array , array .len );
119
+ }
120
+
121
+ test "single " {
122
+ var array = [_ ]u32 {42 };
123
+ merge_sort (u32 , & array , array .len );
124
+ }
125
+
126
+ test "worst-case, reversed" {
127
+ var array = [_ ]u32 { 5 , 4 , 3 , 2 , 1 };
128
+ merge_sort (u32 , & array , array .len );
129
+
130
+ try testing .expectEqual (1 , array [0 ]);
131
+ try testing .expectEqual (2 , array [1 ]);
132
+ try testing .expectEqual (3 , array [2 ]);
133
+ try testing .expectEqual (4 , array [3 ]);
134
+ try testing .expectEqual (5 , array [4 ]);
135
+ }
119
136
120
- var single = [_ ]u32 {42 };
121
- merge_sort (u32 , & single , single .len );
137
+ test "best-case, sorted" {
138
+ var array = [_ ]u32 { 5 , 4 , 3 , 2 , 1 };
139
+ merge_sort (u32 , & array , array .len );
140
+
141
+ try testing .expectEqual (1 , array [0 ]);
142
+ try testing .expectEqual (2 , array [1 ]);
143
+ try testing .expectEqual (3 , array [2 ]);
144
+ try testing .expectEqual (4 , array [3 ]);
145
+ try testing .expectEqual (5 , array [4 ]);
146
+ }
122
147
148
+ test "random" {
123
149
var array = [_ ]u32 { 1 , 5 , 4 , 2 , 3 };
124
150
merge_sort (u32 , & array , array .len );
125
151
0 commit comments