public void ValidateSelect_ShouldReturnFalse_WhenCallsSyntaxIsIncorrect(string queryToValidate) { DeclarationsArray declarations = new DeclarationsArray(); SelectValidator validator = new SelectValidator(declarations); bool result = validator.ValidateSelectQuery(queryToValidate); Assert.True(result); }
public void SelectWithValidator_ShouldReturnFalse_WhenDeclarationMissing(string queryToValidate) { DeclarationsArray declarationsArray = new DeclarationsArray(); SelectWithValidator validator = new SelectWithValidator(queryToValidate, declarationsArray); bool result = validator.isGrammarCorrect(); Assert.False(result); }
public void ValidateSelectBoolean_ShouldReturnFalse_WhenModifiesIsAmbiguous() { DeclarationsArray declarations = new DeclarationsArray(); // Use of underscore must not lead to ambiguities. For example, the following query should be rejected // as incorrect as it is not clear if underscore refers to a statement or to a procedure SelectValidator validator = new SelectValidator(declarations); bool result = validator.ValidateSelectQuery("select boolean such that Modifies (_, \"x\")"); Assert.False(result); }
public void SelectWithValidator_ShouldReturnFalse_WhenSynonymTypeOtherThanProgLine(string queryToValidate, string declarationName, string declarationType) { DeclarationsArray declarationsArray = new DeclarationsArray(); declarationsArray.AddDeclaration(declarationType, declarationName); SelectWithValidator validator = new SelectWithValidator(queryToValidate, declarationsArray); bool result = validator.isGrammarCorrect(); Assert.False(result); }
public void SelectWithValidator_ShouldReturnTrue(string queryToValidate, string declarationName, string declarationType) { DeclarationsArray declarationsArray = new DeclarationsArray(); declarationsArray.AddDeclaration(declarationType, declarationName); SelectWithValidator validator = new SelectWithValidator(queryToValidate, declarationsArray); bool result = validator.isGrammarCorrect(); Assert.True(result); }
public void ValidateAttrRef_ShouldReturnFalse_WhenWrongDesignEntity(string input, string designEntity, string declarationName) { DeclarationsArray declarationsArray = new DeclarationsArray(); declarationsArray.AddDeclaration(designEntity, declarationName); AttrRef attrRef = new AttrRef(input, declarationsArray); bool result = attrRef.IsGrammarCorrect(); Assert.False(result); }
public void ValidateAttrName_ShouldReturnFalse_WhenIncorrectDeclarationType(string attrName, string declarationName, string declarationType) { DeclarationsArray declarations = new DeclarationsArray(); declarations.AddDeclaration(declarationType, declarationName); AbstractAuxiliaryGrammar attrNameValidator = new AttrName(attrName, declarationName, declarations); bool result = attrNameValidator.IsGrammarCorrect(); Assert.False(result); }
public void ValidateSelectBoolean_ShouldReturnTrue_WhenModifies(string queryToValidate) { DeclarationsArray declarations = new DeclarationsArray(); // Modifies design entity relationships: // Modifies(procedure, variable) // Modifies(stmt, variable) SelectValidator validator = new SelectValidator(declarations); bool result = validator.ValidateSelectQuery(queryToValidate); Assert.True(result); }
public void ValidateSelect_ShouldReturnFalse_WhenSuchThatUsedIncorrectly(string queryToValidate) { DeclarationsArray declarations = new DeclarationsArray(); // **such that grammar rules** // // suchthat - cl : ‘such that’ relCond // relCond : relRef( ‘and’ relRef) * // relRef: ModifiesP | ModifiesS | UsesP | UsesS | Calls | CallsT | Parent | ParentT | // Follows | FollowsT | Next | NextT | Affects | AffectsT SelectValidator validator = new SelectValidator(declarations); bool result = validator.ValidateSelectQuery(queryToValidate); Assert.True(result); }
public AttrCompare(string text, DeclarationsArray Declarations) { this.text = text; this.Declarations = Declarations; }
public ProglineSynonym(string text, DeclarationsArray declarations) : base(text) { this.declarations = declarations; }
public AttrRef(string text, DeclarationsArray declarations) { entry = text; this.declarations = declarations; }
public AttrName(string attrName, string declarationName, DeclarationsArray declarations) : base(attrName) { this.declarationName = declarationName; this.declarations = declarations; }
public SuchThat(DeclarationsArray Declarations) { this.Declarations = Declarations; Pkb = Initialization.PkbReference; }
public Ref(string text, DeclarationsArray declarations) { this.text = text.Trim(); this.declarations = declarations; }