public void ClearNonOccupied(Square square)
 {
     if (square.IsNotOccupied())
     {
         square.ClearSquare();
     }
 }
 public static Square WithRankAndFile(int rank, int file)
 {
     var square = new Square();
     square.rank = rank;
     square.file = file;
     return square;
 }
 void AddQueenToResult(Square square, List<Tuple<int, int>> result)
 {
     if (square.IsOccupied())
     {
         result.Add(new Tuple<int, int>(square.Rank, square.File));
     }
 }