OCaml library for controlling Meross smart plugs via local HTTP API
1(* Tests for the Runtime module *)
2
3let test_type () =
4 let r : Meross.Runtime.t = { signal = 75 } in
5 Alcotest.(check int) "signal" 75 r.signal
6
7let test_codec_roundtrip () =
8 let r : Meross.Runtime.t = { signal = 85 } in
9 let encoded = Meross.Protocol.encode Meross.Runtime.codec r in
10 match Meross.Protocol.decode Meross.Runtime.codec encoded with
11 | Ok decoded -> Alcotest.(check int) "signal" r.signal decoded.signal
12 | Error e -> Alcotest.failf "decode failed: %s" e
13
14let suite =
15 ( "runtime",
16 [
17 Alcotest.test_case "type" `Quick test_type;
18 Alcotest.test_case "codec roundtrip" `Quick test_codec_roundtrip;
19 ] )