def test_safe_positions_on_board_with_queen_at_a1(self):
     safe_positions = find_safe_positions(["a1"], all_positions)
     expected = [
         "b3",
         "b4",
         "b5",
         "b6",
         "b7",
         "b8",
         "c2",
         "c4",
         "c5",
         "c6",
         "c7",
         "c8",
         "d2",
         "d3",
         "d5",
         "d6",
         "d7",
         "d8",
         "e2",
         "e3",
         "e4",
         "e6",
         "e7",
         "e8",
         "f2",
         "f3",
         "f4",
         "f5",
         "f7",
         "f8",
         "g2",
         "g3",
         "g4",
         "g5",
         "g6",
         "g8",
         "h2",
         "h3",
         "h4",
         "h5",
         "h6",
         "h7",
     ]
     self.assertEquals(set(expected), set(safe_positions))
 def test_safe_positions_on_board_with_4_queens_in_knight_pattern_starts_from_a1(self):
     queen_positions = ["a1", "b3", "c5", "d7"]
     safe_positions = find_safe_positions(queen_positions, all_positions)
     expected = ["e2", "e4", "f4", "g2", "g6", "h2", "h4", "h6"]
     self.assertEquals(set(expected), set(safe_positions))
 def test_all_positions_on_empty_board_is_safe(self):
     safe_positions = find_safe_positions([], all_positions)
     self.assertEquals(set(all_positions), set(safe_positions))