49 lines
1.1 KiB
OCaml
49 lines
1.1 KiB
OCaml
open Import
|
|
|
|
let () = Printexc.record_backtrace true
|
|
|
|
module Hash_set = Re_private.Hash_set
|
|
|
|
let id1 = 1
|
|
let id2 = 2
|
|
let id3 = 3
|
|
|
|
let test table f =
|
|
if f table
|
|
then print_endline "[PASS]"
|
|
else (
|
|
print_endline "[FAIL]";
|
|
Format.printf "%a@." Hash_set.pp table)
|
|
;;
|
|
|
|
let%expect_test "basic set" =
|
|
let set = Hash_set.create () in
|
|
test set Hash_set.is_empty;
|
|
[%expect {| [PASS] |}];
|
|
test set (fun set -> not (Hash_set.mem set id1));
|
|
[%expect {|
|
|
[PASS] |}]
|
|
;;
|
|
|
|
let%expect_test "add 1 element" =
|
|
let set = Hash_set.create () in
|
|
Hash_set.add set id1;
|
|
test set (fun set -> not (Hash_set.is_empty set));
|
|
[%expect {|
|
|
[PASS] |}];
|
|
test set (fun set -> Hash_set.mem set id1);
|
|
[%expect {|
|
|
[PASS] |}];
|
|
Hash_set.add set id1;
|
|
test set (fun set -> Hash_set.mem set id1);
|
|
[%expect {| [PASS] |}];
|
|
Hash_set.add set id2;
|
|
test set (fun set -> Hash_set.mem set id2);
|
|
[%expect {| [PASS] |}];
|
|
Hash_set.add set id3;
|
|
test set (fun set -> Hash_set.mem set id3);
|
|
[%expect {|
|
|
[PASS] |}];
|
|
test set (fun set -> List.for_all [ id1; id2; id3 ] ~f:(fun id -> Hash_set.mem set id));
|
|
[%expect {| [PASS] |}]
|
|
;;
|