public void AST_If_Else_test() { string text = @"a <- 0; if a = 1 then { a <- 2; } else {a <- 3} fi; a * 2;"; AST_Root r = BuildAST_Cool.BUILD(text); AST_Execute_Interpreter v = new AST_Execute_Interpreter(); Assert.IsNotNull(r); Assert.AreEqual(v.Visit(r), 6); }
public void AST_Asignation_test() { string text = @"b <- 11; a <- b + 2; b <- 1; a + b + 1;"; AST_Root r = BuildAST_Cool.BUILD(text); AST_Execute_Interpreter v = new AST_Execute_Interpreter(); Assert.IsNotNull(r); Assert.AreEqual(v.Visit(r), 15); }
public void AST_While_Fib_test() { string text = @" a <- 0; b <- 1; n <- 2; while n < 9 loop { c <- a + b; a <- b; b <- c; n <- n + 1; } pool; b; "; AST_Root r = BuildAST_Cool.BUILD(text); AST_Execute_Interpreter v = new AST_Execute_Interpreter(); Assert.IsNotNull(r); Assert.AreEqual(v.Visit(r), 21); }