public void TestArrayInit() { Parser p = new Parser(); var text = @" class Program: private int[10] a private int i public static int Main(): a = {21, 21, 21, 21, 2} "; var res = p.Parse(text); Assert.IsTrue(res); var testVisitor = new TestAstValidVisitor(); res = testVisitor.TestTree(p.GetRootNode()); Assert.IsTrue(res); }
public void TestAssignment() { Parser p = new Parser(); var text = @" class Program: private int temp private int i private bool c public static int Main(): i = 0 c = false temp = i return temp "; var res = p.Parse(text); Assert.IsTrue(res); var testVisitor = new TestAstValidVisitor(); res = testVisitor.TestTree(p.GetRootNode()); Assert.IsTrue(res); }
public void TestComparison() { Parser p = new Parser(); var text = @" class Program: private int temp private bool test public static int Main(): while (temp < 5): Console.WriteInt(10) return 0 "; var res = p.Parse(text); Assert.IsTrue(res); var testVisitor = new TestAstValidVisitor(); res = testVisitor.TestTree(p.GetRootNode()); Assert.IsTrue(res); }
public void TestStringFunc() { Parser p = new Parser(); var text = @" class Program: private string s public static int Main(string arg): Main(""hello, world!"") return 0 "; var res = p.Parse(text); Assert.IsTrue(res); var testVisitor = new TestAstValidVisitor(); res = testVisitor.TestTree(p.GetRootNode()); Assert.IsTrue(res); }
public void TestMustWorkTest() { Parser p = new Parser(); var text = @" class Program: private int temp public static int Main(): if ( true) : Console.WriteInt(temp) return 0 "; var res = p.Parse(text); Assert.IsTrue(res); var testVisitor = new TestAstValidVisitor(); res = testVisitor.TestTree(p.GetRootNode()); Assert.IsTrue(res); }
public void TestMath() { Parser p = new Parser(); var text = @" class Program: private int a private int i public static int Main(): a = 0 i = 1 + a return i "; var res = p.Parse(text); Assert.IsTrue(res); var testVisitor = new TestAstValidVisitor(); res = testVisitor.TestTree(p.GetRootNode()); Assert.IsTrue(res); }
public void TestFunctions() { Parser p = new Parser(); var text = @" class Program: private int a public static int Main(): a = foo(2) return a private int foo(int i): return i "; var res = p.Parse(text); Assert.IsTrue(res); var testVisitor = new TestAstValidVisitor(); res = testVisitor.TestTree(p.GetRootNode()); Assert.IsTrue(res); }
public void TestConditions() { Parser p = new Parser(); var text = @" class Program: private int a private int i public static int Main(): if (true && false): if (false && !true && true): if (false && !true && true): if(!true && true || false ): if(!true && Console.ReadBool() || false): return c "; var res = p.Parse(text); Assert.IsTrue(res); var testVisitor = new TestAstValidVisitor(); res = testVisitor.TestTree(p.GetRootNode()); Assert.IsTrue(res); }