let () = let open Json in let check jsont s = let encode v = encode jsont v |> Result.get_ok in let decode v = decode jsont v |> Result.get_ok in let ts = decode s in let s' = encode ts in let ts' = decode s' in let s'' = encode ts' in assert (String.equal s' s'') in let check_bad jsont s = let decode = decode jsont in assert (Result.is_error (decode s)) in check Timestamp.jsont {|{"t_s": 123456780}|}; check Timestamp.jsont {|{"t_s": "never"}|}; check_bad Timestamp.jsont {|{"t_s": "123456780"}|}; check_bad Timestamp.jsont {|{"t_s": "agagou"}|}; ()