;; lib/minikanren/tests/subo.sx — contiguous-sublist relation. (mk-test "subo-simple-found" (run* q (subo (list 2 3) (list 1 2 3 4))) (list (make-symbol "_.0"))) (mk-test "subo-not-contiguous-fails" (run* q (subo (list 2 4) (list 1 2 3 4))) (list)) (mk-test "subo-full-list-found" (run* q (subo (list 1 2 3) (list 1 2 3))) (list (make-symbol "_.0"))) (mk-test "subo-empty-list-found" (let ((res (run* q (subo (list) (list 1 2 3))))) (= (len res) 4)) true) (mk-test "subo-prefix" (run* q (subo (list 1 2) (list 1 2 3 4))) (list (make-symbol "_.0"))) (mk-test "subo-suffix" (run* q (subo (list 3 4) (list 1 2 3 4))) (list (make-symbol "_.0"))) (mk-test "subo-strings" (run* q (subo (list "b" "c") (list "a" "b" "c" "d"))) (list (make-symbol "_.0"))) (mk-tests-run!)