예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
    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)
예제 #4
0
 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)