"we don't add optional quotes to columns"
"we won't crash when creating a relation from odd things"
"we can recognize if a df is materialized"
"we can create various expressions and don't crash"
"we can create comparison expressions with appropriate operators"
"we cannot create comparison expressions with inappropriate operators"
"we can use operator expressions in relations"
"we can cast R strings to DuckDB strings"
"the altrep-conversion for relations works"
"the altrep-conversion for relations work for weirdo types for strict = FALSE"
"we can get the relation object back from an altrep df"
"Inner join returns all inner relations"
"CREATE OR REPLACE MACRO eq(a, b) AS a = b"
"Right join returns all right relations"
"Union all does not immediately materialize"
"CREATE OR REPLACE MACRO gte(a, b) AS a >= b"
"Invalid asof join condition throws error"
"CREATE OR REPLACE MACRO neq(a, b) AS a <> b"
"multiple inequality conditions for asof join throws error"
"Inequality join works to perform between operation"
"CREATE OR REPLACE MACRO gt(a, b) AS a > b"
"CREATE OR REPLACE MACRO lt(a, b) AS a < b"
"we can union the same relation to itself"
"we throw an error when attempting to union all relations that are not compatible"
"A union with different column types casts to the richer type"
"Set Intersect returns set intersection"
"Set intersect casts columns to the richer type"
"Symmetric difference returns the symmetric difference"
"rel aggregate with no groups but a sum over a column, sums the column"
"rel aggregate with groups and aggregate function works"
"Window sum expression function test works"
"Window sum with Partition, order, and window boundaries works"
"Window boundaries boundaries are CaSe INsenSItive"
"Window avg with a filter expression and partition works"
"CREATE OR REPLACE MACRO mod(a, b) as a % b"
"CREATE OR REPLACE MACRO eq(a, b) as a = b"
"function name for window is case insensitive"
"Window lead function works as expected"
"Window function with string aggregate works"
"You can perform window functions on row_number"
"You can perform the window function min_rank"
"You can perform the window function dense_rank"
"You can perform the window function cume_dist"
"You can perform the window function percent rank"
"R semantics for adding NaNs is respected"
"R semantics for arithmetics sum function are respected"
'CREATE OR REPLACE MACRO "___eq_na_matches_na"(a, b) AS ((a IS NULL AND b IS NULL) OR (a = b))'
"rel_project does not automatically quote upper-case column names"
"SELECT row_number() OVER () AS ___row_number"
"CREATE OR REPLACE MACRO \"==\"(x, y) AS x = y"
"Error message formatting differs in R 4.1"
"rel_order() nulls_first error checking works"
"expr_window() supports nulls_first in order_bys"
"expr_window() ascending/nulls_first error checking works"