�
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 d l m Z d d l m
Z
d d l m Z d 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* Tests for google.protobuf.message_factory.s" [email protected] (Matt Toia)i����N( t descriptor_pb2( t api_implementation( t factory_test1_pb2( t factory_test2_pb2( t descriptor_database( t descriptor_pool( t message_factoryt MessageFactoryTestc B s5 e Z d � Z d � Z d � Z d � Z d � Z RS( c C s: t j j t j j � | _ t j j t j j � | _ d S( N( R t FileDescriptorProtot
FromStringR t
DESCRIPTORt
serialized_pbt factory_test1_fdR t factory_test2_fd( t self( ( sQ /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt setUp4 s c C s� | � } d | _ d | _ d | j _ d | j _ d | j _ d | j j _ d | j _ | j j j
d d d g � | j j j d � d | _ d | _ d | j _ d | j _ d
| j j _ d | j _ d | _ | j j
d d d g � | j j d � | j
j � d
| j
d _ d | j
d _ | j
j d d d d � d
| j j _ d | j j j j _ | j � } t j j | � } | j � } | j | | � | j | � } | j | | � d S( Ni* i s nested message valuei i u oneu twou threeu fouri s one deeps zero deept hellot worldt part_1t testingt part_2t 123i ( t mandatoryt nested_factory_2_enumt nested_factory_2_messaget valuet factory_1_messaget factory_1_enumt nested_factory_1_enumt nested_factory_1_messaget scalar_valuet
list_valuet extendt appendt circular_messaget groupedt addR R t loopt SerializeToStringR t Factory2MessageR t assertEqual( R t clst msgt
serializedt convertedt reserializedt result( ( sQ /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt _ExerciseDynamicClass: s>
c C s� t j � } t j | � } | j | j � | j | j � t j � } | j | j
d � � } | j | t j
k � | j | � | j | j
d � � } | j | | k � d S( Ns/ google.protobuf.python.internal.Factory2Message( R t DescriptorDatabaseR t DescriptorPoolt AddR R
R t MessageFactoryt GetPrototypet FindMessageTypeByNamet assertFalseR R' R/ t
assertTrue( R t dbt poolt factoryR) t cls2( ( sQ /usr/lib/python2.7/site-packages/google/protobuf/internal/message_factory_test.pyt testGetPrototype\ s
c C s xt d � D]} | j | j j | j j � t j | j | j g � } | j t d d g � j
t | j � � � � | j | d � | d } | j t d d g � j
t d � | j
j j j | j
� D� � � � | d � } | j j d � } | j j d � } d | j |