;; open Assert ;; open Mymap.LMap let m1 : (int,string) map = add 1 "uno" empty (* list bindings for this simple map *) let test () : bool = (bindings m1) = [(1,"uno")] ;; run_test "bindings m1" test (* test key exists in the map *) let test () : bool = (mem 1 m1) ;; run_test "mem 1 m1" test (* test key does not exist in the map *) let test () : bool = (mem 2 m1) = false ;; run_test "mem 2 m1" test (* access value for key in the map *) let test () : bool = (find 1 m1) = "uno" ;; run_test "find 1 m1" test (* find for value that does not exist in the map? *) let test () : bool = (find 2 m1) = "dos" ;; run_failing_test "find 2 m1" test let m2 : (int, string) map = add 1 "un" m1 let test () : bool = find 1 m2 = "un" ;; run_test "find 1 m2" test let test () : bool = bindings m2 = [(1, "un")] ;; run_test "bindings m2" test let test () : bool = (remove 1 m2) = empty ;; run_test "remove 1 m2" test let test () : bool = (remove 3 m2) = m2 ;; run_test "remove 3 m2" test let test () : bool = let map : (int,string) map = [(1, "a"); (1, "b")] in find 1 map