Пример #1
0
    def test_add_room_no_branch(self):
        builder = LevelBuilder()
        room = Room([(1, 0), (0, 0), (0, 1)])
        room.neighbours = {}

        builder.add_room(room)

        self.assertEquals(len(builder.rooms), 1)
        added_room = builder.rooms.values()[0]
        self.assertEquals(added_room.neighbours, {})
Пример #2
0
    def test_add_room(self):
        builder = LevelBuilder()
        branch_room = Room([(1, 0), (0, 0), (0, 1)])
        branch_wall = 5
        room = Room([(1, 0), (0, 0), (0, 1)])
        room.neighbours = {}

        builder.add_room(room, branch_room, branch_wall)

        self.assertEquals(len(builder.rooms), 1)
        added_room = builder.rooms.values()[0]
        self.assertEquals(added_room.neighbours, {0: branch_room})
        self.assertEquals(branch_room.neighbours, {branch_wall: added_room})
Пример #3
0
    def test_add_room_works_on_branch_room_and_wall_zero(self):
        builder = LevelBuilder()
        branch_room = Room([(1, 0), (0, 0), (0, 1)])
        branch_room.id = 0
        branch_wall = 0

        new_room = Room([(1, 0), (0, 0), (0, 1)])
        new_room.neighbours = {}

        builder.add_room(new_room, branch_room, 0)

        self.assertEquals(len(builder.rooms), 1)
        added_room = builder.rooms.values()[0]
        self.assertEquals(added_room.neighbours, {0: branch_room})
        self.assertEquals(branch_room.neighbours, {branch_wall: added_room})
Пример #4
0
    def test_add_room_unions_geometry(self):
        builder = LevelBuilder()
        room = Room([(0, 0), (0, 1), (1, 0)])
        builder.add_room(room)
        self.assertEquals(len(builder.geometry.exterior.coords), 4)
        self.assertEqual(
            list(builder.geometry.exterior.coords),
            [(0, 0), (0, 1), (1, 0), (0, 0)])

        room = Room([(1, 1), (1, 0), (0, 1)])
        builder.add_room(room)
        self.assertEquals(len(builder.geometry.exterior.coords), 5)
        self.assertEqual(
            list(builder.geometry.exterior.coords),
            [(0, 0), (0, 1), (1, 1), (1, 0), (0, 0)])