;;;;;;;;;;;;;;;;;;;;;;;;
;;; pre-testing prep ;;;
;;;;;;;;;;;;;;;;;;;;;;;;
(load ../lisp-unit.lisp)
(use-package :lisp-unit)
(load match.lisp)
(remove-tests :all)
(setq *print-failures* t)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; match test definitions ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(define-test test-match
(assert-equal T (match nil nil))
(assert-equal NIL (match nil ( a)))
(assert-equal NIL (match (a) nil))
(assert-equal NIL (match (a) nil))
(assert-equal NIL (match (a) (b)))
(assert-equal NIL (match (a b c) (a b d)))
(assert-equal T (match (?) (a)))
(assert-equal NIL (match (?) nil))
(assert-equal T (match (!) (a)))
(assert-equal T (match (!) (a b c)))
(assert-equal T (match (! c) (a b c)))
(assert-equal NIL (match (! d) (a b c)))
(assert-equal T (match (? ! c) (a a b c)))
(assert-equal T (match (? ! c d) (a a b c d)))
(assert-equal NIL (match (? ! c d) (a a b c e)))
(assert-equal NIL (match (? ? ! ? A) (A A A A)))
(assert-equal T (match (? ? ! ? A !) (A A A A A NIL)))
(assert-equal T (match (! B ? B A B A ! ? !) (B B A B A B A B A B A)))
(assert-equal NIL (match (! B ? A B A B ! ? !) (B B A B A B A B A B)))
)
;;;;;;;;;;;;;;;;;
;;; run tests ;;;
;;;;;;;;;;;;;;;;;
(run-tests :all)
Reviews
There are no reviews yet.