� S�Ljc @ s� d Z d Z y d d l Z Wn e k r; d d l Z n Xd d l m Z d d l m Z d e j f d � � YZ e d k r� e j � n d S( s. Test for google.protobuf.internal.wire_format.s# [email protected] (Will Robinson)i����N( t message( t wire_formatt WireFormatTestc B s> e Z d � Z d � Z d � Z d � Z d � Z d � Z RS( c C so d } d } | j | d >| Bt j | | � � t j } | j t j | | d � | j t j | | d � d S( Ni� i i i i����( t assertEqualR t PackTagt assertRaisesR t EncodeError( t selft field_numbert tag_typeR ( ( sM /usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format_test.pyt testPackTag/ s c C s� xf d D]^ } xU t d � D]G } t j t j | | � � \ } } | j | | � | j | | � q Wq W| j t t j d � | j t t j d � | j t t j d � | j t t j t � � d S( Ni i i i� i i t abcg ( i i i i� i ( t rangeR t UnpackTagR R R t TypeErrort Nonet object( R t expected_field_numbert expected_wire_typeR t wire_type( ( sM /usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format_test.pyt testUnpackTag: s c 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( Ni i i����i i i����i l �� i���l �� i �l ���� l ���� l ���� l���� t abcdg ( R t ZigZagEncodeR R R R R ( R t Z( ( sM /usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format_test.pyt testZigZagEncodeH s c 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( Ni i����i i i����i i i���l �� i �l �� l ���� l ���� l���� l ���� R g ( R t ZigZagDecodeR R R R R ( R R ( ( sM /usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format_test.pyt testZigZagDecodeY s c C sf x_ d d d d f D]K \ } } | | } | | | � } | j | | d | | | | | f � q Wd S( Ni i i i i� i i sF byte_size_fn: %s, field_number: %d, value: %r Expected: %d, Actual: %d( i i ( i i ( i� i ( i i ( R ( R t byte_size_fnt valuet expected_value_sizeR t tag_bytest expected_sizet actual_size( ( sM /usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format_test.pyt NumericByteSizeTestHelperj s c 6 C sT 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 t d g t j t 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 | � q4Wxi t j t j f D]U } | j d | d d � � | j d | d d � � | j d | d d d � � q^W| j d t j d d j d � � � d t f d � � Y} 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 S( Ni i i i� i i����i i i����i? i����i@ i i g g e��Ag e���R i i i� t as Тестs utf-8t MockMessagec B s e Z d � Z d � Z RS( c S s | | _ d S( N( t byte_size( R R$ ( ( sM /usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format_test.pyt __init__� s c S s | j S( N( R$ ( R ( ( sM /usr/lib/python2.7/site-packages/google/protobuf/internal/wire_format_test.pyt ByteSize� s ( t __name__t __module__R% R&