;; lib/minikanren/tests/not-membero.sx — relational "not in list".

(mk-test
  "not-membero-absent"
  (run* q (not-membero 99 (list 1 2 3)))
  (list (make-symbol "_.0")))
(mk-test
  "not-membero-present"
  (run* q (not-membero 2 (list 1 2 3)))
  (list))
(mk-test
  "not-membero-empty"
  (run* q (not-membero 1 (list)))
  (list (make-symbol "_.0")))

(mk-test
  "not-membero-as-filter"
  (run*
    q
    (fresh
      (x)
      (membero
        x
        (list 1 2 3 4 5))
      (not-membero x (list 2 4))
      (== q x)))
  (list 1 3 5))

(mk-tests-run!)
