public void QueryOrderFieldTest() { string queryString = "select * from ipl.csv where season > 2016 and city= 'Bangalore' order by win_by_runs, city"; List <string> queryResult = new List <string> { "win_by_runs", "city" }; Assert.Equal(queryResult, LogicalAndOrderFields.GetOrderField(queryString)); }
public void QueryLogicalOperatorsTest() { string queryString = "select * from table1 where col = 'Delhi' and area > 10000 or population < 500"; List <string> queryResult = new List <string> { "and", "or" }; Assert.Equal(queryResult, LogicalAndOrderFields.GetLogicalOperators(queryString)); }
/// <summary> /// Main method /// </summary> /// <param name="args"></param> static void Main(string[] args) { ConsoleKeyInfo c; do { Console.Clear(); string queryString = ""; int operation = 0; Console.WriteLine(); Console.WriteLine("Choose operation: "); Console.WriteLine("1. Split query"); Console.WriteLine("2. Get file name"); Console.WriteLine("3. Get base part"); Console.WriteLine("4. Get selected fields"); Console.WriteLine("5. Get filter part"); Console.WriteLine("6. Get condition in filter part"); Console.WriteLine("7. Get logical operators in filter part"); Console.WriteLine("8. Get order by field"); Console.WriteLine("9. Get group by field"); Console.WriteLine("10. Get aggegate functions"); Console.WriteLine(); Console.WriteLine("-> "); try { operation = Convert.ToInt32(Console.ReadLine()); } catch (Exception ex) { operation = 0; } Console.WriteLine(); Console.Write("Enter Input string: "); Console.WriteLine(); queryString = Console.ReadLine(); Console.WriteLine(); switch (operation) { case 1: //Split the querseley into words DisplaySplitResult(BasicQueryOperations.SplitQueryWords(queryString)); break; case 2: //Get filename from query DisplayResult(BasicQueryOperations.GetFileNameFromQuery(queryString)); break; case 3: //Get base part of query DisplayResult(BasicQueryOperations.GetBasePartFromQuery(queryString)); break; case 4: //Get selected fields fo query DisplaySplitResult(QueryPartsOperations.GetSelectedFields(queryString)); break; case 5: //Get filter part DisplayResult(QueryPartsOperations.GetFilterPart(queryString)); break; case 6: //Get conditions in filter part DisplaySplitResult(QueryPartsOperations.GetConditionInFilter(queryString)); break; case 7: //Get logical operators in filter part DisplaySplitResult(LogicalAndOrderFields.GetLogicalOperators(queryString)); break; case 8: //Get order by fields DisplaySplitResult(LogicalAndOrderFields.GetOrderField(queryString)); break; case 9: //Get group by fields DisplaySplitResult(GroupAndAggregateFields.GetGroupByField(queryString)); break; case 10: //Get aggregate functions DisplaySplitResult(GroupAndAggregateFields.GetAggregateFunctions(queryString)); break; default: Console.WriteLine("Not a valid operation!!!"); break; } Console.WriteLine("\nPress any key to continue('esc' to stop)"); c = Console.ReadKey(); } while (c.Key != ConsoleKey.Escape); }
public void InvalidQueryOrderFieldTest(string queryString) { Exception ex = Assert.Throws <InvalidQueryException>(() => LogicalAndOrderFields.GetOrderField(queryString)); Assert.Equal("Invalid use of order by clause!!", ex.Message); }
public void InvalidQueryLogicalOperatorsTest(string queryString) { Exception ex = Assert.Throws <InvalidQueryException>(() => LogicalAndOrderFields.GetLogicalOperators(queryString)); Assert.Equal("Invalid conditions in query!!", ex.Message); }