当前位置: 首页>>代码示例>>Python>>正文


Python _samples.Thing类代码示例

本文整理汇总了Python中jsonpickle._samples.Thing的典型用法代码示例。如果您正苦于以下问题:Python Thing类的具体用法?Python Thing怎么用?Python Thing使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Thing类的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_thing_with_module

    def test_thing_with_module(self):
        obj = Thing('with-module')
        obj.themodule = os

        flattened = self.pickler.flatten(obj)
        inflated = self.unpickler.restore(flattened)
        self.assertEqual(inflated.themodule, os)
开发者ID:aleasoluciones,项目名称:jsonpickle,代码行数:7,代码来源:jsonpickle_test.py

示例2: test_thing_with_module_safe

 def test_thing_with_module_safe(self):
     obj = Thing("with-module")
     obj.themodule = os
     flattened = self.pickler.flatten(obj)
     self.unpickler.safe = True
     inflated = self.unpickler.restore(flattened)
     self.assertEqual(inflated.themodule, None)
开发者ID:Gangha,项目名称:jsonpickle,代码行数:7,代码来源:jsonpickle_test.py

示例3: test_recursive

    def test_recursive(self):
        """create a recursive structure and test that we can handle it
        """
        parent = Thing('parent')
        child = Thing('child')
        child.sibling = Thing('sibling')

        parent.self = parent
        parent.child = child
        parent.child.twin = child
        parent.child.parent = parent
        parent.child.sibling.parent = parent

        cloned = jsonpickle.decode(jsonpickle.encode(parent))

        self.assertEqual(parent.name,
                         cloned.name)
        self.assertEqual(parent.child.name,
                         cloned.child.name)
        self.assertEqual(parent.child.sibling.name,
                         cloned.child.sibling.name)
        self.assertEqual(cloned,
                         cloned.child.parent)
        self.assertEqual(cloned,
                         cloned.child.sibling.parent)
        self.assertEqual(cloned,
                         cloned.child.twin.parent)
        self.assertEqual(cloned.child,
                         cloned.child.twin)
开发者ID:aleasoluciones,项目名称:jsonpickle,代码行数:29,代码来源:jsonpickle_test.py

示例4: test_list_item_reference

    def test_list_item_reference(self):
        thing = Thing('parent')
        thing.child = Thing('child')
        thing.child.refs = [thing]

        encoded = jsonpickle.encode(thing)
        decoded = jsonpickle.decode(encoded)

        self.assertEqual(id(decoded.child.refs[0]), id(decoded))
开发者ID:aleasoluciones,项目名称:jsonpickle,代码行数:9,代码来源:jsonpickle_test.py

示例5: test_thing_with_submodule

    def test_thing_with_submodule(self):
        from distutils import sysconfig

        obj = Thing('with-submodule')
        obj.submodule = sysconfig

        flattened = self.pickler.flatten(obj)
        inflated = self.unpickler.restore(flattened)
        self.assertEqual(inflated.submodule, sysconfig)
开发者ID:aleasoluciones,项目名称:jsonpickle,代码行数:9,代码来源:jsonpickle_test.py

示例6: test_class_reference

    def test_class_reference(self):
        """This test ensures that users can store references to classes.
        """
        obj = Thing("object-with-class-reference")

        # reference the 'Thing' class (not an instance of the class)
        obj.classref = Thing

        flattened = self.pickler.flatten(obj)
        self.assertEqual(flattened["classref"], {tags.TYPE: "jsonpickle._samples.Thing"})

        inflated = self.unpickler.restore(flattened)
        self.assertEqual(inflated.classref, Thing)
开发者ID:Gangha,项目名称:jsonpickle,代码行数:13,代码来源:jsonpickle_test.py

示例7: test_type_reference

    def test_type_reference(self):
        """This test ensures that users can store references to types.
        """
        obj = Thing("object-with-type-reference")

        # reference the built-in 'object' type
        obj.typeref = object

        flattened = self.pickler.flatten(obj)
        self.assertEqual(flattened["typeref"], {tags.TYPE: "__builtin__.object"})

        inflated = self.unpickler.restore(flattened)
        self.assertEqual(inflated.typeref, object)
