diff options
author | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-21 13:53:33 +0000 |
---|---|---|
committer | Aryadev Chavali <aryadev@aryadevchavali.com> | 2025-02-21 13:53:33 +0000 |
commit | dc1f3d89706d8a038747b065110546c9351e7796 (patch) | |
tree | 218243bf7a8b981af8c3690148aa92b54660aa83 /tests/macros.lisp | |
parent | cc53e6ec42316262e9ad87230cb6892949d7a42b (diff) | |
download | cantedraw-dc1f3d89706d8a038747b065110546c9351e7796.tar.gz cantedraw-dc1f3d89706d8a038747b065110546c9351e7796.tar.bz2 cantedraw-dc1f3d89706d8a038747b065110546c9351e7796.zip |
Create a unit test system
Setup cantedraw/tests with a test-system record, as well as linking it
back to cantedraw so we can run test-system on cantedraw and run the
tests.
Using parachute, we can setup a suite of unit tests for each package.
For each package in src/ or lib/ we'll write a separate unit test
suite with tests for all the public exposing functionality.
I've setup a main suite in cantedraw/tests/main which will depend on
each of the unit test suites so we can run the tests all at once.
Currently we have one test for the --> macro.
Diffstat (limited to 'tests/macros.lisp')
-rw-r--r-- | tests/macros.lisp | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/macros.lisp b/tests/macros.lisp new file mode 100644 index 0000000..e86fbb3 --- /dev/null +++ b/tests/macros.lisp @@ -0,0 +1,29 @@ +;;; main.lisp - 2025-02-16 + +;; Copyright (C) 2025 Aryadev Chavali + +;; This program is distributed in the hope that it will be useful, but WITHOUT +;; ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +;; FOR A PARTICULAR PURPOSE. See the GNU General Public License Version 2 for +;; details. + +;; You may distribute and modify this code under the terms of the GNU General +;; Public License Version 2, which you should have received a copy of along with +;; this program. If not, please go to <https://www.gnu.org/licenses/>. + +;;; Code: + +(defpackage cantedraw/tests/macros + (:use :cl :cantedraw.lib.macros + :parachute)) + +(in-package :cantedraw/tests/macros) + +(define-test macro-test) + +(define-test (macro-test "-->") + (true (null (--> x))) + (is eq 'a (--> x 'a)) + (is eq 2 (--> x 1 (1+ x))) + (is eq 2 (--> x 1 1+)) + (is string= "World!" (--> _ "Hello" (format nil "~a World!" _) (subseq _ 6)))) |