public void isLocationAvailableToPlay_returns_true_if_location_on_board_and_location_is_not_taken()
        {
            //Arrange
            var board = new Testboard(TickTackToeBoard.TickTackToeToken.Available);

            //Act

            //Assert
            Assert.IsTrue(board.isLocationAvailableToPlayWrapper(0, 0));
        }
        public void isLocationAvailableToPlay_returns_false_if_location_off_board()
        {
            //Arrange
            var board = new Testboard(TickTackToeBoard.TickTackToeToken.Available);

            //Act

            //Assert
            Assert.IsFalse(board.isLocationAvailableToPlayWrapper(Testboard.RowCount + 1, Testboard.ColumnCount + 1));
        }
        public void isLocationOnBoard_returns_false_if_row_off_board()
        {
            //Arrange
            var board = new Testboard(TickTackToeBoard.TickTackToeToken.Available);

            //Act (no action needed)

            //Assert
            Assert.IsFalse(board.isLocationOnBoardWrapper(Testboard.RowCount + 1, 0));
        }
        public void isLocationOnBoard_returns_false_if_column_off_board()
        {
            //Arrange
            var board = new Testboard(TickTackToeBoard.TickTackToeToken.Available);

            //Act

            //Assert
            Assert.IsFalse(board.isLocationOnBoardWrapper(0, Testboard.ColumnCount + 1));
        }
        public void isLocationOnBoard_returns_true_if_location_on_board()
        {
            //Arrange
            var board = new Testboard(TickTackToeBoard.TickTackToeToken.Available);

            //Act (no action needed)

            //Assert
            Assert.IsTrue(board.isLocationOnBoardWrapper(0, 0));
        }
        public void BoardColumnCount_gets_column_count()
        {
            //Arrange
            var board = new Testboard(TickTackToeBoard.TickTackToeToken.Available);
            //Act
            var columnCount = board.BoardColumnCount;

            //Assert
            Assert.AreEqual(Testboard.ColumnCount, columnCount);
        }
        public void isLocationTaken_returns_false_if_not_taken()
        {
            //Arrange
            var board = new Testboard(TickTackToeBoard.TickTackToeToken.Available);

            //Act (no action needed)

            //Assert
            Assert.IsFalse(board.isLocationTakenWrapper(1, 1));
        }
        public void BoardRowCount_gets_row_count()
        {
            //Arrange
            var board = new Testboard(TickTackToeBoard.TickTackToeToken.Available);

            //Act
            var rowCount = board.BoardRowCount;

            //Assert
            Assert.AreEqual(Testboard.RowCount, rowCount);
        }
        public void isLocationAvailableToPlay_returns_false_if_location_is_taken()
        {
            //Arrange
            var board  = new Testboard(TickTackToeBoard.TickTackToeToken.Available);
            int column = 2;
            int row    = 1;

            board.PlaceTokenOnBoard(TickTackToeBoard.TickTackToeToken.O, row, column);

            //Act

            //Assert
            Assert.IsFalse(board.isLocationAvailableToPlayWrapper(row, column));
        }
        public void isLocationTaken_returns_true_if_taken_by_O()
        {
            //Arrange
            var board  = new Testboard(TickTackToeBoard.TickTackToeToken.Available);
            int column = 2;
            int row    = 1;

            board.PlaceTokenOnBoard(TickTackToeBoard.TickTackToeToken.O, row, column);

            //Act
            var result = board.isLocationTakenWrapper(row, column);

            //Assert
            Assert.IsTrue(result);
        }