d-/test.scm

33 lines
665 B
Scheme
Raw Normal View History

2024-10-23 09:02:27 -05:00
(use-modules (d-)
(rnrs base))
(define-syntax-rule (define-unit-test (test-name body ...))
(let () body ...))
(define-syntax-rule (define-test module-name tests ...)
(begin (define-unit-test tests) ...))
(define-test ~>
(unwrapped
(define value (~> 1 1+ 1+))
(assert (= value 3)))
(wrapped
(define value (~> 1 (/ 2) (/ 2)))
(assert (= value 1/4))))
(define-test ~>>
(unwrapped
(define value (~>> 1 1+ 1+))
(assert (= value 3)))
(wrapped
(define value (~>> 1 (/ 2) (/ 2)))
(assert (= value 1))))
(define-test partial
(test
(define value (partial / 2))
(assert (= (value 4) 1/2))
(assert (= (value 1) 2))))