def test_mole(self): w = self.w blk = w.blocks[(0,0)] m = blk.set_entity(entities.Mole, 0, 0) c = util.count_entities(blk) self.assertEqual(c[entities.Mole], 1) self.assertEqual(c[entities.Fungus], 0) for x in range(1, 92): m = blk.set_entity(entities.Fungus, x, 0) w.process() c = util.count_entities(blk) self.assertEqual(c[entities.Mole], 2) self.assertEqual(c[entities.Fungus], 0)
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)