Ejemplo n.º 1
0
        public void Test10()
        {
            var args = ConsoleInputParser.Parse(@"sdjkas'asdsakl""asdas""'");

            Assert.True(args.Length == 1);
            Assert.True(args[0] == @"sdjkasasdsakl""asdas""");
        }
Ejemplo n.º 2
0
        public void Test2()
        {
            var args = ConsoleInputParser.Parse(@"'asds'");

            Assert.True(args.Length == 1);
            Assert.True(args[0] == @"asds");
        }
Ejemplo n.º 3
0
        public void Test8()
        {
            var args = ConsoleInputParser.Parse(@"""    aaaa    """);

            Assert.True(args.Length == 1);
            Assert.True(args[0] == @"    aaaa    ");
        }
Ejemplo n.º 4
0
        public void Test4()
        {
            var args = ConsoleInputParser.Parse(@" a a ");

            Assert.True(args.Length == 2);
            Assert.True(args[0] == @"a");
            Assert.True(args[1] == @"a");
        }
Ejemplo n.º 5
0
        public void Test14()
        {
            var args = ConsoleInputParser.Parse(@"abc'defg \' 'hi 123 ""456 678\""quote\"""" ");

            Assert.True(args.Length == 3);
            Assert.True(args[0] == @"abcdefg ' hi");
            Assert.True(args[1] == @"123");
            Assert.True(args[2] == "456 678\"quote\"");
        }
Ejemplo n.º 6
0
        public void StringCoordinates_ParsedToIntValues()
        {
            const int expectedX = 0, expectedY = 1;

            const string userInput       = "1,2";
            var          successfulParse = ConsoleInputParser.TryParseCoordinates(userInput, out var actualX, out var actualY);

            Assert.True(successfulParse);
            Assert.Equal(expectedX, actualX);
            Assert.Equal(expectedY, actualY);
        }
Ejemplo n.º 7
0
        public void Start()
        {
            ConsolePrinter.PrintWelcome();
            ConsolePrinter.PrintHeresBoard();
            ConsolePrinter.PrintBoard(_board);

            while (!BoardEvaluator.IsFinished(_board))
            {
                ConsolePrinter.PromptPlayerMove(_currentPlayer);
                var input = Console.ReadLine();
                if (ConsoleInputParser.TryParseCoordinates(input, out var x, out var y))
                {
                    if (_board.ContainsCoordinates(x, y))
                    {
                        var cell = _board.GetCell(x, y);
                        if (cell.IsEmpty())
                        {
                            _currentPlayer.Move(_board, x, y);
                            if (BoardEvaluator.HasWinCondition(_board))
                            {
                                ConsolePrinter.PrintWonGame();
                            }
                            else if (BoardEvaluator.IsTie(_board))
                            {
                                ConsolePrinter.PrintTieGame();
                            }
                            else
                            {
                                ConsolePrinter.PrintMoveAccepted();
                            }
                            ConsolePrinter.PrintBoard(_board);
                            _currentPlayer = _currentPlayer == _player1 ? _player2 : _player1;
                        }
                        else
                        {
                            ConsolePrinter.PrintCellFull();
                        }
                    }
                    else
                    {
                        ConsolePrinter.PrintInvalidCoordinates();
                    }
                }
Ejemplo n.º 8
0
        public void Test13()
        {
            var args = ConsoleInputParser.Parse(@"     ");

            Assert.True(args.Length == 0);
        }
Ejemplo n.º 9
0
        public void TryParse_InvalidStringCoordinates_ReturnsFalse(string userInput)
        {
            var successfulParse = ConsoleInputParser.TryParseCoordinates(userInput, out var actualX, out var actualY);

            Assert.False(successfulParse);
        }
Ejemplo n.º 10
0
 /// <summary>
 /// Parse using a internal class that simule the a simple prompt parse
 /// </summary>
 /// <param name="commandLine">Command line text</param>
 /// <returns>Arguments parseds</returns>
 public static string[] CommandLineToArgs(string commandLine)
 {
     return(ConsoleInputParser.Parse(commandLine));
 }
Ejemplo n.º 11
0
 public static void Apply <TClass>(TClass obj, string[] args) where TClass : class
 {
     ConsoleInputParser.Run(obj, args);
 }