예제 #1
0
 def test_pickle_serialize_unserialize(self):
     w = world_gen("Dummy", 32, 16, 1, [.874, .765, .594, .439, .366, .124], [.941, .778, .507, .236, 0.073, .014, .002], step=Step.get_by_name("full"))
     f = tempfile.NamedTemporaryFile(delete=False).name
     w.to_pickle_file(f)
     unserialized = World.from_pickle_file(f)
     os.remove(f)
     self.assertTrue(_equal(w.elevation['data'], unserialized.elevation['data']))
     self.assertEqual(w.elevation['thresholds'], unserialized.elevation['thresholds'])
     self.assertTrue(_equal(w.ocean,             unserialized.ocean))
     self.assertTrue(_equal(w.biome,             unserialized.biome))
     self.assertTrue(_equal(w.humidity,          unserialized.humidity))
     self.assertTrue(_equal(w.irrigation,        unserialized.irrigation))
     self.assertTrue(_equal(w.permeability,      unserialized.permeability))
     self.assertTrue(_equal(w.watermap,          unserialized.watermap))
     self.assertTrue(_equal(w.precipitation,     unserialized.precipitation))
     self.assertTrue(_equal(w.temperature,       unserialized.temperature))
     self.assertTrue(_equal(w.sea_depth,         unserialized.sea_depth))
     self.assertEquals(w.seed,                   unserialized.seed)
     self.assertEquals(w.n_plates,               unserialized.n_plates)
     self.assertTrue(_equal(w.ocean_level,       unserialized.ocean_level))
     self.assertTrue(_equal(w.lake_map,          unserialized.lake_map))
     self.assertTrue(_equal(w.river_map,         unserialized.river_map))
     self.assertEquals(w.step,                   unserialized.step)
     self.assertEqual(sorted(dir(w)),            sorted(dir(unserialized)))
     self.assertEqual(w, unserialized)
예제 #2
0
 def test_draw_ancient_map_factor1(self):
     w_large = World.from_pickle_file(
         "%s/py%s_seed_48956.world" %
         (self.tests_data_dir, platform.python_version_tuple()[0]))
     target = PixelCollector(w_large.width, w_large.height)
     draw_ancientmap(w_large, target, resize_factor=1)
     self._assert_img_equal("ancientmap_48956", target)
예제 #3
0
 def test_pickle_serialize_unserialize(self):
     w = world_gen("Dummy", 32, 16, 1, step=Step.get_by_name("full"))
     f = tempfile.NamedTemporaryFile(delete=False).name
     w.to_pickle_file(f)
     unserialized = World.from_pickle_file(f)
     os.remove(f)
     self.assertEqual(w.elevation['data'],       unserialized.elevation['data'])
     self.assertEqual(w.elevation['thresholds'], unserialized.elevation['thresholds'])
     self.assertEqual(w.ocean,                   unserialized.ocean)
     self.assertEqual(w.biome,                   unserialized.biome)
     self.assertEqual(w.humidity,                unserialized.humidity)
     self.assertEqual(w.irrigation,              unserialized.irrigation)
     self.assertEqual(w.permeability,            unserialized.permeability)
     self.assertEqual(w.watermap,                unserialized.watermap)
     self.assertEqual(w.precipitation,           unserialized.precipitation)
     self.assertEqual(w.temperature,             unserialized.temperature)
     self.assertEqual(w.sea_depth,               unserialized.sea_depth)
     self.assertEquals(w.seed,                   unserialized.seed)
     self.assertEquals(w.n_plates,               unserialized.n_plates)
     self.assertEquals(w.ocean_level,            unserialized.ocean_level)
     self.assertEquals(w.lake_map,               unserialized.lake_map)
     self.assertEquals(w.river_map,              unserialized.river_map)
     self.assertEquals(w.step,                   unserialized.step)
     self.assertEqual(_sort(dir(w)), _sort(dir(unserialized)))
     self.assertEqual(w, unserialized)
