public void EvaluateCanReturnExecuteCommand() { Parse parse = new Parse("1 + 5"); Evaluate eval = new Evaluate(parse); eval.Execute(); Parse parseTwo = new Parse("lastq"); eval.ParsedInput = parseTwo; eval.Execute(); Assert.AreEqual("1 + 5", eval.Answer); }
public void EvaluateCanExecuteExpressionWithConstants() { Parse parse = new Parse("q= 7"); Evaluate eval = new Evaluate(parse); eval.Execute(); Parse parseTwo = new Parse("q + 5"); eval.ParsedInput = parseTwo; eval.Execute(); Assert.AreEqual("12", eval.Answer); }
public void EvaluateCanExecuteBasicOperation() { Parse parse = new Parse("1 + 5"); Evaluate eval = new Evaluate(parse); eval.Execute(); Assert.AreEqual("6", eval.Answer); }
public void EvaluateCanAssignConstant() { Parse parse = new Parse("q= 7"); Evaluate eval = new Evaluate(parse); eval.Execute(); Assert.AreEqual("Stored: q = 7", eval.Answer); }
public void EvaluateCanSubstitueConstants() { Parse parse = new Parse("q= 7"); Evaluate eval = new Evaluate(parse); eval.Execute(); Parse parseTwo = new Parse("q + 5"); eval.ParsedInput = parseTwo; eval.SubstituteConstants(); Assert.AreEqual(7, eval.ParsedInput.FirstNumArg); }
static void Main(string[] args) { int count = 0; string prompt = $"[{count.ToString()}]> "; string answer = ""; Evaluate eval = new Evaluate(); while (answer != "exit") { Console.Write(prompt); string response = Console.ReadLine(); Parse parse = new Parse(response); eval.ParsedInput = parse; eval.Execute(); Console.WriteLine($" = {eval.Answer}"); answer = eval.Answer; count++; prompt = $"[{count.ToString()}]> "; } Console.WriteLine("Bye!!"); }