Skip to content

Commit a32c8af

Browse files
committed
Add tests for join functions
1 parent d42c600 commit a32c8af

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

test/tablecloth/api/join_concat_ds_test.clj

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,3 +127,32 @@
127127
(api/dataset [{:k "baz"}])
128128
[:k])
129129
(api/rows :as-maps)) => [{:k "baz", :v "\"baz\""} {:k "baz", :v "\"baz\""}])
130+
131+
(fact "right join with automatic column selector"
132+
(-> (api/right-join (api/dataset [{:i "foo" :y 2022}])
133+
(api/dataset [{:i "foo" :y 2022 :s "2022"}
134+
{:i "foo" :y 2023 :s "2023"}]))
135+
(api/rows :as-maps)) => [{:i "foo", :y 2022, :right.i "foo", :right.y 2022, :s "2022"}
136+
{:i nil, :y nil, :right.i "foo", :right.y 2023, :s "2023"}])
137+
138+
(fact "inner join with automatic column selector"
139+
(-> (api/inner-join (api/dataset [{:i "foo" :y 2022}])
140+
(api/dataset [{:i "foo" :y 2022 :s "2022"}
141+
{:i "foo" :y 2023 :s "2023"}]))
142+
(api/rows :as-maps)) => [{:i "foo", :y 2022, :right.i "foo", :right.y 2022, :s "2022"}])
143+
144+
(fact "full join with automatic column selector"
145+
(-> (api/full-join (api/dataset [{:i "foo" :y 2022}
146+
{:i "bar" :y 2021 }])
147+
(api/dataset [{:i "foo" :y 2022 :s "2022"}
148+
{:i "foo" :y 2023 :s "2023"}]))
149+
(api/rows :as-maps)) => [{:i "foo", :y 2022, :right.i "foo", :right.y 2022, :s "2022"}
150+
{:i "bar", :y 2021, :right.i nil, :right.y nil, :s nil}
151+
{:i nil, :y nil, :right.i "foo", :right.y 2023, :s "2023"}])
152+
153+
(fact "anti join with automatic column selector"
154+
(-> (api/anti-join (api/dataset [{:i "foo" :y 2022}
155+
{:i "bar" :y 2021 }])
156+
(api/dataset [{:i "foo" :y 2022 :s "2022"}
157+
{:i "foo" :y 2023 :s "2023"}]))
158+
(api/rows :as-maps)) => [{:i "bar", :y 2021}])

0 commit comments

Comments
 (0)