cl-scopes/test/test-forge.lisp

29 lines
689 B
Common Lisp

;;; cl-scopes/test/test-forge
;;;; testing facility for scopes/forge
(defpackage :scopes/test-forge
(:use :common-lisp)
(:local-nicknames (:scf :scopes/forge)
(:sct :scopes/testing))
(:export #:run))
(in-package :scopes/test-forge)
(defun run ()
(let ((fe (scf:forge-env))
(tst (sct:test-suite)))
(test-exec tst fe)
;(format t "~%data-stack ~a" (data-stack fe))
(test-def tst fe)
(sct:result tst)))
(defun test-exec (tst fe)
(scf:exec fe '(4 2 add))
(sct:assert-eq tst (car (scf:data-stack fe)) 6))
(defun test-def (tst fe)
(scf:exec fe '((dup mul) "square" def))
(scf:exec fe '(7 square))
(sct:assert-eq tst (car (scf:data-stack fe)) 49))