diff --git a/tests/test_grouping.py b/tests/test_grouping.py index 8b986c27..655ef0f6 100644 --- a/tests/test_grouping.py +++ b/tests/test_grouping.py @@ -196,16 +196,15 @@ def test_returning_kw_ends_where_clause(): assert p.tokens[7].value == 'returning' -def test_grouping_typecast(): - s = 'select foo::integer from bar' - p = sqlparse.parse(s)[0] - assert str(p) == s - assert p.tokens[2].get_typecast() == 'integer' - assert p.tokens[2].get_name() == 'foo' - s = 'select (current_database())::information_schema.sql_identifier' - p = sqlparse.parse(s)[0] - assert str(p) == s - assert (p.tokens[2].get_typecast() == 'information_schema.sql_identifier') +@pytest.mark.parametrize('sql, expected', [ + # note: typecast needs to be 2nd token for this test + ('select foo::integer from bar', 'integer'), + ('select (current_database())::information_schema.sql_identifier', + 'information_schema.sql_identifier'), +]) +def test_grouping_typecast(sql, expected): + p = sqlparse.parse(sql)[0] + assert p.tokens[2].get_typecast() == expected def test_grouping_alias():