public void Go_BlankScript_NoCompilationWarnings() { var easyScript = EasyScript <object> .Go(""); Assert.Equal( expected: 0, actual: easyScript.CompilationOutput.WarningCount); }
public void Go_BadScript_OneCompilationError() { var easyScript = EasyScript <object> .Go("int x = unknown_variable;"); Assert.Equal( expected: 1, actual: easyScript.CompilationOutput.ErrorCount); }
public void Go_BlankScript_SummaryAllOk() { var easyScript = EasyScript <object> .Go(""); Assert.Contains( expectedSubstring: "all ok", actualString: easyScript.Summary, comparisonType: System.StringComparison.OrdinalIgnoreCase); }
public void Go_InvalidReturnValue_FailsToCompile() { var script = "1.2"; var easyScript = EasyScript <int> .Go(script); Assert.Equal( expected: 1, actual: easyScript.CompilationOutput.ErrorCount); }
public void Go_ReturnValue_AsExpected() { var script = "1"; var easyScript = EasyScript <int> .Go(script); Assert.Equal( expected: 1, actual: easyScript.ScriptResults); }
public static void Run() { var easyScript = EasyScript <object> .Go("var x = y"); Console.WriteLine(easyScript.Summary); foreach (var message in easyScript.CompilationOutput.Messages) { Console.WriteLine($"Message: {message}"); } }
public static void Run() { Console.WriteLine("Enter your own script"); var script = Console.ReadLine(); var easyScript = EasyScript <object> .Go(script); Console.WriteLine($"Summary: {easyScript.Summary}"); Console.WriteLine($"Runtime exception: {easyScript.RuntimeException}"); Console.WriteLine($"Return data: {easyScript.ScriptResults}"); }
public void Go_Globals_CanWriteGlobalProperty() { var globals = new Globals() { C = 1 }; var script = "C = 9"; var easyScript = EasyScript <int> .Go(script, globals); Assert.Equal( expected: 9, actual: globals.C); }
public void Go_Globals_CanReadGlobalProperty() { var globals = new Globals() { C = 1 }; var script = "C + 1"; var easyScript = EasyScript <int> .Go(script, globals); Assert.Equal( expected: globals.C + 1, actual: easyScript.ScriptResults); }
public void Go_PoorScript_OneCompilationMessage() { var script = string.Join( separator: Environment.NewLine, "int Double(int x) ", "{ ", " return 0; ", " return x * 2; ", "} "); var easyScript = EasyScript <object> .Go(script); Assert.Single(easyScript.CompilationOutput.Messages); }
public static void Run() { var script = string.Join( separator: Environment.NewLine, "Console.WriteLine($\"Script: Global variable Counter = {Counter}\");", "Counter *= 2;", "Console.WriteLine($\"Script: Global variable Counter = {Counter}\");"); globals.Counter = 999; EasyScript <object> .Go(script, globals); Console.WriteLine($"Host: Counter = {globals.Counter}"); }
public void Go_PoorScript_OneCompilationWarning() { var script = string.Join( separator: Environment.NewLine, "int Double(int x) ", "{ ", " return 0; ", " return x * 2; ", "} "); var easyScript = EasyScript <object> .Go(script); Assert.Equal( expected: 1, actual: easyScript.CompilationOutput.WarningCount); }
public static void Run() { EasyScript <object> .Go("Console.WriteLine(\"Hello world, from the script!\");"); }
public void Go_BlankScript_NoCompilationMessages() { var easyScript = EasyScript <object> .Go(""); Assert.Empty(easyScript.CompilationOutput.Messages); }
public void Go_BlankScript_AllOk() { var easyScript = EasyScript <object> .Go(""); Assert.True(easyScript.AllOk); }
public static void Run() { var easyScript = EasyScript <string> .Go("return \"I am a message from the script!\";"); Console.WriteLine(easyScript.ScriptResults); }
public void Go_BlankScript_NoRuntimeException() { var easyScript = EasyScript <object> .Go(""); Assert.Null(easyScript.RuntimeException); }
public void Go_BadScript_OneCompilationMessage() { var easyScript = EasyScript <object> .Go("int x = unknown_variable;"); Assert.Single(easyScript.CompilationOutput.Messages); }