diff options
| author | ยท๐๐ด๐๐๐ฉ๐ค | 2025-12-11 17:38:54 +0000 |
|---|---|---|
| committer | ยท๐๐ด๐๐๐ฉ๐ค | 2025-12-11 17:38:54 +0000 |
| commit | a9d4d2402d20617d27bf5b1bbc510f5f90890c09 (patch) | |
| tree | 8c96c34df5af5dd0e6af4ec598b679573ec84de3 | |
| parent | 2e69e365b7834d224df41cb08cfaf8f15c4a078a (diff) | |
| download | nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.gz nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.bz2 nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.lz nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.xz nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.tar.zst nixtaml-a9d4d2402d20617d27bf5b1bbc510f5f90890c09.zip | |
qcheck manifest input
| -rw-r--r-- | test/test_input.ml | 30 |
1 files changed, 27 insertions, 3 deletions
diff --git a/test/test_input.ml b/test/test_input.ml index d4f68b2..a9c63a9 100644 --- a/test/test_input.ml +++ b/test/test_input.ml @@ -5,8 +5,8 @@ open Alcotest open Nixtamal -let suite = [ - test_case "Manifest latest-cmd to KDL" `Quick (fun () -> +let suite = + [test_case "Manifest latest-cmd to KDL" `Quick (fun () -> let kdl = testable Kdl.pp Kdl.equal in let open Nixtamal.Input.Latest.Cmd in let t = Input.Template.make in @@ -129,4 +129,28 @@ let suite = [ in check input "Frozen Pijul KDL roundrip" out_input in_input ); -] + ] @ + List.map QCheck_alcotest.to_alcotest [ + QCheck.Test.make + ~name: "Manifest input codec sameshape" + (QCheck.make ~print: (Fmt.str "%a" Manifest.Input'.pp) Manifest.Input'.gen) + (fun input -> + let back_and_forth = + input + |> Manifest.Input'.codec.to_node + |> Manifest.Input'.codec.of_node + in + match back_and_forth with + | Ok input' when input' = input -> + true + | Ok input' -> + QCheck.Test.fail_reportf + "Aimed for:@,%a@.@.But got:@,%a@." + Manifest.Input'.pp + input + Manifest.Input'.pp + input' + | Error err -> + QCheck.Test.fail_reportf "%a" Fmt.(list ~sep: semi Util.KDL.Valid.pp_err) err; + ); + ] |