开发者ID:Gangha,项目名称:jsonpickle,代码行数:13,代码来源:jsonpickle_test.py

示例8: test_class

    def test_class(self):
        inst = Thing('test name')
        inst.child = Thing('child name')

        flattened = self.pickler.flatten(inst)
        self.assertEqual('test name', flattened['name'])
        child = flattened['child']
        self.assertEqual('child name', child['name'])

        inflated = self.unpickler.restore(flattened)
        self.assertEqual('test name', inflated.name)
        self.assertTrue(type(inflated) is Thing)
        self.assertEqual('child name', inflated.child.name)
        self.assertTrue(type(inflated.child) is Thing)
开发者ID:aleasoluciones,项目名称:jsonpickle,代码行数:14,代码来源:jsonpickle_test.py

示例9: test_make_refs_disabled_reference_to_list

    def test_make_refs_disabled_reference_to_list(self):
        thing = Thing('parent')
        thing.a = [1]
        thing.b = thing.a
        thing.b.append(thing.a)
        thing.b.append([thing.a])

        encoded = jsonpickle.encode(thing, make_refs=False)
        decoded = jsonpickle.decode(encoded)

        self.assertEqual(decoded.a[0], 1)
        self.assertEqual(decoded.b[0:3], '[1,')
        self.assertEqual(decoded.a[1][0:3], '[1,')
        self.assertEqual(decoded.a[2][0][0:3], '[1,')
开发者ID:baumfalk,项目名称:GamesAndAgents,代码行数:14,代码来源:jsonpickle_test.py

示例10: test_reference_to_list

    def test_reference_to_list(self):
        thing = Thing('parent')
        thing.a = [1]
        thing.b = thing.a
        thing.b.append(thing.a)
        thing.b.append([thing.a])

        encoded = jsonpickle.encode(thing)
        decoded = jsonpickle.decode(encoded)

        self.assertEqual(decoded.a[0], 1)
        self.assertEqual(decoded.b[0], 1)
        self.assertEqual(id(decoded.a), id(decoded.b))
        self.assertEqual(id(decoded.a), id(decoded.a[1]))
        self.assertEqual(id(decoded.a), id(decoded.a[2][0]))
开发者ID:aleasoluciones,项目名称:jsonpickle,代码行数:15,代码来源:jsonpickle_test.py

示例11: test_refs_recursive

    def test_refs_recursive(self):
        """Test that complicated recursive refs work"""

        a = Thing('a')
        a.self_list = [Thing('0'), Thing('1'), Thing('2')]
        a.first = a.self_list[0]
        a.stuff = {a.first: a.first}
        a.morestuff = {a.self_list[1]: a.stuff}

        pickle = jsonpickle.encode(a, keys=True)
        b = jsonpickle.decode(pickle, keys=True)

        item = b.self_list[0]
        self.assertEqual(b.first, item)
        self.assertEqual(b.stuff[b.first], item)
        self.assertEqual(b.morestuff[b.self_list[1]][b.first], item)
开发者ID:baumfalk,项目名称:GamesAndAgents,代码行数:16,代码来源:jsonpickle_test.py

示例12: test_references_in_number_keyed_dict

    def test_references_in_number_keyed_dict(self):
        """
        Make sure a dictionary with numbers as keys and objects as values
        can make the round trip.

        Because JSON must coerce integers to strings in dict keys, the sort
        order may have a tendency to change between pickling and unpickling,
        and this could affect the object references.
        """
        one = Thing("one")
        two = Thing("two")
        twelve = Thing("twelve")
        two.child = twelve
        obj = {1: one, 2: two, 12: twelve}
        self.assertNotEqual(list(sorted(obj.keys())), list(map(int, sorted(map(str, obj.keys())))))
        flattened = self.pickler.flatten(obj)
        inflated = self.unpickler.restore(flattened)
        self.assertEqual(len(inflated), 3)
        self.assertEqual(inflated["12"].name, "twelve")
开发者ID:Gangha,项目名称:jsonpickle,代码行数:19,代码来源:jsonpickle_test.py


注:本文中的jsonpickle._samples.Thing类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。