lizfcm/tests/approx.lisp
2023-10-09 21:08:25 -06:00

37 lines
998 B
Common Lisp

(defpackage lizfcm/tests.approx
(:use :cl
:fiveam
:lizfcm.approx
:lizfcm.utils
:lizfcm/tests)
(:export :approx-suite))
(in-package :lizfcm/tests.approx)
(def-suite approx-suite
:in lizfcm-test-suite)
(in-suite approx-suite)
(test central-derivative-at
:description "derivative at is within bounds"
(let ((f (lambda (x) (* x x)))
(x 2)
(accepted-delta 0.02)
(f-prime-at-x 4)
(delta 0.01))
(is (within-range-p
(central-derivative-at f x delta)
f-prime-at-x
accepted-delta))))
(test fwd-derivative-at
:description "forward derivative at is within bounds"
(let ((f (lambda (x) (* x x)))
(x 2)
(accepted-delta 0.02)
(f-prime-at-x 4)
(delta 0.01))
(is (within-range-p
(forward-derivative-at f x delta)
f-prime-at-x
accepted-delta))))