(** Alcotest tests for the Wire_diff_gen library. *) let test_schema_create_fixed () = let s = Wire.struct_ "TestSchema" [ Wire.field "a" Wire.uint8; Wire.field "b" Wire.uint16 ] in let m = Wire.module_ "TestSchema" [ Wire.typedef ~entrypoint:true s ] in let result = Wire_diff_gen.Diff_gen.schema ~name:"TestSchema" ~struct_:s ~module_:m in Alcotest.(check bool) "fixed-size schema is Some" true (Option.is_some result) let test_schema_create_variable () = let s = Wire.struct_ "VarSchema" [ Wire.field "a" Wire.uint8; Wire.field "data" Wire.all_bytes ] in let m = Wire.module_ "VarSchema" [ Wire.typedef ~entrypoint:true s ] in let result = Wire_diff_gen.Diff_gen.schema ~name:"VarSchema" ~struct_:s ~module_:m in Alcotest.(check bool) "variable-size schema is None" true (Option.is_none result) let suite = ( "diff_gen", [ Alcotest.test_case "schema create (fixed)" `Quick test_schema_create_fixed; Alcotest.test_case "schema create (variable)" `Quick test_schema_create_variable; ] )