def test_a_star_search(self): ss = SliderSearch(3) res = ss.search_a_star() exp = [[0,1,2,3,4,5,6,7,8]] assert res == exp ss = SliderSearch(3, [1,0,2,3,4,5,6,7,8]) res = ss.search_a_star() exp = [[1,0,2,3,4,5,6,7,8],[0,1,2,3,4,5,6,7,8]]
def main(): hard = [4, 1, 2, 3, 0, 5, 6, 7, 8] wat = [4, 1, 2, 0, 3, 5, 6, 7, 8] wat2 = [0, 1, 2, 4, 3, 5, 6, 8, 7] moder = [0, 1, 2, 5, 4, 3, 6, 8, 7] hmm = [4, 8, 5, 7, 6, 1, 0, 2, 3] #ss = SliderSearch(3, moder) ss = SliderSearch(3, wat2) path = ss.search_a_star() print_path(path)
def test_heuristics(self): ss = SliderSearch(3) assert ss.heuristic_misplaced(ss.puzzle.puzzle) == 0 assert ss.heuristic_manhatten_distance(ss.puzzle.puzzle) == 0 ss = SliderSearch(3, [3, 1, 2, 0, 4, 5, 6, 7, 8]) assert ss.heuristic_misplaced(ss.puzzle.puzzle) == 2 assert ss.heuristic_manhatten_distance(ss.puzzle.puzzle) == 2 ss = SliderSearch(3, [8, 1, 2, 3, 4, 5, 6, 7, 0]) assert ss.heuristic_misplaced(ss.puzzle.puzzle) == 2 assert ss.heuristic_manhatten_distance(ss.puzzle.puzzle) == 8 ss = SliderSearch(3, [4, 8, 5, 7, 6, 1, 0, 2, 3]) assert ss.heuristic_misplaced(ss.puzzle.puzzle) == 9 assert ss.heuristic_manhatten_distance(ss.puzzle.puzzle) == 20
def test_goal_state(self): ss = SliderSearch(4) expected_goal_state = [x for x in xrange(16)] assert ss.goal_state() == expected_goal_state