94 lines
2.6 KiB
Common Lisp
94 lines
2.6 KiB
Common Lisp
|
|
(in-package :kenzo-test)
|
|
|
|
(in-suite :kenzo)
|
|
|
|
(test abar
|
|
(cat:abar )
|
|
(cat:abar '(2 a 3 b))
|
|
(cat:abar 2 'a 3 'b)
|
|
(signals simple-error (cat:abar 2 'a 3)))
|
|
|
|
(test bar-cmpr
|
|
(let ((r (cat:bar-cmpr #'cat:s-cmpr)))
|
|
(is (equal :equal (funcall r (cat:abar) (cat:abar))))
|
|
(is (equal :greater (funcall r (cat:abar 3 'a) (cat:abar))))
|
|
(is (equal :less (funcall r (cat:abar 3 'a) (cat:abar 2 'a 1 'b))))
|
|
(is (equal :less (funcall r (cat:abar 3 'a) (cat:abar 3 'b))))
|
|
(is (equal :equal (funcall r (cat:abar 3 'a) (cat:abar 3 'a))))))
|
|
|
|
(test bar-basis-length
|
|
(let ((basis #'(lambda (degr) (list degr))))
|
|
(cat:bar-basis-length basis 2 1)
|
|
(cat:bar-basis-length basis 2 2)
|
|
(cat:bar-basis-length basis 3 1)
|
|
(cat:bar-basis-length basis 3 2)
|
|
(cat:bar-basis-length basis 4 1)
|
|
(cat:bar-basis-length basis 4 2)
|
|
(cat:bar-basis-length basis 4 3)
|
|
(cat:bar-basis-length basis 4 4)
|
|
(cat:bar-basis-length basis 8 1)
|
|
(cat:bar-basis-length basis 8 2)
|
|
(cat:bar-basis-length basis 8 3)
|
|
(cat:bar-basis-length basis 8 4)
|
|
(cat:bar-basis-length basis 8 5)
|
|
(cat:bar-basis-length basis 8 6)
|
|
(cat:bar-basis-length basis 8 11)))
|
|
|
|
|
|
(test bar-basis
|
|
(let* ((basis #'(lambda (degr) (list degr)))
|
|
(r (cat:bar-basis basis)))
|
|
(funcall r 0)
|
|
(funcall r 1)
|
|
(funcall r 2)
|
|
(dotimes (i 7)
|
|
(print (funcall r i)))
|
|
(cat:bar-basis :locally-effective)))
|
|
|
|
|
|
(test bar-intr-vrtc-dffr
|
|
(let* ((d (cat:soft-delta-infinity))
|
|
(r (cat:bar-intr-vrtc-dffr (cat:dffr d))))
|
|
(funcall r 0 (cat:abar))
|
|
(funcall r 3 (cat:abar 3 (cat:d 7)))
|
|
(funcall r 5 (cat:abar 3 (cat:d 7) 2 (cat:d 3)))
|
|
(funcall r 5 (cat:abar 2 (cat:d 3) 3 (cat:d 7)))))
|
|
|
|
|
|
(defun random-abar (length)
|
|
(let ((rslt nil))
|
|
(dotimes (i length)
|
|
(let* ((gmsm (random (cat:mask 7)))
|
|
(dmns (1- (logcount gmsm))))
|
|
(when (plusp dmns)
|
|
(push (cat:brgn (1+ dmns) (cat:d gmsm)) rslt))))
|
|
(cat:make-abar :list rslt)))
|
|
|
|
|
|
(test vrtc-bar
|
|
(progn
|
|
(cat:cat-init)
|
|
(let ((v (cat:vrtc-bar (cat:soft-delta-infinity))))
|
|
(dotimes (i 10)
|
|
(print (random-abar 5)))
|
|
(dotimes (i 10)
|
|
(let ((abar (random-abar 3)))
|
|
(print abar)
|
|
(print (cat:? v (apply #'+ (mapcar #'car (cat:abar-list abar)))
|
|
abar))
|
|
(print (cat:? v (cat:? v (apply #'+ (mapcar #'car
|
|
(cat:abar-list abar)))
|
|
abar))))))))
|
|
|
|
#|
|
|
(test bar-intr-hrzn-dffr
|
|
(let* ((k (cat:k-z-1))
|
|
(r (cat:bar-intr-hrzn-dffr (cat:aprd k))))
|
|
(funcall r 0 (cat:abar ))
|
|
(funcall r 3 (cat:abar 3 '(2 3)))
|
|
(funcall r 6 (cat:abar 3 '(2 3) 3 '(-2 -3)))
|
|
(funcall r 9 (cat:abar 3 '(2 3) 3 '(-2 -3) 3 '(2 3)))
|
|
(funcall r 11 (cat:abar 3 '(2 3) 3 '(-2 -3) 2 '(-2) 3 '(-2 -3)))))
|
|
|#
|