| 375 | |
| 376 | @pytest.mark.gandiva |
| 377 | def test_to_string(): |
| 378 | import pyarrow.gandiva as gandiva |
| 379 | builder = gandiva.TreeExprBuilder() |
| 380 | |
| 381 | assert str(builder.make_literal(2.0, pa.float64()) |
| 382 | ).startswith('(const double) 2 raw(') |
| 383 | assert str(builder.make_literal(2, pa.int64())) == '(const int64) 2' |
| 384 | assert str(builder.make_field(pa.field('x', pa.float64()))) == '(double) x' |
| 385 | assert str(builder.make_field(pa.field('y', pa.string()))) == '(string) y' |
| 386 | |
| 387 | field_z = builder.make_field(pa.field('z', pa.bool_())) |
| 388 | func_node = builder.make_function('not', [field_z], pa.bool_()) |
| 389 | assert str(func_node) == 'bool not((bool) z)' |
| 390 | |
| 391 | field_y = builder.make_field(pa.field('y', pa.bool_())) |
| 392 | and_node = builder.make_and([func_node, field_y]) |
| 393 | assert str(and_node) == 'bool not((bool) z) && (bool) y' |
| 394 | |
| 395 | |
| 396 | @pytest.mark.gandiva |