public void ValidateDeclarations_ShouldReturnFalse_WhenVariableMissing() { DeclarationValidator validator = new DeclarationValidator(); bool result = validator.ValidateDeclarationQuery("while "); Assert.False(result); }
public void ValidateDeclarations_ShouldReturnFalse_WhenKeywordsUsedAsVariable(string queryToValidate) { DeclarationValidator validator = new DeclarationValidator(); bool result = validator.ValidateDeclarationQuery(queryToValidate); Assert.False(result, $"{queryToValidate} contains keyword as variable"); }
public void ValidateDeclarations_ShouldReturnFalse_WhenIncorrectVariableName(string queryToValidate) { DeclarationValidator validator = new DeclarationValidator(); bool result = validator.ValidateDeclarationQuery(queryToValidate); Assert.False(result, $"{queryToValidate} should be in format: LETTER ( LETTER | DIGIT | ‘#’ )* "); }
public void ValidateDeclarations_ShouldReturnTrue(string queryToValidate) { DeclarationValidator validator = new DeclarationValidator(); bool result = validator.ValidateDeclarationQuery(queryToValidate); Assert.True(result, $"{queryToValidate} should return true"); }
public void ValidateDeclarations_ShouldReturnFalse_WhenIncorrectDesignEntity(string queryToValidate) { DeclarationValidator validator = new DeclarationValidator(); bool result = validator.ValidateDeclarationQuery(queryToValidate); Assert.False(result, $"{queryToValidate} have incorrect synonyms. " + $"Valid synonyms are ‘procedure’ | ‘stmtLst’ | ‘stmt’ | ‘assign’ | ‘call’ | ‘while’ " + $"| ‘if’ | ‘variable’ | ‘constant’| ‘prog_line’ "); }
public bool ValidateQuery(string query) { query = query.ToUpper(); // It removes all multiple spaces in whole query // e.g. procedure p ; select p // will be replaced to: procedure p ; select p query = Regex.Replace(query, @"\s+", " "); string[] statements = query.Split(';'); foreach (string statement in statements) { string firstWord = statement.Trim().Split(' ')[0]; if (firstWord == "SELECT") { SelectValidator = new SelectValidator(DeclarationValidator.GetDeclarationsArray()); SuchThatValidator.SetList(new List <SuchThatValidator.MethodToDo>()); // TODO: ValidateSelectQuery method if (!SelectValidator.ValidateSelectQuery(statement.Trim())) { throw new InvalidQueryException("#Invalid Select Query"); } //tu dodać SelectOutput selectOutput = new SelectOutput(SelectValidator.SelectParam, DeclarationValidator.GetDeclarationsArray()); Console.WriteLine(selectOutput.GenerateResult()); //Console.ReadKey(); } else { if (!DeclarationValidator.ValidateDeclarationQuery(statement.Trim())) { throw new InvalidQueryException("#Invalid Declaration Query"); } } } return(true); }