dev.metalisp.qmetrics/tests/tests.lisp

24 lines
599 B
Common Lisp

;;; -*- mode: lisp; coding: utf-8; -*-
(defpackage :ml-qmetrics/tests
(:use :cl :fiveam)
(:import-from #:ml-qmetrics/assessment
#:nps-calc-score
#:nps-enumerate))
(in-package :ml-qmetrics/tests)
(def-suite :assessment)
(in-suite :assessment)
(test nps-calc-score
(is (= 100 (apply #'nps-calc-score '(10 0 10))))
(is (= 0 (apply #'nps-calc-score '(0 0 1)))))
(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 '())))