def test_legacy_unpickle(self): d = EncodingDict() parent = Switch('a') switch = Switch('a:b') children = [ Switch('a:b:c'), Switch('a:b:d'), ] [setattr(child, 'parent', switch) for child in children] switch.children = children switch.parent = parent decoded_switch = d._decode(d._encode(switch)) self.assertEquals(decoded_switch.name, switch.name) self.assertEquals(decoded_switch.parent, switch.parent.name) self.assertListEqual([child.name for child in children], decoded_switch.children)