private BoardConfig.ApplicationStatus InitBoard(string width, string height, string whites)
        {
            BoardConfig.ApplicationStatus status;
            int  boardWidth;
            int  boardHeight;
            bool isWhite;

            if (int.TryParse(width, out boardWidth) &&
                int.TryParse(height, out boardHeight) &&
                bool.TryParse(whites, out isWhite))
            {
                if (this.IsValidSizing(boardWidth, boardHeight))
                {
                    this.board = new Board(boardWidth, boardHeight, isWhite);
                    status     = BoardConfig.ApplicationStatus.Success;
                }
                else
                {
                    status = BoardConfig.ApplicationStatus.BadSizing;
                }
            }
            else
            {
                status = BoardConfig.ApplicationStatus.InvalidArgs;
            }

            return(status);
        }
        private BoardConfig.ApplicationStatus InitBoard(string width)
        {
            BoardConfig.ApplicationStatus status;
            int boardWidth;

            if (int.TryParse(width, out boardWidth))
            {
                if (this.IsValidSizing(boardWidth))
                {
                    this.board = new Board(boardWidth, boardWidth);
                    status     = BoardConfig.ApplicationStatus.Success;
                }
                else
                {
                    status = BoardConfig.ApplicationStatus.BadSizing;
                }
            }
            else
            {
                status = BoardConfig.ApplicationStatus.InvalidArgs;
            }

            return(status);
        }
        /// <summary>
        /// Reads command line arguments, initializes instance of Board if valid, sets status of application.
        /// </summary>
        /// <param name="args"> Command line arguments proivided on launch. </param>
        public void ReadInputAndSetStatus(string[] args)
        {
            switch ((BoardConfig.ArgsStatus)args.Length)
            {
            case BoardConfig.ArgsStatus.NoArgs:
                this.status = BoardConfig.ApplicationStatus.NoArgs;
                break;

            case BoardConfig.ArgsStatus.OneArg:
                this.status = this.InitBoard(args[0]);
                break;

            case BoardConfig.ArgsStatus.TwoArgs:
                this.status = this.InitBoard(args[0], args[1]);
                break;

            case BoardConfig.ArgsStatus.ThreeArgs:
                this.status = this.InitBoard(args[0], args[1], args[2]);
                break;

            default:
                break;
            }
        }
Beispiel #4
0
        public void ReadInputAndSetStatus_WhenCalled_SetsStatusOfObject(string[] args, BoardConfig.ApplicationStatus expectedStatus)
        {
            // Arrange
            ChessBoardConsoleUserInterface chessBoardConsole = new ChessBoardConsoleUserInterface();

            // Act
            chessBoardConsole.ReadInputAndSetStatus(args);

            // Assert
            Assert.AreEqual(expectedStatus, chessBoardConsole.GetStatus());
        }