ó
Û¤[c           @   sp  d  Z  d d l Z d d l m Z d d l m Z m Z d d l m Z	 d d l
 m Z m Z m Z d „  Z d' d( d) d* d+ f Z d d d d, g d f Z d „  Z d „  Z d „  Z d „  Z d „  Z e	 j d ƒ d „  ƒ Z e	 j d ƒ d „  ƒ Z e	 j d ƒ d „  ƒ Z e	 j d ƒ d „  ƒ Z d „  Z d  „  Z d! „  Z e d" d# ƒ Z d$ „  Z d% „  Z  d& „  Z! d S(-   s   test serialization toolsiÿÿÿÿN(   t
   namedtuple(   t   serialize_objectt   deserialize_object(   t
   decorators(   t   CannedArrayt   CannedClasst   interactivec         C   s4   t  |  ƒ } t | ƒ \ } } | g  k s0 t ‚ | S(   s)   roundtrip an object through serialization(   R   R   t   AssertionError(   t   objt   bufst   obj2t	   remainder(    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt	   roundtrip   s    id   i   i
   i   i   i   i    t   uint8t   float64t   int32t   gt   float32s   |S10c         C   s%   d d  l  } | j j |  ƒ j | ƒ S(   Niÿÿÿÿ(   t   numpyt   randomt   astype(   t   shapet   dtypeR   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt	   new_array   s    c          C   sW   xP d t  d d d d ƒ d d d g d	 g D]$ }  t |  ƒ } |  | k s+ t ‚ q+ Wd  S(
   Nt   hellot   at   bi
   i   i   t   hit   123(   R   R   (   t   dictR   R   (   R   R
   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_roundtrip_simple   s    c          C   sv   xo t  d t d ƒ d i d d 6ƒ t d ƒ t d ƒ d d g f g g g D]$ }  t |  ƒ } |  | k sJ t ‚ qJ Wd  S(   NR   i   R   R   i   i   t   whoda(   R   t   rangeR   R   (   R   R
   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_roundtrip_nested(   s
    .c          C   s™   x’ t  d d d ƒ d d d d d d d	 g g D]` }  t |  ƒ } t | ƒ d k s[ t ‚ t | ƒ \ } } | g  k s t ‚ |  | k s1 t ‚ q1 Wd  S(
   NR   t   xi  R   iô  iõ  i   i   i   (   R   R   t   lenR   R   (   R   R	   R
   R   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_roundtrip_buffered0   s    c          C   sz   d d }  t  |  ƒ } t | ƒ } t | ƒ d k s: t ‚ t | ƒ \ } } | g  k s^ t ‚ | j ƒ  |  k sv t ‚ d  S(   Nt   asdfi  i   (   t
   memoryviewR   R#   R   R   t   tobytes(   R   t   viewR	   t   v2R   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_roundtrip_memoryview<   s    
R   c    	      C   sà   d d  l  }  d d l m } x½ t D]µ } x¬ t D]¤ } t | d | ƒ} t | ƒ } g  | D] } t | ƒ ^ q[ } t | ƒ \ } } | g  k s— t	 ‚ | j
 | j
 k s¯ t	 ‚ | j | j k sÇ t	 ‚ | | | ƒ q0 Wq# Wd  S(   Niÿÿÿÿ(   t   assert_array_equalR   (   R   t   numpy.testing.utilsR+   t   SHAPESt   DTYPESR   R   R&   R   R   R   R   (	   R   R+   R   R   t   AR	   R   t   Bt   r(    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt
   test_numpyE   s    c          C   sâ   d d  l  }  d d l m } x¿ t D]· } x® d t f d g d t f d d g g D]… } t | d
 | ƒ} t | ƒ } t | ƒ \ } } | g  k s™ t	 ‚ | j
 | j
 k s± t	 ‚ | j | j k sÉ t	 ‚ | | | ƒ qQ Wq# Wd  S(   Niÿÿÿÿ(   R+   t   ft   ss   |S10t   ns   |S1t   ut   uint32R   (   R4   s   |S10(   R4   s   |S1(   R6   R7   (   R   R,   R+   R-   t   floatt   intR   R   R   R   R   R   (   R   R+   R   R   R/   R	   R0   R1   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_recarrayT   s    c    
      C   s  d d  l  }  d d l m } xà t D]Ø } xÏ t D]Ç } t | d | ƒ} t | d d d f ƒ } t j | d ƒ } t	 | d t
 ƒ sŒ t ‚ t | ƒ \ } } | d }	 | g  k sº t ‚ | j |	 j k sÒ t ‚ | j |	 j k sê t ‚ | | |	 ƒ q0 Wq# Wd  S(   Niÿÿÿÿ(   R+   R   i   i   R   i    (   R   R,   R+   R-   R.   R   R   t   picklet   loadst
   isinstanceR   R   R   R   R   (
   R   R+   R   R   R/   R	   t   cannedt   tupR1   R0   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_numpy_in_seqf   s    
c    
      C   s  d d  l  }  d d l m } xï t D]ç } xÞ t D]Ö } t | d | ƒ} t t d | d d d t d ƒ ƒ ƒ } t	 j
 | d	 ƒ } t | d t ƒ s› t ‚ t | ƒ \ } } | d }	 | g  k sÉ t ‚ | j |	 j k sá t ‚ | j |	 j k sù t ‚ | | |	 ƒ q0 Wq# Wd  S(
   Niÿÿÿÿ(   R+   R   R   R   i   t   ci   i    (   R   R,   R+   R-   R.   R   R   R   R    R;   R<   R=   R   R   R   R   R   (
   R   R+   R   R   R/   R	   R>   t   dR1   R0   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_numpy_in_dictw   s    '
c          C   s•   t  d t f d „  ƒ  Yƒ }  t t d |  ƒ ƒ } t j | d ƒ } t | d t ƒ s] t ‚ t	 | ƒ \ } } | d } | j
 |  j
 k s‘ t ‚ d  S(   Nt   Cc           B   s   e  Z d  Z RS(   i   (   t   __name__t
   __module__R   (    (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyRD   ‰   s   i    (   R   t   objectR   R   R;   R<   R=   R   R   R   R   (   RD   R	   R>   RB   R1   t   C2(    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt
   test_classˆ   s    
c          C   s’   t  d d d „  ƒ  Yƒ }  t t d |  ƒ ƒ } t j | d ƒ } t | d t ƒ sZ t ‚ t | ƒ \ } } | d } | j	 |  j	 k sŽ t ‚ d  S(   NRD   c           B   s   e  Z d  Z RS(   i   (   RE   RF   R   (    (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyRD   ”   s   i    (    (
   R   R   R   R;   R<   R=   R   R   R   R   (   RD   R	   R>   RB   R1   RH   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_class_oldstyle“   s    
c          C   s‡   d „  d f }  t  |  ƒ } t j | d ƒ } t | t ƒ sC t ‚ t | ƒ \ } } | d | d ƒ |  d |  d ƒ k sƒ t ‚ d  S(   Nc         S   s   |  S(   N(    (   R"   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   <lambda>    s    i   i    (   R   R;   R<   R=   t   tupleR   R   (   R?   R	   R>   t   t2R1   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt
   test_tupleŸ   s    t   points   x yc          C   s   t  d d ƒ }  t |  ƒ } t j | d ƒ } t | t  ƒ sC t ‚ t | t ƒ  ƒ \ } } | j |  j k ss t ‚ | j	 |  j	 k s‹ t ‚ d  S(   Ni   i   i    (
   RO   R   R;   R<   R=   R   R   t   globalsR"   t   y(   t   pR	   R>   t   p2R1   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_namedtuple©   s    c          C   s‡   d „  d g }  t  |  ƒ } t j | d ƒ } t | t ƒ sC t ‚ t | ƒ \ } } | d | d ƒ |  d |  d ƒ k sƒ t ‚ d  S(   Nc         S   s   |  S(   N(    (   R"   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyRK   ³   s    i   i    (   R   R;   R<   R=   t   listR   R   (   t   lisR	   R>   t   l2R1   (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt	   test_list²   s    c          C   sÉ   t  d t f d „  ƒ  Yƒ }  t  d |  f d „  ƒ  Yƒ } t t d | ƒ ƒ } t j | d ƒ } t | d t ƒ sy t ‚ t	 | ƒ \ } } | d } | j
 | j
 k s­ t ‚ | j | j k sÅ t ‚ d  S(   NRD   c           B   s   e  Z d  Z RS(   i   (   RE   RF   R   (    (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyRD   »   s   t   Dc           B   s   e  Z d  Z RS(   i
   (   RE   RF   R   (    (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyRY   ¿   s   i    (   R   RG   R   R   R;   R<   R=   R   R   R   R   R   (   RD   RY   R	   R>   RB   R1   t   D2(    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   test_class_inheritanceº   s    
(   id   (   i   i
   (   i
   i   i   i   (    (   i    (   R   R   ("   t   __doc__R;   t   collectionsR    t   ipykernel.serializeR   R   t   IPython.testingR   t   dect   ipykernel.pickleutilR   R   R   R   R-   R.   R   R   R!   R$   R*   t   skip_withoutR2   R:   R@   RC   RI   RJ   RN   RO   RT   RX   R[   (    (    (    s=   lib/python2.7/site-packages/ipykernel/tests/test_serialize.pyt   <module>   s0   			
										