Skip to content

Commit

Permalink
Add unit testcases fro statement to opr
Browse files Browse the repository at this point in the history
  • Loading branch information
xzdandy committed Sep 11, 2023
1 parent 41cacf7 commit 4915143
Showing 1 changed file with 33 additions and 0 deletions.
33 changes: 33 additions & 0 deletions test/unit_tests/optimizer/test_statement_to_opr_converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -85,11 +85,23 @@ def test_visit_projection_should_add_logical_predicate(self, mock_lproject):
converter = StatementToPlanConverter()
projects = MagicMock()

converter._plan = MagicMock()
converter._visit_projection(projects)
mock_lproject.assert_called_with(projects)
mock_lproject.return_value.append_child.assert_called()
self.assertEqual(mock_lproject.return_value, converter._plan)

@patch("evadb.optimizer.statement_to_opr_converter.LogicalProject")
def test_visit_projection_should_not_add_logical_predicate(self, mock_lproject):
converter = StatementToPlanConverter()
projects = MagicMock()

converter._plan = None
converter._visit_projection(projects)
mock_lproject.assert_called_with(projects)
mock_lproject.return_value.append_child.assert_not_called()
self.assertEqual(mock_lproject.return_value, converter._plan)

def test_visit_select_should_call_appropriate_visit_methods(self):
converter = StatementToPlanConverter()
converter.visit_table_ref = MagicMock()
Expand Down Expand Up @@ -120,6 +132,27 @@ def test_visit_select_should_not_call_visits_for_null_values(self):
converter._visit_projection.assert_not_called()
converter._visit_select_predicate.assert_not_called()

def test_visit_select_without_table_ref(self):
converter = StatementToPlanConverter()
converter.visit_table_ref = MagicMock()
converter._visit_projection = MagicMock()
converter._visit_select_predicate = MagicMock()
converter._visit_union = MagicMock()
converter._visit_groupby = MagicMock()
converter._visit_orderby = MagicMock()
converter._visit_limit = MagicMock()

column_list = MagicMock()
statement = SelectStatement(target_list=column_list)
converter.visit_select(statement)
converter.visit_table_ref.assert_not_called()
converter._visit_projection.assert_called_once_with(column_list)
converter._visit_select_predicate.assert_not_called()
converter._visit_union.assert_not_called()
converter._visit_groupby.assert_not_called()
converter._visit_orderby.assert_not_called()
converter._visit_limit.assert_not_called()

@patch("evadb.optimizer.statement_to_opr_converter.LogicalCreateFunction")
@patch(
"evadb.optimizer.\
Expand Down

0 comments on commit 4915143

Please sign in to comment.