예제 #4
0
 def test_pickle_serialize_unserialize(self):
     w = world_gen("Dummy",
                   32,
                   16,
                   1, [.874, .765, .594, .439, .366, .124],
                   [.941, .778, .507, .236, 0.073, .014, .002],
                   step=Step.get_by_name("full"))
     f = tempfile.NamedTemporaryFile(delete=False).name
     w.to_pickle_file(f)
     unserialized = World.from_pickle_file(f)
     os.remove(f)
     self.assertTrue(
         _equal(w.elevation['data'], unserialized.elevation['data']))
     self.assertEqual(w.elevation['thresholds'],
                      unserialized.elevation['thresholds'])
     self.assertTrue(_equal(w.ocean, unserialized.ocean))
     self.assertTrue(_equal(w.biome, unserialized.biome))
     self.assertTrue(_equal(w.humidity, unserialized.humidity))
     self.assertTrue(_equal(w.irrigation, unserialized.irrigation))
     self.assertTrue(_equal(w.permeability, unserialized.permeability))
     self.assertTrue(_equal(w.watermap, unserialized.watermap))
     self.assertTrue(_equal(w.precipitation, unserialized.precipitation))
     self.assertTrue(_equal(w.temperature, unserialized.temperature))
     self.assertTrue(_equal(w.sea_depth, unserialized.sea_depth))
     self.assertEquals(w.seed, unserialized.seed)
     self.assertEquals(w.n_plates, unserialized.n_plates)
     self.assertTrue(_equal(w.ocean_level, unserialized.ocean_level))
     self.assertTrue(_equal(w.lake_map, unserialized.lake_map))
     self.assertTrue(_equal(w.river_map, unserialized.river_map))
     self.assertEquals(w.step, unserialized.step)
     self.assertEqual(sorted(dir(w)), sorted(dir(unserialized)))
     self.assertEqual(w, unserialized)
예제 #5
0
    def test_center_land(self):
        w = World.from_pickle_file("%s/plates_279.world" % self.tests_data_dir)

        # We want to have less land than before at the borders
        el_before = TestGeneration._mean_elevation_at_borders(w)
        center_land(w)
        el_after = TestGeneration._mean_elevation_at_borders(w)
        self.assertTrue(el_after <= el_before)
예제 #6
0
def load_world(world_filename):
    pb = __seems_protobuf_worldfile__(world_filename)
    pi = __seems_pickle_file__(world_filename)
    if pb and pi:
        print("we cannot distinguish if the file is a pickle or a protobuf worldfile. " +
            "Trying to load first as protobuf then as pickle file")
        try:
            return World.open_protobuf(world_filename)
        except Exception:
            try:
                return World.from_pickle_file(world_filename)
            except Exception:
                raise Exception("Unable to load the worldfile neither as protobuf or pickle file")

    elif pb:
        return World.open_protobuf(world_filename)
    elif pi:
        return World.from_pickle_file(world_filename)
    else:
        raise Exception("The given worldfile does not seem a pickle or a protobuf file")
예제 #7
0
def load_world(world_filename):
    pb = __seems_protobuf_worldfile__(world_filename)
    pi = __seems_pickle_file__(world_filename)
    if pb and pi:
        print("we cannot distinguish if the file is a pickle or a protobuf "
              "world file. Trying to load first as protobuf then as pickle "
              "file")
        try:
            return World.open_protobuf(world_filename)
        except Exception:
            try:
                return World.from_pickle_file(world_filename)
            except Exception:
                raise Exception("Unable to load the worldfile neither as protobuf or pickle file")

    elif pb:
        return World.open_protobuf(world_filename)
    elif pi:
        return World.from_pickle_file(world_filename)
    else:
        raise Exception("The given worldfile does not seem a pickle or a protobuf file")
예제 #8
0
 def test_draw_ancient_map_factor1(self):
     w_large = World.from_pickle_file("%s/seed_48956.world" %
                                      self.tests_data_dir)
     target = PixelCollector(w_large.width, w_large.height)
     draw_ancientmap(w_large, target, resize_factor=1)
     self._assert_img_equal("ancientmap_48956", target)
 def test_draw_ancient_map_factor1(self):
     w_large = World.from_pickle_file("%s/seed_48956.world" % self.tests_data_dir)
     target = PixelCollector(w_large.width, w_large.height)
     draw_ancientmap(w_large, target, resize_factor=1)
     self._assert_img_equal("ancientmap_48956", target)
 def test_draw_ancient_map_factor1(self):
     w_large = World.from_pickle_file("%s/py%s_seed_48956.world" % (self.tests_data_dir, platform.python_version_tuple()[0]))
     target = PixelCollector(w_large.width, w_large.height)
     draw_ancientmap(w_large, target, resize_factor=1)
     self._assert_img_equal("ancientmap_48956", target)