def _randomize_ornament(self, level, location): """ Set random ornament to given location :param level: level to ornament :type level: Level """ rng = self.configuration.rng ornaments = self.configuration.ornamentation ornamentation(level, location, rng.choice(ornaments))
def test_only_northern_wall_is_decorated(self): """ Ornamentations should be placed only on northern walls """ wall_tile(self.level, (2, 2), self.wall) wall_tile(self.level, (3, 2), self.wall) wall_tile(self.level, (4, 2), self.wall) floor_tile(self.level, (2, 3), self.floor) floor_tile(self.level, (3, 3), self.floor) floor_tile(self.level, (4, 3), self.floor) wall_tile(self.level, (2, 4), self.wall) wall_tile(self.level, (3, 4), self.wall) wall_tile(self.level, (4, 4), self.wall) floor_tile(self.level, (2, 5), self.empty_floor) floor_tile(self.level, (4, 5), self.empty_floor) floor_tile(self.level, (4, 5), self.empty_floor) rng = mock() when(rng).randint(any(), any()).thenReturn(0) when(rng).choice(any()).thenReturn(self.ornamentation) self.config = WallOrnamentDecoratorConfig( ['any level'], wall_tile = self.wall, ornamentation = [self.ornamentation], rng = rng, rate = 100) self.decorator = WallOrnamentDecorator(self.config) self.decorator.decorate_level(self.level) assert_that(ornamentation(self.level, (2, 2)), is_(equal_to([self.ornamentation]))) assert_that(ornamentation(self.level, (2, 4)), is_(equal_to([])))
def test_only_northern_wall_is_decorated(self): """ Ornamentations should be placed only on northern walls """ wall_tile(self.level, (2, 2), self.wall) wall_tile(self.level, (3, 2), self.wall) wall_tile(self.level, (4, 2), self.wall) floor_tile(self.level, (2, 3), self.floor) floor_tile(self.level, (3, 3), self.floor) floor_tile(self.level, (4, 3), self.floor) wall_tile(self.level, (2, 4), self.wall) wall_tile(self.level, (3, 4), self.wall) wall_tile(self.level, (4, 4), self.wall) floor_tile(self.level, (2, 5), self.empty_floor) floor_tile(self.level, (4, 5), self.empty_floor) floor_tile(self.level, (4, 5), self.empty_floor) rng = mock() when(rng).randint(any(), any()).thenReturn(0) when(rng).choice(any()).thenReturn(self.ornamentation) self.config = WallOrnamentDecoratorConfig( ['any level'], wall_tile=self.wall, ornamentation=[self.ornamentation], rng=rng, rate=100) self.decorator = WallOrnamentDecorator(self.config) self.decorator.decorate_level(self.level) assert_that(ornamentation(self.level, (2, 2)), is_(equal_to([self.ornamentation]))) assert_that(ornamentation(self.level, (2, 4)), is_(equal_to([])))
def test_walls_can_be_ornamented(self): """ Ornaments should be placed only on walls """ wall_tile(self.level, (2, 2), self.wall) wall_tile(self.level, (3, 2), self.wall) wall_tile(self.level, (3, 2), self.wall) rng = mock() when(rng).randint(any(), any()).thenReturn(0) when(rng).choice(any()).thenReturn(self.ornamentation) self.config = WallOrnamentDecoratorConfig( ['any level'], wall_tile=self.wall, ornamentation=[self.ornamentation], rng=rng, rate=100) self.decorator = WallOrnamentDecorator(self.config) self.decorator.decorate_level(self.level) assert_that(ornamentation(self.level, (2, 2)), is_(equal_to([self.ornamentation])))
def test_walls_can_be_ornamented(self): """ Ornaments should be placed only on walls """ wall_tile(self.level, (2, 2), self.wall) wall_tile(self.level, (3, 2), self.wall) wall_tile(self.level, (3, 2), self.wall) rng = mock() when(rng).randint(any(), any()).thenReturn(0) when(rng).choice(any()).thenReturn(self.ornamentation) self.config = WallOrnamentDecoratorConfig( ['any level'], wall_tile = self.wall, ornamentation = [self.ornamentation], rng = rng, rate = 100) self.decorator = WallOrnamentDecorator(self.config) self.decorator.decorate_level(self.level) assert_that(ornamentation(self.level, (2, 2)), is_(equal_to([self.ornamentation])))