def test_valid_exit_completion(self): cave = load_cave(get_test_file_path("samples/d23/one_step.txt")) sorted_caves = SortedCaveList() sorted_caves.add(cave) possible_caves = get_valid_corridor_exits(sorted_caves.pop()) self.assertEqual(len(possible_caves), 1) self.assertEqual(is_complete(possible_caves[0]), True) sorted_caves.add(possible_caves[0]) self.assertEqual(sorted_caves.has_completion(), True)
def test_valid_exit_completion_algo(self): cave = load_cave(get_test_file_path("samples/d23/one_step.txt")) sorted_caves = SortedCaveList() sorted_caves.add(cave) for room in cave.rooms: for possible_cave in get_valid_room_exits(cave, room): sorted_caves.add(possible_cave) for possible_cave in get_valid_corridor_exits(cave): sorted_caves.add(possible_cave) self.assertEqual(sorted_caves.has_completion(), True)
def test_valid_exits(self): cave = load_cave( get_test_file_path("samples/d23/example_corridor.txt")) possible_caves = get_valid_corridor_exits(cave) self.assertEqual(len(possible_caves), 1) self.assertListEqual( possible_caves[0].corridor, [None] * 5 + [get_desert(), None, None, None, get_amber(), None]) self.assertListEqual(possible_caves[0].rooms[3].spaces, [get_desert(), None]) self.assertEqual(possible_caves[0].total_cost, 3000)
def test_empty_corridor(self): cave = load_cave(get_test_file_path("samples/d23/example1.txt")) possible_caves = get_valid_corridor_exits(cave) self.assertEqual(len(possible_caves), 0)