
x\c           @  ss   d  d l  m Z d  d l Z d  d l j j Z d  d l m Z d d l m Z m	 Z	 d   Z
 d   Z d   Z d S(	   i(   t   print_functionN(   t   ExtTypei   (   t	   frombytest   tobytesc          C  s   d   }  |  d  d k s! t   |  d  d k s9 t   |  d  d k sQ t   |  d  d	 k si t   |  d  d d k s t   |  d  d k s t   |  d d  d d d k s t   |  d d  d d d k s t   d  S(   Nc         S  s&   t  j   } | j d |   | j   S(   NiB   (   t   msgpackt   Packert   pack_ext_typet   bytes(   t   st   packer(    (    sE   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_extension.pyt   p   s    t   As   BAt   ABs   BABt   ABCDs   BABCDt   ABCDEFGHs
   BABCDEFGHi   s   Bt   ABCs   BABCi#  s   #BiE# s    #EBt   AAAAAAAAAAAAAAAAR   (   t   AssertionError(   R
   (    (    sE   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_extension.pyt   test_pack_ext_type   s    	$c          C  s   d   }  |  d t  d d   |  d t  d d   |  d t  d d   |  d	 t  d d
   |  d d t  d d   |  d t  d d   |  d d d t  d d d   |  d d d t  d d d   d  S(   Nc         S  s   t  j |   | k s t  d  S(   N(   R   t   unpackbR   (   t   bt   expected(    (    sE   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_extension.pyt   check   s    s   BAiB   R   s   BABR   s   BABCDR   s
   BABCDEFGHR   s   Bi   s   BABCR   s   #Bi#  s    #EBiE# R   R   (   R   (   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_extension.pyt   test_unpack_ext_type   s    	c          C  sv   d   }  d   } d d t  j  d d d d g  g } t j | d	 |  } t j | d
 | } | | k sr t  d  S(   Nc         S  sU   t  d |   t |  t j  r> d } t |   } t | |  St d |  f   d  S(   Ns   default calledi{   s   Unknown type object %r(   t   printt
   isinstancet   arrayR   R   t	   TypeError(   t   objt   typecodet   data(    (    sE   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_extension.pyt   default-   s    c         S  sB   t  d |  |  |  d k s" t  t j d  } t | |  | S(   Ns   ext_hook calledi{   t   d(   R   R   R   R   (   t   codeR   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_extension.pyt   ext_hook5   s
    i*   t   helloR    g?g@gffffff
@R   R"   (   R   R   t   packbR   R   (   R   R"   R   R   t   obj2(    (    sE   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_extension.pyt   test_extension_type,   s    		$(   t
   __future__R    R   t   pandas.io.msgpackt   ioR   R   t   commonR   R   R   R   R&   (    (    (    sE   lib/python2.7/site-packages/pandas/tests/io/msgpack/test_extension.pyt   <module>   s   		