public void ColumnFullReturnsTrueIfFull()
 {
     var board = new Connect4Board(2, 2);
     board.Columns[0][0].PlayerIndex = 1;
     board.Columns[0][1].PlayerIndex = 1;
     Assert.IsTrue(board.ColumnFull(1));
 }
 public override int GetColumnSelected(Func<string> QueryPlayer, Action<object> WriteLinetoDisplay, Connect4Board board)
 {
     WriteLinetoDisplay("The computer is thinking");
     Thread.Sleep(2000);
     int column = rand.Next(1, board.ColumnCount+1);
     while (board.ColumnFull(column))
         column = rand.Next(1, board.ColumnCount+1);
     return column;
 }
 public override int GetColumnSelected(Func<string> QueryPlayer, Action<object> WriteLineToDisplay, Connect4Board board)
 {
     var columnSelected =  QueryPlayer();
     int column = 0;
     while (!Int32.TryParse(columnSelected, out column) ||
         column < 1||
         column > board.ColumnCount ||
         board.ColumnFull(column))
     {
         WriteLineToDisplay(String.Format("Please enter a number between 1 and {0} where column is not full.", board.ColumnCount));
         columnSelected = QueryPlayer();
     }
     return column;
 }
 public void ColumnFullReturnsFalseIfNotFull()
 {
     var board = new Connect4Board(2, 2);
     Assert.IsFalse(board.ColumnFull(1));
 }