public void MultipleVarsCountSymbolTable() { var validator = new DuplicateVariableAnalyser(); var hasSucceeded = validator.Analyse(MultipleVarForm); Assert.IsTrue(hasSucceeded); Assert.AreEqual(2, SymbolTable.Instance.TypeMap.Count); }
public void CheckNameOneVarInSymbolTable() { var validator = new DuplicateVariableAnalyser(); var hasSucceeded = validator.Analyse(OneVarForm); Assert.IsTrue(hasSucceeded); Assert.AreEqual("boughtAHouse", SymbolTable.Instance.TypeMap.Keys.ToArray()[0]); }
public void CheckTypeInSymbolTable() { var validator = new DuplicateVariableAnalyser(); var hasSucceeded = validator.Analyse(OneVarForm); Assert.IsTrue(hasSucceeded); Assert.AreEqual(QValueType.BOOLEAN, SymbolTable.Get("boughtAHouse")); }
public void OneVariableInSymbolTable() { var varAnalyser = new DuplicateVariableAnalyser(); var hasSucceeded = varAnalyser.Analyse(OneVarForm); Assert.IsTrue(hasSucceeded); Assert.AreEqual(1, SymbolTable.Instance.TypeMap.Count); }
public void DuplicateVariableInComputedTest() { var analyser = new DuplicateVariableAnalyser(); var hasSucceded = analyser.Analyse(_duplicateComputedForm); Assert.IsFalse(hasSucceded); Assert.AreEqual(1, Analyser.GetErrors().Count); }
public void NoDuplicateVariableTest() { var analyser = new DuplicateVariableAnalyser(); var hasSucceded = analyser.Analyse(_validForm); Assert.IsTrue(hasSucceded); Assert.AreEqual(0, Analyser.GetErrors().Count); }
public void MultipleVarsNameCheck() { var validator = new DuplicateVariableAnalyser(); var hasSucceeded = validator.Analyse(MultipleVarForm); Assert.IsTrue(hasSucceeded); Assert.AreEqual("boughtAHouse", SymbolTable.Instance.TypeMap.Keys.ToArray()[0]); Assert.AreEqual("priceHouse", SymbolTable.Instance.TypeMap.Keys.ToArray()[1]); }
public void MultipleVarsTypeCheck() { var validator = new DuplicateVariableAnalyser(); var hasSucceeded = validator.Analyse(MultipleVarForm); Assert.IsTrue(hasSucceeded); Assert.AreEqual(QValueType.BOOLEAN, SymbolTable.Get("boughtAHouse")); Assert.AreEqual(QValueType.MONEY, SymbolTable.Get("priceHouse")); }
public void DuplicateVariableTest() { var analyser = new DuplicateVariableAnalyser(); var hasSucceded = analyser.Analyse(_invalidForm); Assert.IsFalse(hasSucceded); Assert.AreEqual(1, Analyser.GetErrors().Count); Assert.AreEqual("[QL] ERROR Duplicate identifier boughtAHouse Boolean", Analyser.GetErrors()[0]); }
public void AllVarsInitialised() { var variableAnalyser = new DuplicateVariableAnalyser(); variableAnalyser.Analyse(_simpleFormWithConditional); var onlyIdentifiedVarsAnalyser = new OnlyInitialisedVarsAnalyser(); var result = onlyIdentifiedVarsAnalyser.Analyse(_simpleFormWithConditional); Assert.IsTrue(result); Assert.AreEqual(0, Analyser.GetErrors().Count); }
public void NotAllVarsInitialisedInComputed() { var variableAnalyser = new DuplicateVariableAnalyser(); variableAnalyser.Analyse(_simpleFormWithComputedNode); var onlyIdentifiedVarsAnalyser = new OnlyInitialisedVarsAnalyser(); var result = onlyIdentifiedVarsAnalyser.Analyse(_simpleFormWithComputedNode); Assert.IsFalse(result); Assert.AreEqual(1, Analyser.GetErrors().Count); Assert.AreEqual("[QL] ERROR [1,224] Unknown identifier 'notInitialisedVar' in statement", Analyser.GetErrors()[0]); }