Start writing real unit tests

This commit is contained in:
Marcus Kammer 2025-01-03 14:28:51 +01:00
parent eea23908e6
commit 4a42d616f2
Signed by: marcuskammer
GPG key ID: C374817BE285268F
2 changed files with 17 additions and 8 deletions

View file

@ -26,4 +26,4 @@
:depends-on ("dev.metalisp.qmetrics" "fiveam")
:components ((:module "tests/"
:components ((:file "tests"))))
:perform (test-op (o c) (symbol-call :fiveam :run! :first-tests)))
:perform (test-op (o c) (symbol-call :fiveam :run! :assessment)))

View file

@ -1,15 +1,24 @@
;;; -*- mode: lisp; coding: utf-8; -*-
(defpackage :ml-qmetrics/tests
(:use :cl :fiveam :ml-qmetrics/assessment))
(:use :cl :fiveam)
(:import-from #:ml-qmetrics/assessment
#:nps-calc-score
#:nps-enumerate))
(in-package :ml-qmetrics/tests)
(def-suite :first-tests
:description "Test suite for my-system")
(def-suite :assessment)
(in-suite :first-tests)
(in-suite :assessment)
(test test-something
(is (= 2 (+ 1 1)) "Basic addition should work"))
(test nps-calc-score
(is (= 100 (apply #'nps-calc-score '(10 0 10))))
(is (= 0 (apply #'nps-calc-score '(0 0 1)))))
;; Add more tests as needed
(test nps-enumerate
(is (equal '(0 0 0) (nps-enumerate '(0 11))))
(is (equal '(0 4 4) (nps-enumerate '(1 2 3 4))))
(signals error (nps-enumerate 0))
(signals error (nps-enumerate '())))