make test-suite a class; and don't use methods at the moment
This commit is contained in:
parent
5f491aa901
commit
0ba0ef1162
2 changed files with 8 additions and 9 deletions
|
@ -9,14 +9,14 @@
|
||||||
(in-package :scopes/forge)
|
(in-package :scopes/forge)
|
||||||
|
|
||||||
(defclass forge-env ()
|
(defclass forge-env ()
|
||||||
((data-stack :initform 0
|
((data-stack :initform nil
|
||||||
:reader data-stack
|
:reader data-stack
|
||||||
:accessor data-stack!)))
|
:accessor data-stack!)))
|
||||||
|
|
||||||
(defun new-forge-env ()
|
(defun new-forge-env ()
|
||||||
(make-instance 'forge-env))
|
(make-instance 'forge-env))
|
||||||
|
|
||||||
(defmethod exec ((fe forge-env) code)
|
(defun exec (fe code)
|
||||||
(dolist (x code)
|
(dolist (x code)
|
||||||
(if (symbolp x)
|
(if (symbolp x)
|
||||||
(funcall (find-symbol (symbol-name x) :scopes/forge) fe)
|
(funcall (find-symbol (symbol-name x) :scopes/forge) fe)
|
||||||
|
|
13
testing.lisp
13
testing.lisp
|
@ -8,14 +8,13 @@
|
||||||
|
|
||||||
(in-package :scopes/testing)
|
(in-package :scopes/testing)
|
||||||
|
|
||||||
|
(defclass test-suite ()
|
||||||
|
((result :initform nil
|
||||||
|
:reader result
|
||||||
|
:accessor result!)))
|
||||||
|
|
||||||
(defun test-suite ()
|
(defun test-suite ()
|
||||||
(vector nil))
|
(make-instance 'test-suite))
|
||||||
|
|
||||||
(defun result (tst)
|
|
||||||
(elt tst 0))
|
|
||||||
|
|
||||||
(defmacro result! (tst)
|
|
||||||
`(elt ,tst 0))
|
|
||||||
|
|
||||||
(defun assert-eq (tst have wanted)
|
(defun assert-eq (tst have wanted)
|
||||||
(push (equalp have wanted) (result! tst)))
|
(push (equalp have wanted) (result! tst)))
|
||||||
|
|
Loading…
Add table
Reference in a new issue