forked from rescript-lang/rescript
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathounit_array_tests.ml
89 lines (85 loc) · 2.42 KB
/
ounit_array_tests.ml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
let ((>::),
(>:::)) = OUnit.((>::),(>:::))
let (=~) = OUnit.assert_equal
let printer_int_array = fun xs ->
String.concat ","
(List.map string_of_int @@ Array.to_list xs )
let suites =
__FILE__
>:::
[
__LOC__ >:: begin fun _ ->
Ext_array.find_and_split
[|"a"; "b";"c"|]
Ext_string.equal "--" =~ No_split
end;
__LOC__ >:: begin fun _ ->
Ext_array.find_and_split
[|"a"; "b";"c";"--"|]
Ext_string.equal "--" =~ Split( [|"a";"b";"c"|], [||])
end;
__LOC__ >:: begin fun _ ->
Ext_array.find_and_split
[|"--"; "a"; "b";"c";"--"|]
Ext_string.equal "--" =~ Split ([||], [|"a";"b";"c";"--"|])
end;
__LOC__ >:: begin fun _ ->
Ext_array.find_and_split
[| "u"; "g"; "--"; "a"; "b";"c";"--"|]
Ext_string.equal "--" =~ Split ([|"u";"g"|], [|"a";"b";"c";"--"|])
end;
__LOC__ >:: begin fun _ ->
Ext_array.reverse [|1;2|] =~ [|2;1|];
Ext_array.reverse [||] =~ [||]
end ;
__LOC__ >:: begin fun _ ->
let (=~) = OUnit.assert_equal ~printer:printer_int_array in
let k x y = Ext_array.of_list_map y x in
k succ [] =~ [||];
k succ [1] =~ [|2|];
k succ [1;2;3] =~ [|2;3;4|];
k succ [1;2;3;4] =~ [|2;3;4;5|];
k succ [1;2;3;4;5] =~ [|2;3;4;5;6|];
k succ [1;2;3;4;5;6] =~ [|2;3;4;5;6;7|];
k succ [1;2;3;4;5;6;7] =~ [|2;3;4;5;6;7;8|];
end;
__LOC__ >:: begin fun _ ->
Ext_array.to_list_map_acc
[|1;2;3;4;5;6|] [1;2;3]
(fun x -> if x mod 2 = 0 then Some x else None )
=~ [2;4;6;1;2;3]
end;
__LOC__ >:: begin fun _ ->
Ext_array.to_list_map_acc
[|1;2;3;4;5;6|] []
(fun x -> if x mod 2 = 0 then Some x else None )
=~ [2;4;6]
end;
__LOC__ >:: begin fun _ ->
OUnit.assert_bool __LOC__
(Ext_array.for_all2_no_exn
[|1;2;3|]
[|1;2;3|]
(=)
)
end;
__LOC__ >:: begin fun _ ->
OUnit.assert_bool __LOC__
(Ext_array.for_all2_no_exn
[||] [||] (=)
);
OUnit.assert_bool __LOC__
(not @@ Ext_array.for_all2_no_exn
[||] [|1|] (=)
)
end
;
__LOC__ >:: begin fun _ ->
OUnit.assert_bool __LOC__
(not (Ext_array.for_all2_no_exn
[|1;2;3|]
[|1;2;33|]
(=)
))
end
]