mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 11:15:31 -05:00
updated tests
This commit is contained in:
parent
61ab1ab2cd
commit
b9d38ff624
1 changed files with 24 additions and 24 deletions
|
|
@ -2,7 +2,7 @@
|
||||||
open OUnit
|
open OUnit
|
||||||
|
|
||||||
module H = PersistentHashtbl.Make(struct type t = int let equal = (=) let hash i = i end)
|
module H = PersistentHashtbl.Make(struct type t = int let equal = (=) let hash i = i end)
|
||||||
open Gen.Infix
|
open Sequence.Infix
|
||||||
|
|
||||||
let test_add () =
|
let test_add () =
|
||||||
let h = H.create 32 in
|
let h = H.create 32 in
|
||||||
|
|
@ -16,29 +16,29 @@ let my_list =
|
||||||
4, "d";
|
4, "d";
|
||||||
]
|
]
|
||||||
|
|
||||||
let my_gen = Gen.of_list my_list
|
let my_seq = Sequence.of_list my_list
|
||||||
|
|
||||||
let test_of_gen () =
|
let test_of_seq () =
|
||||||
let h = H.of_gen my_gen in
|
let h = H.of_seq my_seq in
|
||||||
OUnit.assert_equal "b" (H.find h 2);
|
OUnit.assert_equal "b" (H.find h 2);
|
||||||
OUnit.assert_equal "a" (H.find h 1);
|
OUnit.assert_equal "a" (H.find h 1);
|
||||||
OUnit.assert_raises Not_found (fun () -> H.find h 42);
|
OUnit.assert_raises Not_found (fun () -> H.find h 42);
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_to_gen () =
|
let test_to_seq () =
|
||||||
let h = H.of_gen my_gen in
|
let h = H.of_seq my_seq in
|
||||||
let l = Gen.to_list (H.to_gen h) in
|
let l = Sequence.to_list (H.to_seq h) in
|
||||||
OUnit.assert_equal my_list (List.sort compare l)
|
OUnit.assert_equal my_list (List.sort compare l)
|
||||||
|
|
||||||
let test_resize () =
|
let test_resize () =
|
||||||
let h = H.of_gen
|
let h = H.of_seq
|
||||||
(Gen.map (fun i -> i, string_of_int i)
|
Sequence.(map (fun i -> i, string_of_int i)
|
||||||
(Gen.int_range 0 200)) in
|
(0 -- 200)) in
|
||||||
OUnit.assert_equal 201 (H.length h);
|
OUnit.assert_equal 201 (H.length h);
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_persistent () =
|
let test_persistent () =
|
||||||
let h = H.of_gen my_gen in
|
let h = H.of_seq my_seq in
|
||||||
OUnit.assert_equal "a" (H.find h 1);
|
OUnit.assert_equal "a" (H.find h 1);
|
||||||
OUnit.assert_raises Not_found (fun () -> H.find h 5);
|
OUnit.assert_raises Not_found (fun () -> H.find h 5);
|
||||||
let h' = H.replace h 5 "e" in
|
let h' = H.replace h 5 "e" in
|
||||||
|
|
@ -50,25 +50,25 @@ let test_persistent () =
|
||||||
|
|
||||||
let test_big () =
|
let test_big () =
|
||||||
let n = 10000 in
|
let n = 10000 in
|
||||||
let gen = Gen.map (fun i -> i, string_of_int i) (0--n) in
|
let seq = Sequence.map (fun i -> i, string_of_int i) (0--n) in
|
||||||
let h = H.of_gen gen in
|
let h = H.of_seq seq in
|
||||||
(*
|
(*
|
||||||
Format.printf "@[<v2>table:%a@]@." (Gen.pp_gen
|
Format.printf "@[<v2>table:%a@]@." (Sequence.pp_seq
|
||||||
(fun formatter (k,v) -> Format.fprintf formatter "%d -> \"%s\"" k v))
|
(fun formatter (k,v) -> Format.fprintf formatter "%d -> \"%s\"" k v))
|
||||||
(H.to_gen h);
|
(H.to_seq h);
|
||||||
*)
|
*)
|
||||||
Gen.iter
|
Sequence.iter
|
||||||
(fun (k,v) ->
|
(fun (k,v) ->
|
||||||
(*
|
(*
|
||||||
Format.printf "lookup %d@." k;
|
Format.printf "lookup %d@." k;
|
||||||
*)
|
*)
|
||||||
OUnit.assert_equal ~printer:(fun x -> x) v (H.find h k))
|
OUnit.assert_equal ~printer:(fun x -> x) v (H.find h k))
|
||||||
gen;
|
seq;
|
||||||
OUnit.assert_raises Not_found (fun () -> H.find h (n+1));
|
OUnit.assert_raises Not_found (fun () -> H.find h (n+1));
|
||||||
()
|
()
|
||||||
|
|
||||||
let test_remove () =
|
let test_remove () =
|
||||||
let h = H.of_gen my_gen in
|
let h = H.of_seq my_seq in
|
||||||
OUnit.assert_equal (H.find h 2) "b";
|
OUnit.assert_equal (H.find h 2) "b";
|
||||||
OUnit.assert_equal (H.find h 3) "c";
|
OUnit.assert_equal (H.find h 3) "c";
|
||||||
OUnit.assert_equal (H.find h 4) "d";
|
OUnit.assert_equal (H.find h 4) "d";
|
||||||
|
|
@ -80,12 +80,12 @@ let test_remove () =
|
||||||
OUnit.assert_raises Not_found (fun () -> H.find h 2)
|
OUnit.assert_raises Not_found (fun () -> H.find h 2)
|
||||||
|
|
||||||
let test_size () =
|
let test_size () =
|
||||||
let open Gen.Infix in
|
let open Sequence.Infix in
|
||||||
let n = 10000 in
|
let n = 10000 in
|
||||||
let gen = Gen.map (fun i -> i, string_of_int i) (0 -- n) in
|
let seq = Sequence.map (fun i -> i, string_of_int i) (0 -- n) in
|
||||||
let h = H.of_gen gen in
|
let h = H.of_seq seq in
|
||||||
OUnit.assert_equal (n+1) (H.length h);
|
OUnit.assert_equal (n+1) (H.length h);
|
||||||
let h = Gen.fold (fun h i -> H.remove h i) h (0 -- 500) in
|
let h = Sequence.fold (fun h i -> H.remove h i) h (0 -- 500) in
|
||||||
OUnit.assert_equal (n-500) (H.length h);
|
OUnit.assert_equal (n-500) (H.length h);
|
||||||
OUnit.assert_bool "is_empty" (H.is_empty (H.create 16));
|
OUnit.assert_bool "is_empty" (H.is_empty (H.create 16));
|
||||||
()
|
()
|
||||||
|
|
@ -93,8 +93,8 @@ let test_size () =
|
||||||
let suite =
|
let suite =
|
||||||
"test_H" >:::
|
"test_H" >:::
|
||||||
[ "test_add" >:: test_add;
|
[ "test_add" >:: test_add;
|
||||||
"test_of_gen" >:: test_of_gen;
|
"test_of_seq" >:: test_of_seq;
|
||||||
"test_to_gen" >:: test_to_gen;
|
"test_to_seq" >:: test_to_seq;
|
||||||
"test_resize" >:: test_resize;
|
"test_resize" >:: test_resize;
|
||||||
"test_persistent" >:: test_persistent;
|
"test_persistent" >:: test_persistent;
|
||||||
"test_big" >:: test_big;
|
"test_big" >:: test_big;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue