mirror of
https://github.com/c-cube/ocaml-containers.git
synced 2025-12-06 03:05:28 -05:00
more tests
This commit is contained in:
parent
d60b3400fa
commit
359740a587
1 changed files with 18 additions and 4 deletions
|
|
@ -440,16 +440,30 @@ module Make(Key : KEY)
|
|||
|
||||
let add k v m = add_ ~id:Transient.empty k v ~h:(hash_ k) m
|
||||
|
||||
let add_mut ~id k v m =
|
||||
if Transient.frozen id then raise Transient.Frozen;
|
||||
add_ ~id k v ~h:(hash_ k) m
|
||||
|
||||
(*$Q
|
||||
_listuniq (fun l -> \
|
||||
let m = List.fold_left (fun m (x,y) -> M.add x y m) M.empty l in \
|
||||
List.for_all (fun (x,y) -> M.get_exn x m = y) l)
|
||||
*)
|
||||
|
||||
let add_mut ~id k v m =
|
||||
if Transient.frozen id then raise Transient.Frozen;
|
||||
add_ ~id k v ~h:(hash_ k) m
|
||||
|
||||
(*$R
|
||||
let lsort = List.sort Pervasives.compare in
|
||||
let m = M.of_list [1, 1; 2, 2] in
|
||||
let id = Transient.create() in
|
||||
let m' = M.add_mut ~id 3 3 m in
|
||||
let m' = M.add_mut ~id 4 4 m' in
|
||||
assert_equal [1, 1; 2, 2] (M.to_list m |> lsort);
|
||||
assert_equal [1, 1; 2, 2; 3,3; 4,4] (M.to_list m' |> lsort);
|
||||
Transient.freeze id;
|
||||
assert_bool "must raise"
|
||||
(try ignore(M.add_mut ~id 5 5 m'); false with Transient.Frozen -> true)
|
||||
*)
|
||||
|
||||
|
||||
exception LocalExit
|
||||
|
||||
let is_empty_arr_ a =
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue