unify
This commit is contained in:
1 parent
83e042fb81
commit
a2b73e761b
2 files changed
+53
-18
No files matched your search
@@ -0,0 +1,23 @@
|
||||
(ns expand.syntax-rules-test
|
||||
(:require [expand.syntax-rules :as sut]
|
||||
[clojure.test :as t]))
|
||||
|
||||
(t/deftest unify-test
|
||||
(t/is (= '{x (1 2 3)}
|
||||
(sut/unify 'x '(1 2 3))))
|
||||
(t/is (= '{x 1 y 2}
|
||||
(sut/unify '(x y)
|
||||
'(1 2))))
|
||||
(t/is (= '{x [:ellipsis (1 2 3 4)]}
|
||||
(sut/unify '(x ...)
|
||||
'(1 2 3 4))))
|
||||
(t/is (= '{x [:ellipsis (1 3)]
|
||||
y [:ellipsis (2 4)]}
|
||||
(sut/unify '((x y) ...)
|
||||
'((1 2) (3 4)))))
|
||||
(t/is (= nil
|
||||
(sut/unify '(x y z)
|
||||
'(1 2))))
|
||||
(t/is (= nil
|
||||
(sut/unify '((x y) ...)
|
||||
'((1 2) (1 2 3))))))
|
||||
Reference in new issue
Block a user