5 static void Run (string id, string stmt)
7 if (!Evaluator.Run (stmt))
8 Console.WriteLine ("Failed on test {0}", id);
11 static void Evaluate (string id, string expr, object expected)
14 object res = Evaluator.Evaluate (expr);
15 if (res == null && expected == null)
18 if (!expected.Equals (res)){
19 Console.WriteLine ("Failed on test {2} Expecting {0}, got {1}", expected, res, id);
20 throw new Exception ();
23 Console.WriteLine ("Failed on test {0}", id);
30 Evaluator.Init (new string [] { "-v", "-v" });
31 Evaluate ("multiply", "1*2;", 2);
32 Run ("1", "System.Console.WriteLine (100);");
33 Run ("Length", "var a = new int [] {1,2,3}; var b = a.Length;");
35 Evaluate ("CompareString", "\"foo\" == \"bar\";", false);
36 Evaluate ("CompareInt", "var a = 1; a+2;", 3);
38 Evaluator.Run ("using System; using System.Linq;");
39 Run ("LINQ-1", "var a = new int[]{1,2,3};\nfrom x in a select x;");
40 Run ("LINQ-2", "var a = from f in System.IO.Directory.GetFiles (\"/tmp\") where f == \"passwd\" select f;");
42 Evaluator.ReferenceAssembly (typeof (MyTest).Assembly);
43 Evaluate ("assembly reference test", "typeof (MyTest) != null;", true);
45 Run ("LINQ-3", "var first_scope = new int [] {1,2,3};");
46 Run ("LINQ-4", "var second_scope = from x in first_scope select x;");
49 string [] res = Evaluator.GetCompletions ("ConsoleK", out prefix);
50 if (res [0] != "ey" || res [1] != "eyInfo"){
51 Console.WriteLine (res [0]);
52 Console.WriteLine (res [1]);
53 throw new Exception ("Expected two completions ConsoleKey and ConsoleKeyInfo");
56 res = Evaluator.GetCompletions ("Converte", out prefix);
58 throw new Exception ("Expected one completion for Conveter<");
61 res = Evaluator.GetCompletions ("Sys", out prefix);
62 if (res [0] != "tem"){
63 throw new Exception ("Expected at least a conversion for System");
66 res = Evaluator.GetCompletions ("System.Int3", out prefix);
68 throw new Exception ("Expected completion to System.Int32");
71 res = Evaluator.GetCompletions ("new System.Text.StringBuilder () { Ca", out prefix);
72 if (res [0] != "pacity"){
73 throw new Expected ("Expected completion to Capacity");
76 res = Evaluator.GetCompletions ("new System.Text.StringBuilder () { ", out prefix);
78 throw new Expected ("Expected 4 completions (Capacity Chars Length MaxCapacity)");