3 SLj* @spdZdZy ddlZWnek r0ddlZYnXddlmZddlmZGdddej Z e dkrlej dS) z.Test for google.protobuf.internal.wire_format.z#robinson@google.com (Will Robinson)N)message) wire_formatc@s<eZdZddZddZddZddZd d Zd d Zd S)WireFormatTestcCsRd}d}|j|d>|Btj||tj}|jtj||d|jtj||ddS)Ni ) assertEqualrPackTag assertRaisesr EncodeError)self field_numberZtag_typer r&/usr/lib/python3.6/wire_format_test.py testPackTag/szWireFormatTest.testPackTagcCsxLd D]D}x>tdD]2}tjtj||\}}|j|||j||qWqW|jttjd|jttjd|jttjd|jttjtdS) Nrrabcg)rrrrr)rangerZ UnpackTagr r r TypeErrorobject)rZexpected_field_numberZexpected_wire_typerZ wire_typerrr testUnpackTag:s  zWireFormatTest.testUnpackTagcCstj}|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd |d |jd |d|jt|d|jt|d|jt|d|jt|tdS)Nrrrrlillllllabcdgr il)rZ ZigZagEncoder r rr)rZrrrtestZigZagEncodeHszWireFormatTest.testZigZagEncodecCstj}|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d|jd|d |jd |d |jd|d |jt|d|jt|d|jt|d|jt|tdS)Nrrrrrilllllllrgr ril)rZ ZigZagDecoder r rr)rrrrrtestZigZagDecodeYszWireFormatTest.testZigZagDecodec CsDx>d D]6\}}||}|||}|j||d|||||fqWdS)NrrrrrzFbyte_size_fn: %s, field_number: %d, value: %r Expected: %d, Actual: %drrrrr"rr#r)r$r%r&r')r )r byte_size_fnvalueZexpected_value_sizerZ tag_bytesZ expected_sizeZ actual_sizerrrNumericByteSizeTestHelperjs  z(WireFormatTest.NumericByteSizeTestHelperc6Cstjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjtjdgtjddgtjddgtjddgtjtjdgtjddgtjddgtjddgtjddgtjddgtjd dgtjd dgtjddgtjd!dgtjddgtjd"dgtjddgtjd#dgtjd dgtj dd gtj tjd gtj dd gtj tjd gtj dd gtj tj d gtj tj d gtjdd gtjtjd gtjtjd gtjd d gtjd d gtjd$d gtjd d gtjd d gtjd%d gtjddgtjddgtjddgtjddgtjddgtjtjdgg4}x|D]}|j|q$WxPtjtjfD]@}|jd|dd|jd|dd|jd|dddqFW|jdtjddjdGdddt}d}||d}|jd|tjd||jd |tjd||jd|jtjd||jd|jtjd|d|_|jd |jtjd|d|_|j|jdtjd|d|_|j|jdtjd||j|jd tjd||jt j!tjddd>dS)&Nrrr ?@rggeAFTrrrasТестzutf-8c@seZdZddZddZdS)z9WireFormatTest.testByteSizeFunctions..MockMessagecSs ||_dS)N) byte_size)rr4rrr__init__szBWireFormatTest.testByteSizeFunctions..MockMessage.__init__cSs|jS)N)r4)rrrrByteSizeszBWireFormatTest.testByteSizeFunctions..MockMessage.ByteSizeN)__name__ __module__ __qualname__r5r6rrrr MockMessagesr:)r4rr r r iir iigege)"rZ Int32ByteSizeZ Int64ByteSizeZUInt32ByteSizeZ UINT32_MAXZUInt64ByteSizeZ UINT64_MAXZSInt32ByteSizeZSInt64ByteSizeZFixed32ByteSizeZFixed64ByteSizeZSFixed32ByteSizeZ INT32_MINZ INT32_MAXZSFixed64ByteSizeZ INT64_MINZ INT64_MAXZ FloatByteSizeZDoubleByteSizeZ BoolByteSizeZ EnumByteSizer*ZStringByteSizeZ BytesByteSizer decoderZ GroupByteSizer4ZMessageByteSizeZMessageSetItemByteSizer rr )rZ NUMERIC_ARGSargsr(r:Zmessage_byte_sizeZ mock_messagerrrtestByteSizeFunctionsts                                                              z$WireFormatTest.testByteSizeFunctionsN) r7r8r9rrr r!r*r>rrrrr-s   r__main__) __doc__ __author__Z unittest2Zunittest ImportErrorZgoogle.protobufrZgoogle.protobuf.internalrZTestCaserr7mainrrrr s   S