<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>
3
h*                 @   sp   d Z dZyddlZW n ek
r0   ddlZY nX ddlmZ ddlmZ G dd dej	Z
edkrlej  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}| j |d> |B tj|| tj}| jtj||d | jtj||d d S )Ni
              )assertEqualr   PackTagassertRaisesr   EncodeError)selffield_numberZtag_typer    r   &/usr/lib/python3.6/wire_format_test.pytestPackTag/   s    zWireFormatTest.testPackTagc             C   s   xLd	D ]D}x>t dD ]2}tjtj||\}}| j|| | j|| qW qW | jttjd  | jttjd | jttjd | jttjt  d S )
Nr              r   abcg        )r   r   r   r   r   )ranger   Z	UnpackTagr   r
   r   	TypeErrorobject)r   Zexpected_field_numberZexpected_wire_typer   Z	wire_typer   r   r   testUnpackTag:   s    
zWireFormatTest.testUnpackTagc             C   s   t j}| jd|d | jd|d | jd|d | jd|d | jd|d | jd|d | jd|d | jd
|d | jd|d | jt|d  | jt|d | jt|d | jt|t  d S )Nr   r   r   r      l    il    l        l    l    l    l            abcdg        r	   i   l         )r   ZZigZagEncoder
   r   r   r   )r   Zr   r   r   testZigZagEncodeH   s    zWireFormatTest.testZigZagEncodec             C   s   t j}| jd|d | jd|d | jd|d | jd|d | jd|d | jd|d | jd|d	 | jd
|d | jd|d | jt|d  | jt|d | jt|d | jt|t  d S )Nr   r   r   r   r   il    l        l    l    l    l            l    r   g        r	   r   i   l         )r   ZZigZagDecoder
   r   r   r   )r   r   r   r   r   testZigZagDecodeY   s    zWireFormatTest.testZigZagDecodec          
   C   sD   x>dD ]6\}}|| }|||}| j ||d|||||f  qW d S )Nr   r   r   r        r   zFbyte_size_fn: %s, field_number: %d, value: %r
Expected: %d, Actual: %dr   r   r   r   r"   r   r#   r   )r$   r%   r&   r'   )r
   )r   byte_size_fnvalueZexpected_value_sizer   Z	tag_bytesZexpected_sizeZactual_sizer   r   r   NumericByteSizeTestHelperj   s    
z(WireFormatTest.NumericByteSizeTestHelperc          6   C   s  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g4}x|D ]}| j|  q$W xPt jt jfD ]@}| jd|dd | jd|dd | jd|ddd  qFW | jdt jddjd G dd dt}d}||d}| jd| t jd| | jd
| t jd| | jd|j t jd| | jd|j t jd| d|_| jd
|j t jd| d|_| j|jd t jd| d|_| j|jd t jd| | j|jd t jd| | jt j!t jddd>  d S )&Nr   r         r   
      ?   @   r      g        g    eAFTr   r   r      as   Тест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   r4   r   r   r   __init__   s    zBWireFormatTest.testByteSizeFunctions.<locals>.MockMessage.__init__c             S   s   | j S )N)r4   )r   r   r   r   ByteSize   s    zBWireFormatTest.testByteSizeFunctions.<locals>.MockMessage.ByteSizeN)__name__
__module____qualname__r5   r6   r   r   r   r   MockMessage   s   r:   )r4   r      r	   r	   r	   iir	   iig    eg    e)"r   ZInt32ByteSizeZInt64ByteSizeZUInt32ByteSizeZ
UINT32_MAXZUInt64ByteSizeZ
UINT64_MAXZSInt32ByteSizeZSInt64ByteSizeZFixed32ByteSizeZFixed64ByteSizeZSFixed32ByteSizeZ	INT32_MINZ	INT32_MAXZSFixed64ByteSizeZ	INT64_MINZ	INT64_MAXZFloatByteSizeZDoubleByteSizeZBoolByteSizeZEnumByteSizer*   ZStringByteSizeZBytesByteSizer
   decoder   ZGroupByteSizer4   ZMessageByteSizeZMessageSetItemByteSizer   r   r   )r   ZNUMERIC_ARGSargsr(   r:   Zmessage_byte_sizeZmock_messager   r   r   testByteSizeFunctionst   s    















































z$WireFormatTest.testByteSizeFunctionsN)	r7   r8   r9   r   r   r    r!   r*   r>   r   r   r   r   r   -   s   
r   __main__)__doc__
__author__Z	unittest2ZunittestImportErrorZgoogle.protobufr   Zgoogle.protobuf.internalr   ZTestCaser   r7   mainr   r   r   r   <module>    s    S