def perform_test(self, status_dict): """Test that the heuristic on leafs is consistent with the utility""" # Build models map_obj = Map(status_dict["game"]["board"]["tiles"]) status = Status(status_dict["game"], map_obj) # Simulate a final status status.turn = status.max_turns heuristic_tuple = self.heuristic.heuristic(status) utility_tuple = utility(status) # Check that heuristic and utility are consistent for i in range(4): for j in range(4): if utility_tuple[i] > utility_tuple[j]: self.assertGreater(heuristic_tuple[i], heuristic_tuple[j]) elif utility_tuple[i] == utility_tuple[j]: self.assertAlmostEqual( heuristic_tuple[i], heuristic_tuple[j] ) else: self.assertLess(heuristic_tuple[i], heuristic_tuple[j])
def perform_test(self, status_dict): """Test that simulate returns a new object""" # Build models map_obj = Map(status_dict["game"]["board"]["tiles"]) status = Status(status_dict["game"], map_obj) # Simulate the last turn status.turn = status.max_turns next_status = simulate(status, Action.north) self.assertEqual(status, next_status)