Esempio n. 1
0
    def test_level_generator_is_created(self):
        """
        Test that level generator is created for newly created portal
        """
        level = Level(size = (20, 20),
                      floor_type = self.floor_rock,
                      wall_type = self.wall_empty)

        level_generator = mock(LevelGenerator)

        for loc_y in range(8, 12):
            for loc_x in range(8, 12):
                level.set_location_type((loc_x, loc_y), 'room')

        portal_adder = PortalAdder((1, 2),
                                   'room',
                                   level_generator,
                                   self.rng)

        portal_adder.add_portal(level)

        portals = level.portals
        portal = level.portals[0]

        assert_that(portal.level_generator, is_(same_instance(level_generator)))
Esempio n. 2
0
    def test_portal_has_icons(self):
        """
        Test that portal created by adder has two icons set
        One to display and another to be used by opposite end
        """
        level = Level(size = (20, 20),
                      floor_type = self.floor_rock,
                      wall_type = self.wall_empty)

        level_generator = mock(LevelGenerator)

        for loc_y in range(8, 12):
            for loc_x in range(8, 12):
                level.set_location_type((loc_x, loc_y), 'room')

        portal_adder = PortalAdder((1, 2),
                                   'room',
                                   level_generator,
                                   self.rng)

        portal_adder.add_portal(level)

        portals = level.portals
        portal = level.portals[0]

        assert_that(portal.icon, is_(equal_to(1)))
        assert_that(portal.other_end_icon, is_(equal_to(2)))
Esempio n. 3
0
    def test_add_stairs_to_room(self):
        """
        Test that stairs can be added to a room
        """
        level = Level(size = (20, 20),
                      floor_type = self.floor_rock,
                      wall_type = self.wall_empty)

        for loc_y in range(8, 12):
            for loc_x in range(8, 12):
                level.set_location_type((loc_x, loc_y), 'room')

        portal_adder = PortalAdder((1, 2),
                                   'room',
                                   mock(),
                                   self.rng)

        portal_adder.add_portal(level)

        portals = level.portals
        assert_that(portals, has_length(1))
        portal = level.portals[0]
        assert_that(located_in_room(portal), is_(True))