def test_serialization(self): self.world.layer_height.data[5][5] = 1 self.world.layer_temperature.data[5][5] = 2 self.world.layer_wind.data[5][5] = (3.0, 3.0) self.world.layer_atmosphere.data[5][5] = AtmospherePoint(wind=(3.0, 3.0), temperature=-1, wetness=0.3) self.world.layer_wetness.data[5][5] = 5 self.world.layer_vegetation.data[5][5] = 1 self.assertEqual(self.world, World.deserialize(config=BaseConfig, data=self.world.serialize())) self.world.do_step()
def test_serialization(self): self.world.layer_height.data[5][5] = 1 self.world.layer_temperature.data[5][5] = 2 self.world.layer_wind.data[5][5] = (3.0, 3.0) self.world.layer_atmosphere.data[5][5] = AtmospherePoint( wind=(3.0, 3.0), temperature=-1, wetness=0.3) self.world.layer_wetness.data[5][5] = 5 self.world.layer_vegetation.data[5][5] = 1 self.assertEqual( self.world, World.deserialize(config=BaseConfig, data=self.world.serialize())) self.world.do_step()
def setUp(self): self.world = World(w=self.W, h=self.H, config=BaseConfig) self.layer = self.world.layer_vegetation
class WorldTests(TestCase): W = 10 H = 10 def setUp(self): self.world = World(w=self.W, h=self.H, config=BaseConfig) self.layer = self.world.layer_vegetation def test_simple_step(self): self.world.do_step() def test_resize_increase(self): self.world.do_step() self.world.resize(self.world.w + 2, self.world.h + 3) self.world.do_step() def test_resize_decrease(self): self.world.do_step() self.world.resize(self.world.w - 2, self.world.h - 3) self.world.do_step() def test_serialization(self): self.world.layer_height.data[5][5] = 1 self.world.layer_temperature.data[5][5] = 2 self.world.layer_wind.data[5][5] = (3.0, 3.0) self.world.layer_atmosphere.data[5][5] = AtmospherePoint(wind=(3.0, 3.0), temperature=-1, wetness=0.3) self.world.layer_wetness.data[5][5] = 5 self.world.layer_vegetation.data[5][5] = 1 self.assertEqual(self.world, World.deserialize(config=BaseConfig, data=self.world.serialize())) self.world.do_step() def test_cell_info_randomize_stability(self): cell = self.world.cell_info(5, 5) randomized_cell = cell.randomize(1, 0.5) for i in range(100): self.assertEqual(randomized_cell, cell.randomize(1, 0.5)) def test_cell_info_randomize_random_state_restore(self): random.seed(1) test_list = [random.randint(-100, 100) for i in range(100)] random.seed(1) cell = self.world.cell_info(5, 5) cell.randomize(1, 0.5) self.assertEqual(test_list, [random.randint(-100, 100) for i in range(100)])
def setUp(self): self.world = World(w=self.W, h=self.H, config=BaseConfig) self.layer = self.world.layer_wind
from deworld import power_points from deworld.configs import BaseConfig from deworld import normalizers from deworld.cartographer import draw_world # shutil.rmtree('./results', ignore_errors=True) # os.mkdir('./results') # os.mkdir('./results/height') # os.mkdir('./results/temperature') # os.mkdir('./results/wind') WIDTH = 100 HEIGHT = 100 world = World(w=WIDTH, h=HEIGHT, config=BaseConfig) world.add_power_point(power_points.CircleAreaPoint(layer_type=LAYER_TYPE.HEIGHT, name='circular_point_1', x=25, y=25, power=0.75, radius=15, normalizer=normalizers.linear)) world.add_power_point(power_points.CircleAreaPoint(layer_type=LAYER_TYPE.HEIGHT, name='circular_point_2', x=35, y=45, power=-0.75, radius=15,
from deworld import power_points from deworld.configs import BaseConfig from deworld import normalizers from deworld.cartographer import draw_world # shutil.rmtree('./results', ignore_errors=True) # os.mkdir('./results') # os.mkdir('./results/height') # os.mkdir('./results/temperature') # os.mkdir('./results/wind') WIDTH = 100 HEIGHT = 100 world = World(w=WIDTH, h=HEIGHT, config=BaseConfig) def get_height_power_function(borders, power_percent=1.0): def power_function(world, x, y): height = world.layer_height.data[y][x] if height < borders[0]: return (0.0, math.fabs(borders[0] - height) * power_percent) if height > borders[1]: return (math.fabs(borders[1] - height) * power_percent, 0.0) optimal = (borders[0] + borders[1]) / 2 if height < optimal: return (0.0, math.fabs(borders[0] - height) / 2 * power_percent)
class WorldTests(TestCase): W = 10 H = 10 def setUp(self): self.world = World(w=self.W, h=self.H, config=BaseConfig) self.layer = self.world.layer_vegetation def test_simple_step(self): self.world.do_step() def test_resize_increase(self): self.world.do_step() self.world.resize(self.world.w + 2, self.world.h + 3) self.world.do_step() def test_resize_decrease(self): self.world.do_step() self.world.resize(self.world.w - 2, self.world.h - 3) self.world.do_step() def test_serialization(self): self.world.layer_height.data[5][5] = 1 self.world.layer_temperature.data[5][5] = 2 self.world.layer_wind.data[5][5] = (3.0, 3.0) self.world.layer_atmosphere.data[5][5] = AtmospherePoint( wind=(3.0, 3.0), temperature=-1, wetness=0.3) self.world.layer_wetness.data[5][5] = 5 self.world.layer_vegetation.data[5][5] = 1 self.assertEqual( self.world, World.deserialize(config=BaseConfig, data=self.world.serialize())) self.world.do_step() def test_cell_info_randomize_stability(self): cell = self.world.cell_info(5, 5) randomized_cell = cell.randomize(1, 0.5) for i in range(100): self.assertEqual(randomized_cell, cell.randomize(1, 0.5)) def test_cell_info_randomize_random_state_restore(self): random.seed(1) test_list = [random.randint(-100, 100) for i in range(100)] random.seed(1) cell = self.world.cell_info(5, 5) cell.randomize(1, 0.5) self.assertEqual(test_list, [random.randint(-100, 100) for i in range(100)])