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