Skip to content

Commit 01418a2

Browse files
committed
Add more tests
1 parent a2d5bea commit 01418a2

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

tests/basilisp/test_tagged.lpy

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
(ns tests.basilisp.test-tagged
2+
(:require
3+
[basilisp.test :refer [deftest is testing]]))
4+
5+
(deftest tagged-literal-test
6+
(let [tag 'tag
7+
form 1
8+
tagged (tagged-literal tag form)]
9+
(testing "equality"
10+
(is (= tagged tagged))
11+
(is (= tagged (tagged-literal tag form)))
12+
(is (not= tagged (tagged-literal 'foo form)))
13+
(is (not= tagged (tagged-literal tag 2))))
14+
15+
(testing "accessors"
16+
(is (= tag (:tag tagged)))
17+
(is (= form (:form tagged)))
18+
(is (nil? (:key tagged)))
19+
(is (= ::default (:key tagged ::default))))
20+
21+
(testing "predicate"
22+
(is (true? (tagged-literal? tagged)))
23+
(is (false? (tagged-literal? nil)))
24+
(is (false? (tagged-literal? 0)))
25+
(is (false? (tagged-literal? ::foo))))
26+
27+
(testing "printing"
28+
(is (= "#tag 1" (pr-str tagged)))
29+
(is (= "#js []" (pr-str (tagged-literal 'js []))))
30+
(is (= "#js {}" (pr-str (tagged-literal 'js {})))))
31+
32+
(testing "validation"
33+
(is (thrown? TypeError (tagged-literal 1 1)) ))))

0 commit comments

Comments
 (0)