Skip to content

Commit

Permalink
add parser unit test
Browse files Browse the repository at this point in the history
  • Loading branch information
xzdandy committed Sep 11, 2023
1 parent 3f21581 commit 6c972e7
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 1 deletion.
29 changes: 28 additions & 1 deletion test/unit_tests/parser/test_parser.py
Original file line number Diff line number Diff line change
Expand Up @@ -570,7 +570,7 @@ def test_select_statement_sample_class(self):
def test_select_function_star(self):
parser = Parser()

query = "SELECT DemoFunc(*) FROM DemoDB.DemoTable"
query = "SELECT DemoFunc(*) FROM DemoDB.DemoTable;"
evadb_stmt_list = parser.parse(query)

# check stmt itself
Expand All @@ -597,6 +597,33 @@ def test_select_function_star(self):
self.assertEqual(select_stmt.from_table.table.table_name, "DemoTable")
self.assertEqual(select_stmt.from_table.table.database_name, "DemoDB")

def test_select_without_table_source(self):
parser = Parser()

query = "SELECT DemoFunc(12);"
evadb_stmt_list = parser.parse(query)

# check stmt itself
self.assertIsInstance(evadb_stmt_list, list)
self.assertEqual(len(evadb_stmt_list), 1)
self.assertEqual(evadb_stmt_list[0].stmt_type, StatementType.SELECT)
select_stmt = evadb_stmt_list[0]

# target List
self.assertIsNotNone(select_stmt.target_list)
self.assertEqual(len(select_stmt.target_list), 1)
self.assertEqual(
select_stmt.target_list[0].etype, ExpressionType.FUNCTION_EXPRESSION
)
self.assertEqual(len(select_stmt.target_list[0].children), 1)
self.assertEqual(
select_stmt.target_list[0].children[0].etype, ExpressionType.CONSTANT_VALUE
)
self.assertEqual(select_stmt.target_list[0].children[0].value, 12)

# from_table
self.assertIsNone(select_stmt.from_table)

def test_table_ref(self):
"""Testing table info in TableRef
Class: TableInfo
Expand Down
1 change: 1 addition & 0 deletions test/unit_tests/parser/test_parser_statements.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,7 @@ def test_parser_statement_types(self):
"SHOW TABLES;",
"SHOW FUNCTIONS;",
"EXPLAIN SELECT a FROM foo;",
"SELECT HomeRentalForecast(12);",
"""SELECT data FROM MyVideo WHERE id < 5
ORDER BY Similarity(FeatureExtractor(Open("abc.jpg")),
FeatureExtractor(data))
Expand Down

0 comments on commit 6c972e7

Please sign in to comment.