this repo has no description
1#!/usr/bin/env python3
2# Copyright (c) Facebook, Inc. and its affiliates. (http://www.facebook.com)
3
4import pickle
5import unittest
6
7
8class PickleTest(unittest.TestCase):
9 def test_range_can_pickle_and_unpickle(self):
10 r = range(2, 10, 3)
11 self.assertEqual(r, pickle.loads(pickle.dumps(r, 0)))
12 r = range(-(2 ** 65), 2 ** 65, 1)
13 self.assertEqual(r, pickle.loads(pickle.dumps(r, 0)))
14
15 def test_instance_proxy_can_pickle_and_unpickle(self):
16 class C:
17 def __init__(self, *args, **kwargs):
18 for key, val in kwargs.items():
19 self.__setattr__(key, val)
20
21 d = {"a": 1, "b": 2, "c": 3}
22 c = C(**d)
23
24 self.assertEqual(d, pickle.loads(pickle.dumps(c.__dict__)))
25
26
27if __name__ == "__main__":
28 unittest.main()