def test_reversed_tiles(self): # Test row swaps init_tile = np.array([[1, 2, 3], [4, 6, 5], [8, 7, 0]]) goal_tile = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 0]]) init = State(init_tile, 0, 0) goal = State(goal_tile, 0, 0) self.assertEqual(init.tile_reversals(goal), 2) # Test column swaps init_tile = np.array([[1, 2, 6], [4, 8, 3], [7, 5, 0]]) goal_tile = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 0]]) init = State(init_tile, 0, 0) goal = State(goal_tile, 0, 0) self.assertEqual(init.tile_reversals(goal), 2) # Test both init_tile = np.array([[1, 2, 6], [4, 5, 3], [8, 7, 0]]) goal_tile = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 0]]) init = State(init_tile, 0, 0) goal = State(goal_tile, 0, 0) self.assertEqual(init.tile_reversals(goal), 2)