aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_term.ml
diff options
context:
space:
mode:
authorMarcos Magueta <maguetamarcos@gmail.com>2026-07-12 17:55:27 -0300
committerMarcos Magueta <maguetamarcos@gmail.com>2026-07-12 17:56:11 -0300
commitb4a2485afbf74e99e2147086fbca0568b7e2b7b8 (patch)
treef2f0f653c7de2d5a1b1565d0ec48c46dec580a5a /test/test_term.ml
parentb7ab0a9d1f0275db32a526faf7cffe9d520b15c8 (diff)
downloadSOL-b4a2485afbf74e99e2147086fbca0568b7e2b7b8.tar.gz
SOL-b4a2485afbf74e99e2147086fbca0568b7e2b7b8.zip
relation references as a term kind, written #Name
Diffstat (limited to 'test/test_term.ml')
-rw-r--r--test/test_term.ml14
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;
] );
]