3 SÉLj›*ã @spdZdZy ddlZWnek r0ddlZYnXddlmZddlmZGdd„dej ƒZ e dkrlej ƒdS) z.Test for google.protobuf.internal.wire_format.z#robinson@google.com (Will Robinson)éN)Úmessage)Ú wire_formatc@s<eZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd S)ÚWireFormatTestcCsRd}d}|j|d>|Btj||ƒƒtj}|jtj||dƒ|jtj||dƒdS)Ni¼ éééééÿÿÿÿ)Ú assertEqualrÚPackTagÚ assertRaisesrÚ EncodeError)ÚselfÚ field_numberZtag_typer ©rú&/usr/lib/python3.6/wire_format_test.pyÚ testPackTag/szWireFormatTest.testPackTagcCs”xLd D]D}x>tdƒD]2}tjtj||ƒƒ\}}|j||ƒ|j||ƒqWqW|jttjdƒ|jttjdƒ|jttjdƒ|jttjtƒƒdS) NréééÿérÚabcg)rrrrr)ÚrangerZ UnpackTagr r r Ú TypeErrorÚobject)rZexpected_field_numberZexpected_wire_typerZ wire_typerrrÚ testUnpackTag:s  zWireFormatTest.testUnpackTagcCsÔtj}|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|tƒƒdS)NrrrrélþÿiÿÿÿlÿÿllþÿÿÿlÿÿÿÿlÿÿÿÿlÚabcdgr éþÿÿÿi€lûÿÿÿ)rZ ZigZagEncoder r rr)rÚZrrrÚtestZigZagEncodeHszWireFormatTest.testZigZagEncodecCsÔtj}|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|tƒƒdS)Nrrrrriÿÿÿlþÿllÿÿlÿÿÿÿlþÿÿÿllÿÿÿÿrgr ri€lûÿÿÿ)rZ ZigZagDecoder r rr)rrrrrÚtestZigZagDecodeYszWireFormatTest.testZigZagDecodec CsDx>d D]6\}}||}|||ƒ}|j||d|||||fƒqWdS)NrrrréÿérzFbyte_size_fn: %s, field_number: %d, value: %r Expected: %d, Actual: %d©rr©rr©r"r©r#r)r$r%r&r')r )rÚ byte_size_fnÚvalueZexpected_value_sizerZ tag_bytesZ expected_sizeZ actual_sizerrrÚNumericByteSizeTestHelperjs  z(WireFormatTest.NumericByteSizeTestHelperc6Cs¼tjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjddgtjtjdgtjddgtjddgtjddgtjtjdgtjddgtjddgtjddgtjddgtjddgtjd 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|dddƒƒ�qFW|jdtjddjdƒƒƒGdd„dtƒ}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)&Nrréé€ré éé?é@réggeÍÍAFTrrré„ÚasТеÑ�Ñ‚zutf-8c@seZdZdd„Zdd„ZdS)z9WireFormatTest.testByteSizeFunctions..MockMessagecSs ||_dS)N)Ú byte_size)rr4rrrÚ__init__ÌszBWireFormatTest.testByteSizeFunctions..MockMessage.__init__cSs|jS)N)r4)rrrrÚByteSizeÎszBWireFormatTest.testByteSizeFunctions..MockMessage.ByteSizeN)Ú__name__Ú __module__Ú __qualname__r5r6rrrrÚ MockMessageËsr:)r4rér r r iÁÿÿÿiÀÿÿÿr iÁÿÿÿiÀÿÿÿgeÍÍÁgeÍÍÁ)"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_ARGSÚargsr(r:Zmessage_byte_sizeZ mock_messagerrrÚtestByteSizeFunctionsts¨                                                              z$WireFormatTest.testByteSizeFunctionsN) r7r8r9rrr r!r*r>rrrrr-s   rÚ__main__) Ú__doc__Ú __author__Z unittest2ZunittestÚ ImportErrorZgoogle.protobufrZgoogle.protobuf.internalrZTestCaserr7ÚmainrrrrÚ s   S