diff options
| author | Etenil <dev@etenil.net> | 2026-02-15 12:24:45 +0000 |
|---|---|---|
| committer | Etenil <dev@etenil.net> | 2026-02-21 14:47:55 +0100 |
| commit | 6ec915f1c6d4891dc4186f721ac87343f234b794 (patch) | |
| tree | 9448480a7d85c3ad6600ae284fe38255d44757bf /tests | |
| parent | 77d1b104115d8e29a5217d82ba47fd9e542fbc8a (diff) | |
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/algo2.lisp | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/tests/algo2.lisp b/tests/algo2.lisp new file mode 100644 index 0000000..66f7f55 --- /dev/null +++ b/tests/algo2.lisp @@ -0,0 +1,92 @@ +(defpackage ffnn/tests/algo2 + (:use :cl + :ffnn + :ffnn.algo2 + :rove)) + +(in-package :ffnn/tests/algo2) + + +(deftest check-sum-one-row + (testing "sum-one-row" + (dolist (case '((foo ((foo) () (bar)) ((foo) (foo) (bar)) 1 (3 1)) + (foo ((bar) () (bar)) ((bar) (bar) (foo)) 1 (-1 1)) + (foo ((bar) () (bar)) ((bar) (bar) (bar)) 1 (1 3)) + (foo ((foo) () (bar)) ((foo) (foo) (bar)) nil (1 1)))) + (destructuring-bind (item input memory index expected) case + (ok (equal (ffnn.algo2::sum-one-row item input memory index) + expected)))))) + +(deftest check-sum-one-memory + (testing "Sum one memory" + (ok (equal (ffnn.algo2::sum-one-memory 'foo + '(((foo) (foo)) + ((bar) (bar))) ;; Input + '(((foo) (foo)) + ((bar) (bar))) ;; Memory + :rectified-polynomial (ffnn.algo2::make-rectified-polynomial 2) + :target-row 0 :target-col 0 + :start-row 0 :start-col 0) + 12)) + (ok (equal (ffnn.algo2::sum-one-memory 'foo + '(((foo) (foo)) + ((baz) (baz))) + '(((foo) (foo)) + ((foo) (foo))) + :rectified-polynomial (ffnn.algo2::make-rectified-polynomial 2) + :target-row 0 :target-col 0 + :start-row 0 :start-col 0) + 0)))) + + +(deftest check-sum-all-memories + (let ((memories '((((foo) (foo) (foo)) + (() () ()) + (() () ())) + (((foo) () ()) + (() (foo) ()) + (() () (foo))) + (((foo) () ()) + ((foo) () ()) + ((foo) () ()))))) + (testing "Sum all memories" + (ok (equal + (sum-all-memories 'foo '((() (foo) (foo)) + ((bar) (bar) ()) + (() () ())) + memories 0 0) + 34)) + (ok (equal + (sum-all-memories 'foo '(((foo) (bar)) ((qux) (foo))) memories 0 0) + 12))))) + + +(deftest check-scan-all-memories + (let ((layer1-memories + '((((foo) (foo) (foo)) + (() () ()) + (() () ())) + (((foo) () ()) + (() (foo) ()) + (() () (foo))) + (((foo) () ()) + ((foo) () ()) + ((foo) () ())))) + (layer2-memories + '(((() () ()) + (() () ()) + (() () ())) + ((() () ()) + (() () ()) + (() () ())) + ((() () ()) + (() () ()) + (() () ()))))) + (ok (equal (scan-all-memories 'foo + (scan-all-memories 'foo + '((() (foo) (foo)) + ((bar) (bar) ()) + (() () ())) + *layer1-memories*) + *layer2-memories*) + 12)))) |
