From 02b87cdc9c5e5ad7e5a4618ed8131730911ed3da Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Mon, 24 Feb 2025 23:38:38 +0000 Subject: Implement test for suit->int --- tests/model.lisp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tests') diff --git a/tests/model.lisp b/tests/model.lisp index 359c6ee..dd0884e 100644 --- a/tests/model.lisp +++ b/tests/model.lisp @@ -88,3 +88,18 @@ (mapcar #'length) remove-duplicates length))))) + +(define-test (model-test suit->int) + :depends-on ((cantedraw/tests/macros ->>)) + :compile-at :execute + (fail (suit->int nil)) + (fail (suit->int "not a suit")) + (fail (suit->int :still-not-a-suit)) + (fail (suit->int 42069)) + ;; Prove suits are mapped to unique positive integers + (let ((res (->> (list :diamonds :clubs :hearts :spades :joker) + (mapcar #'suit->int)))) + (true (every #'integerp res) "All integers") + (true (every ($>> (<= 0)) res) "All positive") + (is equal (length res) (length (remove-duplicates res)) "Unique mapping"))) + -- cgit v1.2.3-13-gbd6f