public void ArrayAsArgumentListTest() { DemoClassThree dc3 = new DemoClassThree(); FunctionDefinition[] defs = FunctionDefinitionCreator.CreateDefinitions(dc3, typeof(DemoClassThree)); Assert.AreEqual(1, defs.Length); List<FunctionDefinition> moreFunctionDefinitions = new List<FunctionDefinition> { GetPrintFunction () }; moreFunctionDefinitions.AddRange (defs); TextReader programString = File.OpenText("code75.txt"); SprakRunner program = new SprakRunner(programString, moreFunctionDefinitions.ToArray()); program.run(); foreach(var e in program.getRuntimeErrorHandler().getErrors()) { Console.WriteLine(e); } foreach(var e in program.getCompileTimeErrorHandler().getErrors()) { Console.WriteLine(e); } Assert.AreEqual (0, program.getRuntimeErrorHandler().getErrors().Count); Assert.AreEqual (0, program.getCompileTimeErrorHandler().getErrors().Count); }
public void CallFunctionThatThrowsException() { DemoClassFour dc3 = new DemoClassFour(); FunctionDefinition[] defs = FunctionDefinitionCreator.CreateDefinitions(dc3, typeof(DemoClassFour)); Assert.AreEqual(1, defs.Length); List<FunctionDefinition> moreFunctionDefinitions = new List<FunctionDefinition> { GetPrintFunction () }; moreFunctionDefinitions.AddRange (defs); TextReader programString = File.OpenText("code77.txt"); SprakRunner program = new SprakRunner(programString, moreFunctionDefinitions.ToArray()); program.run(); Assert.AreEqual (0, program.getCompileTimeErrorHandler().getErrors().Count); Assert.AreEqual (1, program.getRuntimeErrorHandler().getErrors().Count); program.getRuntimeErrorHandler().printErrorsToConsole(); }