
x\c           @   sR   d  d l  Z  d  d l m Z m Z d e f d     YZ d e f d     YZ d S(   iN(   t   packbt   unpackbt   DecodeErrorc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyR      s   t   TestObjc           B   st   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z RS(   c         C   s   d j  d   | D  S(   Nt    c         s   s   |  ] } t  |  Vq d  S(   N(   t   str(   t   .0t   c(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pys	   <genexpr>   s    (   t   join(   t   selft   arr(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   _arr_to_str   s    c         C   s   t  d   d  S(   Ns   Ooops!(   R   (   R   t   o(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   bad_complex_decoder   s    c         C   s%   d | k r! t  | d | d  S| S(   Nt   __complex__t   realt   imag(   t   complex(   R   t   obj(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   _decode_complex   s    c         C   s,   t  | t  r( i t d 6d d 6d d 6S| S(   NR   i   R   i   R   (   t
   isinstanceR   t   True(   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   _encode_complex   s    c         C   s\   t  d d
 g d |  j } t | d d } | d i t d 6d d 6d d	 6k sX t  d  S(   Ni   i   y               @t   defaultt   use_listR   R   i   R   y      ?       @(   R    R   R   R   t   AssertionError(   R   t   packedt   unpacked(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   test_encode_hook   s    c         C   s\   t  d i t d 6d d 6d d 6g  } t | d |  j d d } | d d
 k sX t  d  S(   Ni   R   i   R   i   R   t   object_hookR   y               @y      ?       @(   R    R   R   R   R   (   R   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   test_decode_hook#   s    '	c         C   s_   t  d i d d 6d d 6g  } d d	 } t | d d   d d } | d | k s[ t  d  S(
   Ni   i   i   i   t   object_pairs_hookc         S   s   t  d   |  D  S(   Nc         s   s   |  ] \ } } | | Vq d  S(   N(    (   R   t   kt   v(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pys	   <genexpr>-   s    (   t   sum(   t   l(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   <lambda>-   s    R   i   i   (   R    R   R   (   R   R   t   prod_sumR   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   test_decode_pairs_hook)   s     
	c      
   C   sB   d } t  j t d | ! t d d d   d d   Wd  QXd  S(   Ns8   object_pairs_hook and object_hook are mutually exclusivet   matchR   R   c         S   s   |  S(   N(    (   t   x(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyR&   4   s    R!   c         S   s   |  S(   N(    (   R*   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyR&   5   s    (   t   pytestt   raisest	   TypeErrorR   (   R   t   msg(    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   test_only_one_obj_hook1   s    c         C   sS   d } t  j t d | 2 t d d	 g d d   } t | d d } Wd  QXd  S(
   Ns   can't serialize \(1\+2j\)R)   i   i   y               @R   c         S   s   |  S(   N(    (   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyR&   :   s    R   y      ?       @(   R+   R,   R-   R    R   (   R   R.   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   test_bad_hook7   s    c         C   sF   t  d d d g  } t | d |  j d d } | d k sB t  d  S(   Ni   i   i   t	   list_hookR   t   123(   R    R   R   R   (   R   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   test_array_hook=   s    c      	   C   s[   t  j t d d @ t i i t d 6d d 6d d 6d 6 } t | d |  j Wd  QXd  S(	   NR)   s   Ooops!R   i   R   i   R   R   (   R+   R,   R   R    R   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt    test_an_exception_in_objecthook1B   s    (c      
   C   sd   t  j t d d I t i i t d 6d d 6d d 6g d 6 } t | d |  j d	 d Wd  QXd  S(
   NR)   s   Ooops!R   i   R   i   R   R1   R   (   R+   R,   R   R    R   R   R   (   R   R   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt    test_an_exception_in_objecthook2G   s    +(   R   R   R   R   R   R   R   R    R(   R/   R0   R3   R4   R5   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyR      s   											(   R+   t   pandas.io.msgpackR    R   t	   ExceptionR   t   objectR   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_obj.pyt   <module>   s   