|
127 | 127 | (api/dataset [{:k "baz"}])
|
128 | 128 | [:k])
|
129 | 129 | (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