forked from Thriftpy/thriftpy2
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_container.py
55 lines (37 loc) · 1.32 KB
/
test_container.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# -*- coding: utf-8 -*-
import thriftpy2
from thriftpy2.utils import serialize, deserialize
thriftpy2.install_import_hook()
import container_thrift as container # noqa
def test_list_item():
l_item = container.ListItem()
l_item.list_string = ['foo', 'bar']
l_item.list_list_string = [['foo', 'bar']]
b = serialize(l_item)
l_item2 = deserialize(container.ListItem(), b)
assert l_item == l_item2
l_item3 = container.ListItem()
assert l_item != l_item3
def test_map_item():
m_item = container.MapItem()
m_item.map_string = {'foo': 'bar'}
m_item.map_map_string = {'foo': {'hello': 'world'}}
b = serialize(m_item)
m_item2 = deserialize(container.MapItem(), b)
assert m_item == m_item2
def test_mix_item():
x_item = container.MixItem()
x_item.list_map = [{'foo': 'bar'}]
x_item.map_list = {'foo': ['hello', 'world']}
b = serialize(x_item)
x_item2 = deserialize(container.MixItem(), b)
assert x_item == x_item2
def test_list_struct():
l_item = container.ListItem()
l_item.list_string = ['foo', 'bar'] * 100
l_item.list_list_string = [['foo', 'bar']] * 100
l_struct = container.ListStruct()
l_struct.list_items = [l_item] * 100
b = serialize(l_struct)
l_struct2 = deserialize(container.ListStruct(), b)
assert l_struct == l_struct2