Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 23s
Composes two appendos: (appendo a b mid) ∧ (appendo mid c r). Runs forward (concatenate three known lists) and backward (recover any of the three from the other two and the result). 5 new tests, 491/491 cumulative.
50 lines
755 B
Plaintext
50 lines
755 B
Plaintext
;; lib/minikanren/tests/appendo3.sx — 3-list append.
|
|
|
|
(mk-test
|
|
"appendo3-forward"
|
|
(run*
|
|
q
|
|
(appendo3
|
|
(list 1 2)
|
|
(list 3 4)
|
|
(list 5 6)
|
|
q))
|
|
(list
|
|
(list 1 2 3 4 5 6)))
|
|
|
|
(mk-test
|
|
"appendo3-empty-everything"
|
|
(run* q (appendo3 (list) (list) (list) q))
|
|
(list (list)))
|
|
|
|
(mk-test
|
|
"appendo3-recover-middle"
|
|
(run*
|
|
q
|
|
(appendo3
|
|
(list 1 2)
|
|
q
|
|
(list 5 6)
|
|
(list 1 2 3 4 5 6)))
|
|
(list (list 3 4)))
|
|
|
|
(mk-test
|
|
"appendo3-empty-middle"
|
|
(run*
|
|
q
|
|
(appendo3
|
|
(list 1 2)
|
|
(list)
|
|
(list 3 4)
|
|
q))
|
|
(list (list 1 2 3 4)))
|
|
|
|
(mk-test
|
|
"appendo3-empty-first-and-last"
|
|
(run*
|
|
q
|
|
(appendo3 (list) (list 1 2 3) (list) q))
|
|
(list (list 1 2 3)))
|
|
|
|
(mk-tests-run!)
|