mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-05 19:00:31 -05:00
35 lines
884 B
OCaml
35 lines
884 B
OCaml
[@@@ocaml.warning "-33"]
|
|
|
|
open CCFun
|
|
module T = (val Containers_testlib.make ~__FILE__ ())
|
|
include T;;
|
|
|
|
eq ~printer:Q.Print.int 10 (iterate 0 succ 10);;
|
|
eq ~printer:Q.Print.int 11 (iterate 1 succ 10);;
|
|
eq ~printer:Q.Print.int 12 (iterate 2 succ 10);;
|
|
eq ~printer:Q.Print.int 15 (iterate 5 succ 10);;
|
|
|
|
t @@ fun () ->
|
|
assert_raises
|
|
(function
|
|
| Invalid_argument _ -> true
|
|
| _ -> false)
|
|
(fun () -> iterate (-1) succ 10);
|
|
true
|
|
;;
|
|
|
|
t @@ fun () -> CCFun.((succ %> string_of_int) 2 = "3");;
|
|
t @@ fun () -> CCFun.((( * ) 3 % succ) 5 = 18);;
|
|
t @@ fun () -> CCFun.(succ @@ ( * ) 2 @@ pred @@ 3 = 5)
|
|
|
|
let find_array arr x =
|
|
let@ return = with_return in
|
|
for i = 0 to Array.length arr - 1 do
|
|
if arr.(i) = x then return i
|
|
done;
|
|
-1
|
|
;;
|
|
|
|
eq 1 @@ find_array [| "a"; "b"; "c" |] "b";;
|
|
eq 2 @@ find_array [| "a"; "b"; "c" |] "c";;
|
|
eq (-1) @@ find_array [| "a"; "b"; "c" |] "hello"
|