@@ -225,21 +225,25 @@ testList = do
225
225
assert $ (take 1 (l [1 , 2 , 3 ])) == l [1 ]
226
226
assert $ (take 2 (l [1 , 2 , 3 ])) == l [1 , 2 ]
227
227
assert $ (take 1 nil) == nil
228
+ assert $ (take 0 (l [1 , 2 ])) == l []
229
+ assert $ (take (-1 ) (l [1 , 2 ])) == l []
228
230
229
231
log " takeEnd should keep the specified number of items from the end of an list, discarding the rest"
230
232
assert $ (takeEnd 1 (l [1 , 2 , 3 ])) == l [3 ]
231
233
assert $ (takeEnd 2 (l [1 , 2 , 3 ])) == l [2 , 3 ]
232
234
assert $ (takeEnd 1 nil) == nil
235
+ assert $ (takeEnd 2 (l [1 ])) == l [1 ]
233
236
234
237
log " takeWhile should keep all values that match a predicate from the front of an list"
235
238
assert $ (takeWhile (_ /= 2 ) (l [1 , 2 , 3 ])) == l [1 ]
236
239
assert $ (takeWhile (_ /= 3 ) (l [1 , 2 , 3 ])) == l [1 , 2 ]
237
240
assert $ (takeWhile (_ /= 1 ) nil) == nil
238
241
239
- log " dropE should remove the specified number of items from the front of an list"
242
+ log " drop should remove the specified number of items from the front of an list"
240
243
assert $ (drop 1 (l [1 , 2 , 3 ])) == l [2 , 3 ]
241
244
assert $ (drop 2 (l [1 , 2 , 3 ])) == l [3 ]
242
245
assert $ (drop 1 nil) == nil
246
+ assert $ (drop (-1 ) (l [1 , 2 , 3 ])) == l [1 , 2 , 3 ]
243
247
244
248
log " dropEnd should remove the specified number of items from the end of an list"
245
249
assert $ (dropEnd 1 (l [1 , 2 , 3 ])) == l [1 , 2 ]
0 commit comments