test_cpickle.py

来自「mallet是自然语言处理、机器学习领域的一个开源项目。」· Python 代码 · 共 101 行

PY
101
字号
import cPickleimport test_supportimport unittestfrom cStringIO import StringIOfrom pickletester import AbstractPickleTests, AbstractPickleModuleTestsclass cPickleTests(AbstractPickleTests, AbstractPickleModuleTests):    def setUp(self):        self.dumps = cPickle.dumps        self.loads = cPickle.loads    error = cPickle.BadPickleGet    module = cPickleclass cPicklePicklerTests(AbstractPickleTests):    def dumps(self, arg, bin=0):        f = StringIO()        p = cPickle.Pickler(f, bin)        p.dump(arg)        f.seek(0)        return f.read()    def loads(self, buf):        f = StringIO(buf)        p = cPickle.Unpickler(f)        return p.load()    error = cPickle.BadPickleGetclass cPickleListPicklerTests(AbstractPickleTests):    def dumps(self, arg, bin=0):        p = cPickle.Pickler(bin)        p.dump(arg)        return p.getvalue()    def loads(self, *args):        f = StringIO(args[0])        p = cPickle.Unpickler(f)        return p.load()    error = cPickle.BadPickleGetclass cPickleFastPicklerTests(AbstractPickleTests):    def dumps(self, arg, bin=0):        f = StringIO()        p = cPickle.Pickler(f, bin)        p.fast = 1        p.dump(arg)        f.seek(0)        return f.read()    def loads(self, *args):        f = StringIO(args[0])        p = cPickle.Unpickler(f)        return p.load()    error = cPickle.BadPickleGet    def test_recursive_list(self):        self.assertRaises(ValueError,                          AbstractPickleTests.test_recursive_list,                          self)    def test_recursive_inst(self):        self.assertRaises(ValueError,                          AbstractPickleTests.test_recursive_inst,                          self)    def test_recursive_dict(self):        self.assertRaises(ValueError,                          AbstractPickleTests.test_recursive_dict,                          self)    def test_recursive_multi(self):        self.assertRaises(ValueError,                          AbstractPickleTests.test_recursive_multi,                          self)    def test_nonrecursive_deep(self):        a = []        for i in range(100):            a = [a]        b = self.loads(self.dumps(a))        self.assertEqual(a, b)def test_main():    loader = unittest.TestLoader()    suite = unittest.TestSuite()    suite.addTest(loader.loadTestsFromTestCase(cPickleTests))    suite.addTest(loader.loadTestsFromTestCase(cPicklePicklerTests))    suite.addTest(loader.loadTestsFromTestCase(cPickleListPicklerTests))    suite.addTest(loader.loadTestsFromTestCase(cPickleFastPicklerTests))    test_support.run_suite(suite)if __name__ == "__main__":    test_main()

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?