public void ConsoleApplicationTest() { var reader = new StringReader("create 2 2\npoint 0 0\nquit\n"); var writer = new StringWriter(); var display = new ConsoleDisplay(writer); var source = new ConsoleCommandSource(reader); new Repl(source, display).Start(); Assert.AreEqual( new List <string> { "xxxx", "x x", "x x", "xxxx", "", "xxxx", "xx x", "x x", "xxxx", "", "Good bye!" }, Unlines(writer.ToString().Trim())); }
public void CreateCanvasCommand() { var reader = new StringReader("create 0 0"); var source = new ConsoleCommandSource(reader); Assert.AreEqual(true, source.MoveNext()); Assert.AreEqual(new CreateCanvas(0, 0), source.Current); }
public void QuitCommand() { var reader = new StringReader("create 1 1\nquit\n"); var source = new ConsoleCommandSource(reader); var _ = source.Current; // ignore create Assert.AreEqual(true, source.MoveNext()); Assert.AreEqual(new QuitCommand(), source.Current); }
public void DrawPointCommand() { var reader = new StringReader("create 1 1\npoint 0 0\n"); var source = new ConsoleCommandSource(reader); var _ = source.Current; // ignore create Assert.AreEqual(true, source.MoveNext()); Assert.AreEqual(new DrawPoint(0, 0), source.Current); }
public void PrintCanvasCommand() { var reader = new StringReader("create 0 0\nprint\n"); var source = new ConsoleCommandSource(reader); var _ = source.Current; // ignore create Assert.AreEqual(true, source.MoveNext()); Assert.AreEqual(new PrintCanvas(), source.Current); }
public static void Main(string[] args) { ICommandSource commandSource = new ConsoleCommandSource(); if ((args.Length == 1) && (args[0] == "test")) { commandSource = new FileCommandSource(); } Core.Core botCore = new Core.Core(commandSource); botCore.Run(); }