Test updates to also test simplify directly
This commit is contained in:
parent
9cec3ee154
commit
3a4b27220b
2 changed files with 42 additions and 3 deletions
31
test/kibit/test/check.clj
Normal file
31
test/kibit/test/check.clj
Normal file
|
@ -0,0 +1,31 @@
|
|||
(ns kibit.test.check
|
||||
(:require [kibit.check :as kibit])
|
||||
(:use [clojure.test]))
|
||||
|
||||
;; These tests are identical to the tests in kibit.test.core
|
||||
;; The are here to illustrate kibit use via `check`
|
||||
|
||||
(deftest simplify-alts
|
||||
(are [expected-alt test-form]
|
||||
(= expected-alt (:alt (kibit/check-expr test-form)))
|
||||
[1 2 3] '(do [1 2 3])
|
||||
[] '(do [])
|
||||
"Hello" '(do "Hello")
|
||||
'(when test then) '(do (when test then))
|
||||
:one '(do :one)
|
||||
{:one 1} '(do {:one 1})))
|
||||
|
||||
(deftest simplify-exprs
|
||||
(are [expected-expr test-expr]
|
||||
(= expected-expr (:expr (kibit/check-expr test-expr)))
|
||||
'(do [1 2 3]) '(do [1 2 3])
|
||||
nil '(if (> 2 3) :one :two)))
|
||||
|
||||
(deftest simplify-deep
|
||||
(is (= :one
|
||||
(:alt (kibit/check-expr '(if (= 0 0) :one nil))))))
|
||||
|
||||
(deftest simplify-one
|
||||
(is (= '(when (= 0 0) :one)
|
||||
(:alt (kibit/check-expr '(if (= 0 0) :one nil) :resolution :subform)))))
|
||||
|
|
@ -1,10 +1,15 @@
|
|||
(ns kibit.test.core
|
||||
(:require [kibit.check :as kibit])
|
||||
(:require [kibit.check :as kibit]
|
||||
[kibit.core :as core]
|
||||
[clojure.core.logic :as logic]
|
||||
[kibit.rules :as core-rules])
|
||||
(:use [clojure.test]))
|
||||
|
||||
(def all-rules (map logic/prep core-rules/all-rules))
|
||||
|
||||
(deftest simplify-alts
|
||||
(are [expected-alt test-form]
|
||||
(= expected-alt (:alt (kibit/check-expr test-form)))
|
||||
(are [expected-alt test-expr]
|
||||
(= expected-alt (core/simplify test-expr all-rules) (:alt (kibit/check-expr test-expr)))
|
||||
[1 2 3] '(do [1 2 3])
|
||||
[] '(do [])
|
||||
"Hello" '(do "Hello")
|
||||
|
@ -12,6 +17,7 @@
|
|||
:one '(do :one)
|
||||
{:one 1} '(do {:one 1})))
|
||||
|
||||
;; This test confirms when checking will happen and when it won't
|
||||
(deftest simplify-exprs
|
||||
(are [expected-expr test-expr]
|
||||
(= expected-expr (:expr (kibit/check-expr test-expr)))
|
||||
|
@ -20,9 +26,11 @@
|
|||
|
||||
(deftest simplify-deep
|
||||
(is (= :one
|
||||
(core/simplify '(if (= 0 0) :one nil) all-rules)
|
||||
(:alt (kibit/check-expr '(if (= 0 0) :one nil))))))
|
||||
|
||||
(deftest simplify-one
|
||||
(is (= '(when (= 0 0) :one)
|
||||
(core/simplify-one '(if (= 0 0) :one nil) all-rules)
|
||||
(:alt (kibit/check-expr '(if (= 0 0) :one nil) :resolution :subform)))))
|
||||
|
||||
|
|
Loading…
Reference in a new issue