From 7c7bbd336175afb4fb2ff61d47b98e16b18c7ac9 Mon Sep 17 00:00:00 2001 From: Aryadev Chavali Date: Mon, 24 Feb 2025 23:38:03 +0000 Subject: Implement test for rank->int --- tests/model.lisp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'tests/model.lisp') diff --git a/tests/model.lisp b/tests/model.lisp index 76924ca..316e920 100644 --- a/tests/model.lisp +++ b/tests/model.lisp @@ -44,6 +44,21 @@ (append (range 2 11)) (mapcar (lambda (rank) (assoc rank mapping)))))))) +(define-test (model-test rank->int) + :depends-on ((cantedraw/tests/macros ->>)) + :compile-at :execute + (fail (rank->int nil)) + (fail (rank->int 1738)) + (fail (rank->int "not a rank")) + (fail (rank->int :still-not-a-rank)) + ;; Prove ranks are mapped to unique positive integers + (let ((res (->> (list :jack :queen :king :ace) + (append (range 2 11)) + (mapcar #'rank->int)))) + (true (every #'integerp res)) + (true (every #'(lambda (x) (<= 0 x)) res)) + (is equal (length res) (length (remove-duplicates res))))) + (define-test (model-test int->suit) :depends-on ((cantedraw/tests/macros ->>) (cantedraw/tests/functions rev-map)) -- cgit v1.2.3-13-gbd6f