Ejemplo n.º 1
0
    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)
    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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
 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)