Ejemplo n.º 1
0
 def test_complex_board(self):
     self.assertEqual(
         SlidingBlocks([[2, 0, 7], [5, 3, 6], [1, 4, 8]]).solve(), [
             'up', 'right', 'up', 'left', 'left', 'down', 'down', 'right',
             'right', 'up', 'left', 'left', 'up', 'right', 'down', 'right',
             'up', 'left', 'left'
         ])
Ejemplo n.º 2
0
 def test_slow_to_solve_board(self):
     self.assertEqual(
         SlidingBlocks([[3, 8, 4], [5, 2, 1], [7, 0, 6]]).solve(), [
             'right', 'down', 'down', 'left', 'left', 'up', 'right',
             'right', 'down', 'left', 'left', 'up', 'right', 'right', 'up',
             'left', 'down', 'right', 'down', 'left', 'left', 'up', 'up'
         ])
Ejemplo n.º 3
0
 def test_single_square_unsolvable_board(self):
     self.assertEqual(SlidingBlocks([[1]]).solve(), [])
Ejemplo n.º 4
0
 def test_big_complex_board(self):
     self.assertEqual(
         SlidingBlocks([[1, 2, 3, 4], [0, 6, 7, 8], [5, 10, 11, 12],
                        [9, 13, 14, 15]]).solve(),
         ['up', 'up', 'left', 'left', 'left'])
Ejemplo n.º 5
0
 def test_single_square_solved_board(self):
     self.assertEqual(SlidingBlocks([[0]]).solve(), [])
Ejemplo n.º 6
0
 def test_simple_board(self):
     self.assertEqual(
         SlidingBlocks([[2, 3, 6], [1, 5, 8], [4, 0, 7]]).solve(), [
             'left', 'down', 'down', 'right', 'right', 'up', 'up', 'left',
             'left'
         ])
Ejemplo n.º 7
0
 def test_rectangle_board(self):
     self.assertEqual(
         SlidingBlocks([[1, 2, 3], [0, 4, 5]]).solve(), ['left', 'left'])
Ejemplo n.º 8
0
 def test_example_board(self):
     self.assertEqual(
         SlidingBlocks([[1, 2, 3], [4, 5, 6], [0, 7, 8]]).solve(),
         ['left', 'left'])
Ejemplo n.º 9
0
 def test_single_col_board(self):
     self.assertEqual(
         SlidingBlocks([[0], [1], [2], [3]]).solve(), ['up', 'up', 'up'])
Ejemplo n.º 10
0
 def test_single_row_board(self):
     self.assertEqual(
         SlidingBlocks([[0, 1, 2, 3]]).solve(), ['left', 'left', 'left'])
Ejemplo n.º 11
0
 def test_four_square_complex_board(self):
     self.assertEqual(
         SlidingBlocks([[2, 3], [1, 0]]).solve(),
         ['down', 'right', 'up', 'left'])
Ejemplo n.º 12
0
 def test_four_square_unsolvable_board(self):
     self.assertEqual(SlidingBlocks([[3, 2], [1, 0]]).solve(), [])
Ejemplo n.º 13
0
 def test_four_square_solved_board(self):
     self.assertEqual(SlidingBlocks([[1, 2], [3, 0]]).solve(), [])