// ReSharper disable once UnusedParameter.Local static void Main(string[] args) { Variable variable = new Variable(); TextWriter text = new StringWriter(); Interpreter interpreter = new Interpreter(text); interpreter.ExecuteLine("set a 5"); interpreter.ExecuteLine("sub a 3"); interpreter.ExecuteLine("sub a 8"); interpreter.ExecuteLine("print a"); }
public void ExampleFunction() { pult.ExecuteLine("set code"); pult.ExecuteLine("def test " + "set a 5 " + "sub a 3 " + "print b " + "set b 7 " + "call test"); pult.ExecuteLine("end code"); pult.ExecuteLine("run"); }
void TestInterpreter(string[] commands, string[] expectedOutput) { string[] actualOutput; using (var sw = new StringWriter()) { var interpreter = new Interpreter(sw); foreach (var command in commands) { interpreter.ExecuteLine(command); } actualOutput = sw.ToString().Split(_commandsSeparator, StringSplitOptions.RemoveEmptyEntries); } Assert.AreEqual(expectedOutput.Length, actualOutput.Length); Assert.AreEqual(expectedOutput, actualOutput); }