open! Import open! Sign let%test "of_int" = of_int 37 = Pos && of_int (-22) = Neg && of_int 0 = Zero let%test_unit "( * )" = List.cartesian_product all all |> List.iter ~f:(fun (s1, s2) -> [%test_result: int] (to_int (s1 * s2)) ~expect:(Int.( * ) (to_int s1) (to_int s2))) ;; let%expect_test ("hash coherence" [@tags "64-bits-only"]) = check_hash_coherence [%here] (module Sign) all; [%expect {| |}] ;;