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()));
    }
Beispiel #2
0
    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);
    }
Beispiel #3
0
    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);
    }
Beispiel #4
0
    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);
    }
Beispiel #5
0
    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);
    }
Beispiel #6
0
        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();
        }