|
19 | 19 | from pydough.relational.filter import Filter
|
20 | 20 | from pydough.relational.limit import Limit
|
21 | 21 | from pydough.relational.project import Project
|
| 22 | +from pydough.relational.root import RelationalRoot |
22 | 23 | from pydough.relational.scan import Scan
|
23 | 24 | from pydough.types import BooleanType, Int64Type
|
24 | 25 |
|
@@ -2295,8 +2296,31 @@ def test_filter_invalid_merge(first_filter: Filter, second_filter: Filter):
|
2295 | 2296 | first_filter.merge(second_filter)
|
2296 | 2297 |
|
2297 | 2298 |
|
2298 |
| -# def test_root_to_string(root: RelationalRoot, output: str): |
2299 |
| -# assert root.to_string() == output |
| 2299 | +@pytest.mark.parametrize( |
| 2300 | + "root, output", |
| 2301 | + [ |
| 2302 | + pytest.param( |
| 2303 | + RelationalRoot( |
| 2304 | + build_simple_scan(), |
| 2305 | + [make_column("a"), make_column("b")], |
| 2306 | + ), |
| 2307 | + "ROOT(columns=[Column(name='a', expr=Column(a)), Column(name='b', expr=Column(b))], orderings=[])", |
| 2308 | + id="no_orderings", |
| 2309 | + ), |
| 2310 | + pytest.param( |
| 2311 | + RelationalRoot( |
| 2312 | + build_simple_scan(), |
| 2313 | + [make_column("a"), make_column("b")], |
| 2314 | + [make_simple_column_reference("a")], |
| 2315 | + ), |
| 2316 | + "ROOT(columns=[Column(name='a', expr=Column(a)), Column(name='b', expr=Column(b))], orderings=[Column(a)])", |
| 2317 | + id="with_orderings", |
| 2318 | + ), |
| 2319 | + ], |
| 2320 | +) |
| 2321 | +def test_root_to_string(root: RelationalRoot, output: str): |
| 2322 | + assert root.to_string() == output |
| 2323 | + |
2300 | 2324 |
|
2301 | 2325 | # def test_root_equals(first_root: RelationalRoot, second_root: Relational, output: bool):
|
2302 | 2326 | # assert first_root.equals(second_root) == output
|
|
0 commit comments