diff options
author | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-06-28 09:32:38 +0200 |
---|---|---|
committer | Hugo Hörnquist <hugo@lysator.liu.se> | 2022-07-07 21:17:22 +0200 |
commit | ba70d8de990c8a07bc258f909bf9e415a4671f78 (patch) | |
tree | 7d6c48ec7a5677e57ab8546113b511ac8a035626 /tests/test | |
parent | Add lenses. (diff) | |
download | calp-ba70d8de990c8a07bc258f909bf9e415a4671f78.tar.gz calp-ba70d8de990c8a07bc258f909bf9e415a4671f78.tar.xz |
Add tests for lenses.
Diffstat (limited to 'tests/test')
-rw-r--r-- | tests/test/lens.scm | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/tests/test/lens.scm b/tests/test/lens.scm new file mode 100644 index 00000000..0797e3aa --- /dev/null +++ b/tests/test/lens.scm @@ -0,0 +1,21 @@ +(define-module (test lens) + :use-module (srfi srfi-64) + :use-module (srfi srfi-64 test-error) + :use-module (srfi srfi-88) + :use-module (hnh util lens)) + + +(define first (ref 0)) + +(test-equal '((1)) (first '(((1))))) +(test-equal '((2)) (set '(((1))) (compose-lenses first first) 2)) +(test-equal '(((2))) (set '(((1))) (compose-lenses first first first) 2)) + + +;; (list-change (iota 10) 5 'Hello) +;; => (0 1 2 3 4 Hello 6 7 8 9) + +(test-equal '(1 (10) 3) (set '(1 (2) 3) (compose-lenses (ref 1) (ref 0)) 10)) +(test-equal '(1 (10) 3) (set '(1 (2) 3) (ref 1) (ref 0) 10)) + +;; (set (list (iota 10)) first first 11) |