(* Tests for the Runtime module *) let test_type () = let r : Meross.Runtime.t = { signal = 75 } in Alcotest.(check int) "signal" 75 r.signal let test_codec_roundtrip () = let r : Meross.Runtime.t = { signal = 85 } in let encoded = Meross.Protocol.encode Meross.Runtime.codec r in match Meross.Protocol.decode Meross.Runtime.codec encoded with | Ok decoded -> Alcotest.(check int) "signal" r.signal decoded.signal | Error e -> Alcotest.failf "decode failed: %s" e let suite = ( "runtime", [ Alcotest.test_case "type" `Quick test_type; Alcotest.test_case "codec roundtrip" `Quick test_codec_roundtrip; ] )