@@ -25,7 +25,7 @@ let test_option typ tested_f (name, case, expected) =
2525 let check () = Alcotest. (check @@ option typ) name expected (tested_f case) in
2626 (name, `Quick , check)
2727
28- let test_chopped_list tested_f (name , case , expected ) =
28+ let test_split_at_list tested_f (name , case , expected ) =
2929 let check () =
3030 Alcotest. (check @@ pair (list int ) (list int )) name expected (tested_f case)
3131 in
@@ -135,7 +135,7 @@ let test_last =
135135 let error_tests = List. map error_test error_specs in
136136 (" last" , tests @ error_tests)
137137
138- let test_chop =
138+ let test_split_at =
139139 let specs =
140140 [
141141 ([] , 0 , ([] , [] ))
@@ -144,67 +144,21 @@ let test_chop =
144144 ; ([0 ; 1 ], 0 , ([] , [0 ; 1 ]))
145145 ; ([0 ; 1 ], 1 , ([0 ], [1 ]))
146146 ; ([0 ; 1 ], 2 , ([0 ; 1 ], [] ))
147- ]
148- in
149- let error_specs =
150- [
151- ([0 ], - 1 , Invalid_argument " chop: index cannot be negative" )
152- ; ([0 ], 2 , Invalid_argument " chop: index not in list" )
147+ (* test invalid arguments *) [@ ocamlformat " disable" ]
148+ ; ([0 ], - 1 , ([] , [0 ]))
149+ ; ([0 ], 2 , ([0 ], [] ))
153150 ]
154151 in
155152 let test (whole , number , expected ) =
156153 let name =
157- Printf. sprintf " chop [%s] with %i"
158- (String. concat " ; " (List. map string_of_int whole))
159- number
160- in
161- test_chopped_list (Listext. chop number) (name, whole, expected)
162- in
163- let tests = List. map test specs in
164- let error_test (whole , number , error ) =
165- let name =
166- Printf. sprintf " chop [%s] with %i fails"
154+ Printf. sprintf " split_at [%s] with %i"
167155 (String. concat " ; " (List. map string_of_int whole))
168156 number
169157 in
170- test_error
171- (fun ls () -> ignore (Listext. chop number ls))
172- (name, whole, error)
173- in
174- let error_tests = List. map error_test error_specs in
175- (" chop" , tests @ error_tests)
176-
177- let test_sub =
178- let specs =
179- [
180- ([] , 0 , 0 , [] )
181- ; ([] , 0 , 1 , [] )
182- ; ([0 ], 0 , 0 , [] )
183- ; ([0 ], 0 , 1 , [0 ])
184- ; ([0 ], 1 , 1 , [] )
185- ; ([0 ], 0 , 2 , [0 ])
186- ; ([0 ; 1 ], 0 , 0 , [] )
187- ; ([0 ; 1 ], 0 , 1 , [0 ])
188- ; ([0 ; 1 ], 0 , 2 , [0 ; 1 ])
189- ; ([0 ; 1 ], 1 , 1 , [] )
190- ; ([0 ; 1 ], 1 , 2 , [1 ])
191- ; ([0 ; 1 ], 2 , 2 , [] )
192- (* test_cases below used to fail *) [@ ocamlformat " disable" ]
193- ; ([0 ], - 1 , 0 , [] )
194- ; ([0 ], 0 , - 1 , [] )
195- ; ([0 ; 1 ], 1 , 0 , [] )
196- ]
197- in
198- let test (whole , from , until , expected ) =
199- let name =
200- Printf. sprintf " sub [%s] from %i to %i"
201- (String. concat " ; " (List. map string_of_int whole))
202- from until
203- in
204- test_list (Listext. sub from until) (name, whole, expected)
158+ test_split_at_list (Listext. split_at number) (name, whole, expected)
205159 in
206160 let tests = List. map test specs in
207- (" sub " , tests)
161+ (" split_at " , tests)
208162
209163let test_find_minimum (name , pp , typ , specs ) =
210164 let test ((cmp , cmp_name ), input , expected ) =
@@ -260,8 +214,7 @@ let () =
260214 ; test_take
261215 ; test_drop
262216 ; test_last
263- ; test_chop
264- ; test_sub
217+ ; test_split_at
265218 ; test_find_minimum_int
266219 ; test_find_minimum_tuple
267220 ]
0 commit comments