aboutsummaryrefslogtreecommitdiff
path: root/tests/model.lisp
diff options
context:
space:
mode:
authorAryadev Chavali <aryadev@aryadevchavali.com>2025-02-24 23:38:11 +0000
committerAryadev Chavali <aryadev@aryadevchavali.com>2025-02-24 23:38:11 +0000
commitac8860e1d71188badfb63c7fa678f1502455723d (patch)
treef04e9302fa48b5917fb82a71667902a6052201ac /tests/model.lisp
parent7c7bbd336175afb4fb2ff61d47b98e16b18c7ac9 (diff)
downloadcantedraw-ac8860e1d71188badfb63c7fa678f1502455723d.tar.gz
cantedraw-ac8860e1d71188badfb63c7fa678f1502455723d.tar.bz2
cantedraw-ac8860e1d71188badfb63c7fa678f1502455723d.zip
Implement test for rank->int and int->rank being complete inverses
Diffstat (limited to 'tests/model.lisp')
-rw-r--r--tests/model.lisp10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/model.lisp b/tests/model.lisp
index 316e920..359c6ee 100644
--- a/tests/model.lisp
+++ b/tests/model.lisp
@@ -59,6 +59,16 @@
(true (every #'(lambda (x) (<= 0 x)) res))
(is equal (length res) (length (remove-duplicates res)))))
+(define-test (model-test "int->rank and rank->int are complete inverses")
+ :depends-on (rank->int int->rank)
+ (let ((int-range (range 0 13))
+ (rank-range (->> (list :ace :jack :queen :king)
+ (append (range 2 11)))))
+ (is equal rank-range
+ (mapcar ($>> rank->int int->rank) rank-range))
+ (is equal int-range
+ (mapcar ($>> int->rank rank->int) int-range))))
+
(define-test (model-test int->suit)
:depends-on ((cantedraw/tests/macros ->>)
(cantedraw/tests/functions rev-map))