public void GetConditionFromQuery_ConditionExists_ShouldReturnValidCondition(string query) { var actual = SelectUtils.GetConditionFromQuery(query); var expected = new string[] { "isAdult", "true" }; Assert.Equal(expected, actual); }
public override bool Check(string query) { var arguments = SelectUtils.GetArgumentsFromQuery(query); var keyword = SelectUtils.GetWhereKeywordFromArguments(arguments); var condition = SelectUtils.GetConditionFromQuery(query); var tableName = SelectUtils.GetTableNameFromArguments(arguments).ToLower(); if (keyword != null && condition == null) { throw new MalformedArgumentsException(); } return(CheckNext(query)); }
public override bool Check(string query) { var arguments = SelectUtils.GetArgumentsFromQuery(query); var condition = SelectUtils.GetConditionFromQuery(query); var tableName = SelectUtils.GetTableNameFromArguments(arguments).ToLower(); var columnNames = _database.GetTable(tableName).GetColumnProperties().Select(x => x.Name).ToArray(); if (condition != null && !columnNames.Contains(condition[0])) { throw new UnknownColumnNameException(condition[0]); } return(CheckNext(query)); }
private Record[] SelectData(string query) { var arguments = SelectUtils.GetArgumentsFromQuery(query); var tableName = SelectUtils.GetTableNameFromArguments(arguments).ToLower().TrimEnd(';'); var columnNames = SelectUtils.GetColumnNamesFromQuery(query); if (columnNames.Length == 0) { return(null); } if (columnNames[0] == "*") { columnNames = null; } var condition = SelectUtils.GetConditionFromQuery(query); return(_database.GetTable(tableName).GetRecords(columnNames, condition == null ? null : new Condition(condition[0], condition[1]))); }
public override bool Check(string query) { var arguments = SelectUtils.GetArgumentsFromQuery(query); var condition = SelectUtils.GetConditionFromQuery(query); if (condition == null) { return(CheckNext(query)); } var tableName = SelectUtils.GetTableNameFromArguments(arguments).ToLower(); var columnTypes = _database.GetTable(tableName).GetColumnProperties(); var type = columnTypes.First(x => x.Name == condition[0]).Type; if (!GeneralUtils.IsTypeValid(type, condition[1])) { throw new InvalidColumnTypeException(condition[0], type); } return(CheckNext(query)); }
public void GetConditionFromQuery_ConditionNotExists_ShouldReturnNull(string query) { var actual = SelectUtils.GetConditionFromQuery(query); Assert.Null(actual); }