3
SÉLj£ ã @ s¶ d Z yddlmZ W n ek
r4 ddlmZ Y nX yddlZW n ek
r^ ddlZY nX ddlmZ ddlm Z ddlm
Z
ddlmZ G dd „ d ejƒZ
ed
kr²ejƒ dS )z(Tests for google.protobuf.proto_builder.é )ÚOrderedDictN)Údescriptor_pb2)Údescriptor_pool)Ú
proto_builder)Útext_formatc @ s, e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd S )
ÚProtoBuilderTestc C s. t dtjjfdtjjfgƒ| _t| jƒ| _d S )NÚfooÚbar)r r ZFieldDescriptorProtoZ
TYPE_INT64ZTYPE_STRINGÚordered_fieldsÚdictÚ_fields)Úself© r ú(/usr/lib/python3.6/proto_builder_test.pyÚsetUp3 s
zProtoBuilderTest.setUpc C s8 t j| jdd�}|ƒ }d|_d|_| jdtj|ƒƒ dS )z&Test that we can create a proto class.z0net.proto2.python.public.proto_builder_test.Test)Ú full_namei90 Úasdfzbar: "asdf"
foo: 12345
N)r ÚMakeSimpleProtoClassr r r ÚassertMultiLineEqualr ÚMessageToString)r
Ú proto_clsÚprotor r r ÚtestMakeSimpleProtoClass: s z)ProtoBuilderTest.testMakeSimpleProtoClassc C s8 t j| jdd�}|ƒ }d|_d|_| jdtj|ƒƒ dS )zBTest that the field order is maintained when given an OrderedDict.z7net.proto2.python.public.proto_builder_test.OrderedTest)r i90 r zfoo: 12345
bar: "asdf"
N)r r r
r r r r r )r
r r r r r ÚtestOrderedFieldsE s z"ProtoBuilderTest.testOrderedFieldsc C s@ t jƒ }tj| jd|d�}tj| jd|d�}| j|j|jƒ dS )z%Test that the DescriptorPool is used.z0net.proto2.python.public.proto_builder_test.Test)r ÚpoolN)r ZDescriptorPoolr r r ZassertIsZ
DESCRIPTOR)r
r Z
proto_cls1Z
proto_cls2r r r ÚtestMakeSameProtoClassTwiceP s z,ProtoBuilderTest.testMakeSameProtoClassTwiceN)Ú__name__Ú
__module__Ú__qualname__r r r r r r r r r 1 s r Ú__main__)Ú__doc__Úcollectionsr ÚImportErrorZordereddictZ unittest2ZunittestZgoogle.protobufr r r r ZTestCaser r Úmainr r r r Ú