def test_serialization(self):
     basedir = util.game_path('test_data_dir')
     s = serializer.Serializer(basedir=basedir)
     folder = s.folder_name
     w = World(s, block_seed=0)
     b = w.get(0,0)
     p = b.set_entity(entities.Player, 3, 7)
     p_x, p_y = p.x, p.y
     for _ in range(2):
         w.process()
     self.assertEqual(w.turn, 2)
     turn = w.turn
     self.assertFalse(s.has_settings())
     s.save_game(w, p)
     self.assertTrue(s.has_settings())
     s.close_connection()
     del w
     del b
     del p
     del s
     s = serializer.Serializer(basedir=basedir, folder=folder)
     s.load_settings()
     w = s.init_world()
     self.assertEqual(turn, w.turn)
     p = s.init_player(w)
     self.assertEqual((p_x, p_y), (p.x, p.y))
     b = w[(0, 0)]
     c = util.count_entities(b)
     self.assertEqual(c[entities.Player], 1)
     shutil.rmtree(s.serial_path)
     shutil.rmtree(basedir)
def test_save_block(benchmark):
    basedir=util.game_path('test_data_dir')
    s = serializer.Serializer(basedir=basedir)
    folder = s.folder_name
    w = World(s, block_seed=0)
    b = w.get(0,0)
    p = b.set_entity(entities.Player, 3, 7)
    p_x, p_y = p.x, p.y
    turn = w.turn
    benchmark.pedantic(s.save_block, args=(b,), rounds=1)
    shutil.rmtree(s.serial_path)
    shutil.rmtree(basedir)
 def test_no_folder(self):
     basedir = util.game_path('test_data_dir')
     with self.assertRaises(RuntimeError):
         s = serializer.Serializer(basedir=basedir, folder="foo")