diff options
Diffstat (limited to '')
| -rw-r--r-- | test/test_term.ml | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/test/test_term.ml b/test/test_term.ml index 20b2f1a..3601718 100644 --- a/test/test_term.ml +++ b/test/test_term.ml @@ -82,7 +82,17 @@ let test_printing () = Alcotest.(check string) "sequence" "#(1 2 3)" (print (Sol.Term.sequence [ int 1; int 2; int 3 ])); Alcotest.(check string) "record" "{a: 1 b: 2}" - (print (record [ (label "b", int 2); (label "a", int 1) ])) + (print (record [ (label "b", int 2); (label "a", int 1) ])); + Alcotest.(check string) "reference" "#Person" + (print (Result.get_ok (Sol.Term.reference "Person"))) + +let test_reference_validation () = + Alcotest.(check bool) "well-formed" true + (Result.is_ok (Sol.Term.reference "Person")); + Alcotest.(check bool) "empty rejected" false + (Result.is_ok (Sol.Term.reference "")); + Alcotest.(check bool) "leading digit rejected" false + (Result.is_ok (Sol.Term.reference "1st")) let test_label_validation () = let ok s = Result.is_ok (Sol.Label.of_string s) in @@ -122,5 +132,7 @@ let () = [ Alcotest.test_case "printing" `Quick test_printing; Alcotest.test_case "label validation" `Quick test_label_validation; + Alcotest.test_case "reference validation" `Quick + test_reference_validation; ] ); ] |
