From 62f92114ee2d69bfb46084cc960a5c182f32df94 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Fri, 21 Feb 2025 14:21:50 +0000 Subject: Add unit tests for model.int->suit --- tests/model.lisp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/tests/model.lisp b/tests/model.lisp index 7ea41c6..0fd8be4 100644 --- a/tests/model.lisp +++ b/tests/model.lisp @@ -25,3 +25,21 @@ (define-test model-test :depends-on ((cantedraw/tests/macros macro-test) (cantedraw/tests/functions function-test))) + +(define-test (model-test int->suit) + :compile-at :execute + (fail (int->suit nil)) + (fail (int->suit "Not a number")) + ;; Proving int->suit splits 0-51 perfectly between the 4 suits + (let ((mapping (rev-map #'int->suit (range 0 53)))) + (is eq 5 (length mapping)) + (let ((spades (alist-val :spades mapping)) + (hearts (alist-val :hearts mapping)) + (clubs (alist-val :clubs mapping)) + (diamonds (alist-val :diamonds mapping)) + (jokers (alist-val :joker mapping))) + (is eq 1 (length jokers)) + (is eq 1 (->> (list spades hearts clubs diamonds) + (mapcar #'length) + remove-duplicates + length))))) -- cgit v1.2.3-13-gbd6f