Added another combinations test.

This commit is contained in:
gheber 2014-12-26 20:51:13 -06:00
parent 04a64f467e
commit a6cd1f86f9
2 changed files with 59 additions and 23 deletions

View File

@ -62,6 +62,7 @@
:equal :equal
:greater)))) :greater))))
(DEFUN F-CMPR (n1 n2) (DEFUN F-CMPR (n1 n2)
(declare (fixnum n1 n2)) (declare (fixnum n1 n2))
(the cmpr (the cmpr
@ -71,6 +72,7 @@
:equal :equal
:greater)))) :greater))))
(DEFUN L-CMPR (list1 list2) (DEFUN L-CMPR (list1 list2)
(declare (list list1 list2)) (declare (list list1 list2))
(unless list1 (unless list1

View File

@ -7,6 +7,7 @@
(is (equal (cat:f-cmpr 1 2) :less)) (is (equal (cat:f-cmpr 1 2) :less))
(is (equal (cat:f-cmpr 2 2) :equal)) (is (equal (cat:f-cmpr 2 2) :equal))
(is (equal (cat:f-cmpr 3 2) :greater)) (is (equal (cat:f-cmpr 3 2) :greater))
(is (equal (cat:f-cmpr 123 789) :less))
(is (equal (cat:maplexico #'cat:f-cmpr '(1 2 3) '(1 3)) :less)) (is (equal (cat:maplexico #'cat:f-cmpr '(1 2 3) '(1 3)) :less))
(is (equal (cat:maplexico #'cat:f-cmpr '(1 2 3) '(1 1)) :greater)) (is (equal (cat:maplexico #'cat:f-cmpr '(1 2 3) '(1 1)) :greater))
(is (equal (cat:maplexico #'cat:f-cmpr '(1 1) '(1 1 0)) :less)) (is (equal (cat:maplexico #'cat:f-cmpr '(1 1) '(1 1 0)) :less))
@ -23,12 +24,15 @@
(is (equal (cat:l-cmpr '(1) '(a)) :less)) (is (equal (cat:l-cmpr '(1) '(a)) :less))
(is (equal (cat:l-cmpr '(1) '(1)) :equal)) (is (equal (cat:l-cmpr '(1) '(1)) :equal))
(is (equal (cat:l-cmpr '(1 a) '(1 1)) :greater)) (is (equal (cat:l-cmpr '(1 a) '(1 1)) :greater))
(is (equal (cat:l-cmpr '(1 a b) '(1 a)) :greater))
(is (equal (cat:l-cmpr '(1 a) '(1 a b)) :less))) (is (equal (cat:l-cmpr '(1 a) '(1 a b)) :less)))
(test s-cmpr (test s-cmpr
(is (equal (cat:s-cmpr 'a 'b) :less)) (is (equal (cat:s-cmpr 'a 'b) :less))
(is (equal (cat:s-cmpr 'b 'b) :equal)) (is (equal (cat:s-cmpr 'b 'b) :equal))
(is (equal (cat:s-cmpr 'c 'b) :greater))) (is (equal (cat:s-cmpr 'c 'b) :greater))
(is (equal (cat:s-cmpr 'circulation 'circular) :greater))
(is (equal (cat:s-cmpr 'qwerty 'qwerty) :equal)))
(test cmbn (test cmbn
(let ((comb (cat:cmbn 2))) (let ((comb (cat:cmbn 2)))
@ -288,3 +292,33 @@
(is (eq comb c)) (is (eq comb c))
(is (equal (cat:cmbn-degr comb) 10)) (is (equal (cat:cmbn-degr comb) 10))
(is (equal (cat:cmbn-list comb) nil)))) (is (equal (cat:cmbn-list comb) nil))))
(test uvwz
(let* ((comb1 (cat:cmbn 1 1 'u 2 'v 3 'w 4 'z))
(comb1-list (cat:cmbn-list comb1))
(term3 (third comb1-list))
(mcomb1 (cat:cmbn-opps comb1))
(comb2 (cat:n-cmbn 10 comb1))
(comb12 (cat:2cmbn-add #'cat:s-cmpr comb1 comb2))
(comb112 (cat:2cmbn-sbtr #'cat:s-cmpr comb1 comb12))
(comb12n (cat:ncmbn-add #'cat:s-cmpr comb1 comb2 comb1 comb2
comb1 comb2 comb1 comb2 comb1 comb2)))
(is (cat:cmbn-non-zero-p comb1))
(is (equal comb1-list '((1 . u) (2 . v) (3 . w) (4 . z))))
(is (equal (cat:cffc term3) 3))
(is (equal (cat:gnrt term3) 'w))
(is (equal (cat:cmbn-degr comb1) (cat:cmbn-degr mcomb1)))
(is (equal (cat:cmbn-list mcomb1) '((-1 . u) (-2 . v)
(-3 . w) (-4 . z))))
(is (equal (cat:cmbn-degr comb1) (cat:cmbn-degr comb2)))
(is (equal (cat:cmbn-list comb2) '((10 . u) (20 . v)
(30 . w) (40 . z))))
(is (equal (cat:cmbn-degr comb1) (cat:cmbn-degr comb12)))
(is (equal (cat:cmbn-list comb12) '((11 . u) (22 . v)
(33 . w) (44 . z))))
(is (equal (cat:cmbn-degr comb1) (cat:cmbn-degr comb112)))
(is (equal (cat:cmbn-list comb112) '((-10 . u) (-20 . v)
(-30 . w) (-40 . z))))
(is (equal (cat:cmbn-degr comb1) (cat:cmbn-degr comb12n)))
(is (equal (cat:cmbn-list comb12n) '((55 . u) (110 . v)
(165 . w) (220 . z))))))