public void EvalFromMethodInfo() { var io = new StringWriter(); var interp = new CommandInterpreter(io, io); var obj = new CommandObj(); interp.AddCommand("Plus", obj); interp.Eval("Plus 2 2"); Assert.AreEqual("4\r\n", io.ToString()); }
public void EvalFromAction() { var io = new StringWriter(); var interp = new CommandInterpreter(io, io); var obj = new CommandObj(); interp.AddCommand("plus", new Action<TextWriter, int, int>(obj.AsyncPlus)); interp.Eval("plus 2 2"); Assert.AreEqual("4", io.ToString()); }
public void EvalAsyncArgless() { var io = new StringWriter(); var interp = new CommandInterpreter(io, io); var obj = new CommandObj(); interp.AddCommand("say", new Action<TextWriter>(obj.AsyncArgless)); interp.Eval("say"); Assert.AreEqual("hi", io.ToString()); }
public void EvalWithSwitch() { var interp = new CommandInterpreter(new StringWriter(), new StringWriter()); var obj = new CommandObj(); interp.AddCommand("plus", obj, "PlusSwitch"); interp.Eval("plus 2 2"); Assert.AreEqual("5\r\n", interp.Output.ToString()); interp.Output = new StringWriter(); interp.Eval("plus 2 2 -c 2"); Assert.AreEqual("6\r\n", interp.Output.ToString()); }
public void EvalWithNullDefaults() { var io = new StringWriter(); var interp = new CommandInterpreter(io, io); var commandObj = new CommandObj(); interp.AddCommand("join", commandObj, "Join"); interp.Eval("join"); Assert.AreEqual("ab\r\n", io.ToString()); }
public void EvalWithFlag() { var io = new StringWriter(); var interp = new CommandInterpreter(io, io); var obj = new CommandObj(); interp.AddCommand("plus", obj, "PlusFlag"); interp.Eval("plus 2 2"); Assert.AreEqual("4\r\n", io.ToString()); interp.Output = new StringWriter(); interp.Eval("plus 2 2 --invert"); Assert.AreEqual("-4\r\n", interp.Output.ToString()); }