Esempio n. 1
0
def test_solve():
    for i in range(len(prompts["boards"])):
        puzzle = Puzzle(prompts["boards"][i], ".")
        assert puzzle.has_solution()
        assert not puzzle.is_solved()
        assert puzzle.solve()
        assert puzzle.is_solved()
        assert puzzle.to_string() == prompts["solutions"][i]
Esempio n. 2
0
def test_shuffle():
    for order in ("4", "9"):
        puzzle = Puzzle(prompts["string"][order], ".")
        puzzle.shuffle()
        assert puzzle.has_solution()
Esempio n. 3
0
def test_transpose():
    for order in ("4", "9"):
        puzzle = Puzzle(prompts["string"][order], ".")
        puzzle.transpose()
        assert puzzle.to_2D() == prompts["transpose"][order]
        assert puzzle.has_solution()
Esempio n. 4
0
def test_reflect():
    for order in ("4", "9"):
        puzzle = Puzzle(prompts["string"][order], ".")
        puzzle.reflect()
        assert puzzle.to_2D() == prompts["horizontal"][order]
        puzzle.reflect()
        puzzle.reflect("vertical")
        assert puzzle.to_2D() == prompts["vertical"][order]
        assert puzzle.has_solution()
Esempio n. 5
0
def test_rotate():
    for order in ("4", "9"):
        puzzle = Puzzle(prompts["string"][order], ".")
        puzzle.rotate(5)
        assert puzzle.to_2D() == prompts["rotated"][order]
        puzzle.rotate(3)
        assert puzzle.to_2D() == prompts["2D"][order]
        puzzle.rotate(-2.1)
        assert puzzle.to_1D() == prompts["1D"][order][::-1]
        assert puzzle.has_solution()
Esempio n. 6
0
def test_formatted_string():
    for order in ("4", "9"):
        puzzle = Puzzle(prompts["string"][order], ".")
        assert puzzle.to_formatted_string().split() == prompts["formattedString"][order].split()
Esempio n. 7
0
def test_string():
    for order in ("4", "9"):
        puzzle = Puzzle(prompts["string"][order], ".")
        assert puzzle.to_string() == prompts["string"][order]
Esempio n. 8
0
def test_2d_array():
    for order in ("4", "9"):
        puzzle = Puzzle(prompts["string"][order], ".")
        assert puzzle.to_2D() == prompts["2D"][order]
Esempio n. 9
0
def test_unsolvable():
    for i in range(len(prompts["unsolvable"])):
        puzzle = Puzzle(prompts["unsolvable"][i], ".")
        assert not puzzle.is_solved()
        assert not puzzle.has_solution()
        assert not bool(puzzle.solve())
Esempio n. 10
0
 def test_solve_second_easy(self):
     puzzle = Puzzle(self.second_easy)
     solution = puzzle.solve()
     self.assertEquals(solution.grid, self.solved_grid)
Esempio n. 11
0
 def test_unsolvable_puzzle(self):
     puzzle = Puzzle(self.unsolvable_grid)
     self.assertFalse(puzzle.solve())
Esempio n. 12
0
 def test_completed_section_accuracy(self):
     puzzle = Puzzle(self.easy_grid)
     puzzle.solve()
     self.assertEqual(puzzle.grid.section(0, 0), [[1, 2, 3], [4, 5, 6], [7, 8, 9]])
Esempio n. 13
0
 def test_completed_line_accuracy(self):
     puzzle = Puzzle(self.easy_grid)
     puzzle.solve()
     self.assertEqual(puzzle.grid.line(1), [4, 5, 6, 7, 8, 9, 1, 2, 3])