@@ -143,6 +143,10 @@ mod tests {
143
143
bubble_sort( & mut [ 29 , 10 , 14 , 30 , 37 , 14 , 18 ] ) ,
144
144
[ 10 , 14 , 14 , 18 , 29 , 30 , 37 ]
145
145
) ;
146
+ assert_eq ! (
147
+ bubble_sort( & mut [ -1 , -2 , 1 , 0 ] ) ,
148
+ [ -2 , -1 , 0 , 1 ]
149
+ ) ;
146
150
assert_eq ! ( bubble_sort( & mut [ ] ) , [ ] ) ;
147
151
assert_eq ! ( bubble_sort( & mut [ 1 , 1 , 1 , 2 , 1 ] ) , [ 1 , 1 , 1 , 1 , 2 ] ) ;
148
152
assert_eq ! ( bubble_sort( & mut [ 2 , 1 , 1 , 1 , 2 ] ) , [ 1 , 1 , 1 , 2 , 2 ] ) ;
@@ -155,6 +159,10 @@ mod tests {
155
159
selection_sort( & mut [ 29 , 10 , 14 , 30 , 37 , 14 , 18 ] ) ,
156
160
[ 10 , 14 , 14 , 18 , 29 , 30 , 37 ]
157
161
) ;
162
+ assert_eq ! (
163
+ selection_sort( & mut [ -1 , -2 , 1 , 0 ] ) ,
164
+ [ -2 , -1 , 0 , 1 ]
165
+ ) ;
158
166
assert_eq ! ( selection_sort( & mut [ ] ) , [ ] ) ;
159
167
assert_eq ! ( selection_sort( & mut [ 1 , 1 , 1 , 2 , 1 ] ) , [ 1 , 1 , 1 , 1 , 2 ] ) ;
160
168
assert_eq ! ( selection_sort( & mut [ 2 , 1 , 1 , 1 , 2 ] ) , [ 1 , 1 , 1 , 2 , 2 ] ) ;
@@ -167,6 +175,10 @@ mod tests {
167
175
insertion_sort( & mut [ 29 , 10 , 14 , 30 , 37 , 14 , 18 ] ) ,
168
176
[ 10 , 14 , 14 , 18 , 29 , 30 , 37 ]
169
177
) ;
178
+ assert_eq ! (
179
+ insertion_sort( & mut [ -1 , -2 , 1 , 0 ] ) ,
180
+ [ -2 , -1 , 0 , 1 ]
181
+ ) ;
170
182
assert_eq ! ( insertion_sort( & mut [ ] ) , [ ] ) ;
171
183
assert_eq ! ( insertion_sort( & mut [ 1 , 1 , 1 , 2 , 1 ] ) , [ 1 , 1 , 1 , 1 , 2 ] ) ;
172
184
assert_eq ! ( insertion_sort( & mut [ 2 , 1 , 1 , 1 , 2 ] ) , [ 1 , 1 , 1 , 2 , 2 ] ) ;
@@ -179,5 +191,22 @@ mod tests {
179
191
assert_eq ! ( merge( & [ ] , & [ ] ) , vec![ ] ) ;
180
192
assert_eq ! ( merge( & [ 1 , 3 , 5 ] , & [ 2 , 4 , 6 ] ) , vec![ 1 , 2 , 3 , 4 , 5 , 6 ] ) ;
181
193
}
194
+
195
+ #[ test]
196
+ fn test_merge_sort ( ) {
197
+ assert_eq ! (
198
+ merge_sort( & mut [ 29 , 10 , 14 , 30 , 37 , 14 , 18 ] ) ,
199
+ [ 10 , 14 , 14 , 18 , 29 , 30 , 37 ]
200
+ ) ;
201
+ assert_eq ! (
202
+ merge_sort( & mut [ -1 , -2 , 1 , 0 ] ) ,
203
+ [ -2 , -1 , 0 , 1 ]
204
+ ) ;
205
+ assert_eq ! ( merge_sort( & mut [ ] ) , [ ] ) ;
206
+ assert_eq ! ( merge_sort( & mut [ 1 , 1 , 1 , 2 , 1 ] ) , [ 1 , 1 , 1 , 1 , 2 ] ) ;
207
+ assert_eq ! ( merge_sort( & mut [ 2 , 1 , 1 , 1 , 2 ] ) , [ 1 , 1 , 1 , 2 , 2 ] ) ;
208
+ assert_eq ! ( merge_sort( & mut [ 1 ] ) , [ 1 ] ) ;
209
+ }
210
+
182
211
}
183
212
}
0 commit comments