o
    ˷eX*                     @   sR   d Z dZddlZddlmZ ddlmZ G dd dejZe	dkr'e
  dS dS )	z.Test for google.protobuf.internal.wire_format.z#robinson@google.com (Will Robinson)    N)message)wire_formatc                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )WireFormatTestc                 C   sR   d}d}|  |d> |B t|| tj}| tj||d | tj||d d S )Ni
           )assertEqualr   PackTagassertRaisesr   EncodeError)selffield_numbertag_typer
    r   `/var/www/ideatree/venv/lib/python3.10/site-packages/google/protobuf/internal/wire_format_test.pytestPackTag+   s   
zWireFormatTest.testPackTagc                 C   s   dD ] }t dD ]}tt||\}}| || | || qq| ttjd  | ttjd | ttjd | ttjt  d S )N)              r   abc        )ranger   	UnpackTagr
   r	   r   	TypeErrorobject)r   expected_field_numberexpected_wire_typer   	wire_typer   r   r   testUnpackTag6   s   
zWireFormatTest.testUnpackTagc                 C   s   t j}| d|d | d|d | d|d | d|d | d|d | d|d	 | d
|d | d|d | d|d | t|d  | t|d | t|d | t|t  d S )Nr   r   r   r   r                                      abcdr   )r   ZigZagEncoder	   r   r   r   r   Zr   r   r   testZigZagEncodeD      zWireFormatTest.testZigZagEncodec                 C   s   t j}| d|d | d|d | d|d | d|d | d|d | d|d	 | d
|d | d|d | d|d | t|d  | t|d | t|d | t|t  d S )Nr   r   r   r   r"   r   r#   r%   r$   r'   r&   r)   r(   r+   r*   r,   r   )r   ZigZagDecoder	   r   r   r   r.   r   r   r   testZigZagDecodeU   r1   zWireFormatTest.testZigZagDecodec                 C   s@   dD ]\}}|| }|||}|  ||d|||||f  qd S )N))r   r   )r   r   )r   r   )r   r   zFbyte_size_fn: %s, field_number: %d, value: %r
Expected: %d, Actual: %d)r	   )r   byte_size_fnvalueexpected_value_sizer   	tag_bytesexpected_sizeactual_sizer   r   r   NumericByteSizeTestHelperf   s   

z(WireFormatTest.NumericByteSizeTestHelperc              	   C   s  g t jddgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jt jdgt jddgt jddgt jddgt jt jdgt jddgt jddgt jddgt jd	dgt jd
dgt jddgt jddgt jddgt jddgt jddgt jd	dgt jd
dgt jddgt jddgt j	ddgt j	t jdgt j
ddgt j
t jdgt jddgt jt jdgt jt jdgt jddgt jt jdgt jt jdgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jddgt jt jdg}|D ]}| j|  qEt jt jfD ]}| d|dd | d|dd | d|dd qT| dt ddd G dd dt}d}||d}| d| t d| | d| t d| | d|j t d| | d|j t d| d|_| d|j t d| d|_| |jd t d| d|_| |jd t d| | |jd t d| | t j!t jddd>  d S ) Nr   r         r   r   
      i?   i@   r#      r   g    eAg    eFTr   r   r      ڀaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaas   Тестzutf-8c                   @   s   e Zd Zdd Zdd ZdS )z9WireFormatTest.testByteSizeFunctions.<locals>.MockMessagec                 S   s
   || _ d S N	byte_size)r   rF   r   r   r   __init__   s   
zBWireFormatTest.testByteSizeFunctions.<locals>.MockMessage.__init__c                 S   s   | j S rD   rE   )r   r   r   r   ByteSize   s   zBWireFormatTest.testByteSizeFunctions.<locals>.MockMessage.ByteSizeN)__name__
__module____qualname__rG   rH   r   r   r   r   MockMessage   s    rL   rE   r      )"r   Int32ByteSizeInt64ByteSizeUInt32ByteSize
UINT32_MAXUInt64ByteSize
UINT64_MAXSInt32ByteSizeSInt64ByteSizeFixed32ByteSizeFixed64ByteSizeSFixed32ByteSize	INT32_MIN	INT32_MAXSFixed64ByteSize	INT64_MIN	INT64_MAXFloatByteSizeDoubleByteSizeBoolByteSizeEnumByteSizer:   StringByteSizeBytesByteSizer	   decoder   GroupByteSizerF   MessageByteSizeMessageSetItemByteSizer   r   r   )r   NUMERIC_ARGSargsr4   rL   message_byte_sizemock_messager   r   r   testByteSizeFunctionsp   s&  






	

















 
!
"
#
$
&'
)*
,-.
012
4
5
6
8
9
:
<
=
?
@
ABD












z$WireFormatTest.testByteSizeFunctionsN)	rI   rJ   rK   r   r!   r0   r3   r:   rl   r   r   r   r   r   )   s    
r   __main__)__doc__
__author__unittestgoogle.protobufr   google.protobuf.internalr   TestCaser   rI   mainr   r   r   r   <module>   s    S