ó
šxŠ\c           @   s  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z m	 Z	 m
 Z
 m Z m Z d  d l j j Z d  d l Z d  d l m Z m Z m Z m Z m Z m Z d  d l j j Z d  d l m Z m Z m Z m Z m  Z  m! Z! e j" ƒ  Z# e j$ ƒ  Z% e e# ƒ Z& e e# d d d d	 d
 g ƒZ' e d „  e j( e# ƒ Dƒ ƒ Z) e e% ƒ Z* e& j+ ƒ  Z, d g d d g d d g d d g e- e, ƒ d Z. e j/ e. d d ƒe, _0 e1 e2 e. ƒ ƒ e, d <e j3 e- e, ƒ d d ƒe, d <e& j+ ƒ  Z4 d e5 f d „  ƒ  YZ6 d S(   iÿÿÿÿ(   t	   timedeltaN(   t   OrderedDictt   StringIOt   is_platform_32bitt   lranget   range(   t	   DataFramet   DatetimeIndext   Seriest	   Timestampt   compatt	   read_json(   t   assert_almost_equalt   assert_frame_equalt   assert_index_equalt   assert_series_equalt   ensure_cleant   networkt   columnst   Dt   Ct   Bt   Ac         C   s+   i  |  ]! \ } } | j  t j ƒ | “ q S(    (   t   astypet   npt   int64(   t   .0t   kt   v(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pys
   <dictcomp>   s   	t   bahi   t   bart   bazt   fooi   t   namet   Et   dtypeR   t   sortt   TestPandasContainerc           B   sÌ  e  Z e j d  d d e ƒ d „  ƒ Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z e j j e ƒ  d
 d ƒd „  ƒ 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 d „  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( d& „  Z) e* e j j+ d' „  ƒ ƒ Z, e* e j j+ d( „  ƒ ƒ Z- d) „  Z. d* „  Z/ d+ „  Z0 d, „  Z1 d- „  Z2 d. „  Z3 d/ „  Z4 d0 „  Z5 d1 „  Z6 d2 „  Z7 d3 „  Z8 d4 „  Z9 e: j; d5 „  ƒ Z< d6 „  Z= d7 „  Z> d8 „  Z? d9 „  Z@ d: „  ZA d; „  ZB e j jC d< eD d= d> g d? d@ g g dA dB dC g ƒi dB dC g dA 6d= d> g d? d@ g g dD 6f eD d= d> g d? d@ g g dA dB dC g ƒjE dE ƒ i dB dC g dA 6d= d> g d? d@ g g dD 6f eD d= d> g d? d@ g g dA dB dC g dF dB dC g dG dH g g ƒi dB dC g dA 6d= d> g d? d@ g g dD 6f eF d= d> dI g dJ dK ƒi dK dJ 6d= d> dI g dD 6f eF d= d> dI g dJ dK ƒjE dE ƒ i dK dJ 6d= d> dI g dD 6f eF d= d> g dJ dK dF dB dC g dG dH g g ƒi dK dJ 6d= d> g dD 6f g ƒ dL „  ƒ ZG e j jC dD eD d= d> g d? d@ g g dA dB dC g ƒeD d= d> g d? d@ g g dA dB dC g ƒjE dE ƒ eD d= d> g d? d@ g g dA dB dC g dF dB dC g dG dH g g ƒeF d= d> dI g dJ dK ƒeF d= d> dI g dJ dK ƒjE dE ƒ eF d= d> g dJ dK dF dB dC g dG dH g g ƒg ƒ dM „  ƒ ZH e j jC dN dO dF dA dP g ƒ dQ „  ƒ ZI e j jC dN dR dS g ƒ e j jC dF e eJ g ƒ dT „  ƒ ƒ ZK RS(U   t   scopet   functiont   autousec         c   s/  | d d d ƒ |  _  t j ƒ  |  _ d |  j _ t j ƒ  |  _ d |  j _ t j ƒ  |  _ d |  j _ t	 g  d g  ƒ|  _
 t i  ƒ |  _ t j ƒ  |  _ t j ƒ  |  _ t j ƒ  |  _ t j ƒ  |  _ t j ƒ  |  _ t j ƒ  |  _ d  V|  `  |  ` |  ` |  ` |  `
 |  ` |  ` |  ` |  ` |  ` |  ` d  S(   Nt   iot   jsont   datat   tst   seriest   objectst   index(   t   dirpatht   tmt   makeTimeSeriesR,   R!   t   makeStringSeriesR-   t   makeObjectSeriest	   objSeriesR   t   empty_seriesR   t   empty_framet   _framet   copyt   framet   _frame2t   frame2t	   _intframet   intframet   _tsframet   tsframet   _mixed_framet   mixed_framet
   _cat_framet   categorical(   t   selft   datapath(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   setup+   s6    c         C   sð   t  d d g d d g g d d d g d d	 d
 g ƒ} t | t | j d d ƒ d d ƒƒ t | t | j d d ƒ d d ƒƒ t | t | j d d ƒ d d ƒƒ t | j d d ƒ d d ƒ} t | j | j ƒ t j | j | j ƒ d  S(   Nt   at   bt   ct   dR/   s	   index " 1s	   index / 2R   s   a \ bs   y / zt   orientt   splitt   records(	   R   R   R   t   to_jsonR   R   R1   t   assert_numpy_array_equalt   values(   RE   t   dft   df_unser(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt    test_frame_double_encoded_labelsU   s    


c         C   sA  t  d d g d d g g d d d g d d d	 g ƒ} d
 } t j t d | ƒ | j d d ƒ Wd  QXd } t j t d | ƒ | j d d ƒ Wd  QXt | t | j d d ƒ d d ƒƒ t | j d d ƒ d d ƒ} t j | j	 | j	 ƒ t j
 | j | j ƒ t | j d d ƒ d d ƒ} t j | j | j ƒ d  S(   NRH   RI   RJ   RK   R/   i   R   t   xt   ys1   DataFrame index must be unique for orient='index't   matchRL   s3   DataFrame index must be unique for orient='columns'RM   RN   RQ   (   R   t   pytestt   raisest
   ValueErrorRO   R   R   R1   R   R   R   RQ   RP   (   RE   RR   t   msgt   unser(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_non_unique_indexd   s    '
c         C   s2  t  d d g d d g g d d d g d d	 d	 g ƒ} d
 } t j t d | ƒ | j d d ƒ Wd  QXd } t j t d | ƒ | j d d ƒ Wd  QXd } t j t d | ƒ | j d d ƒ Wd  QXt | t | j d d ƒ d d d t ƒƒ t | j d d ƒ d d ƒ} t j	 | j
 | j
 ƒ t  d d g d d g g d d d g d d	 d g ƒ} t | j d d ƒ d d ƒ} t | | ƒ d „  } x– d d g d d g g d d g d d g g d d g d d g g t d ƒ d g t d ƒ d g g g D]. } | t  | d d d g d d	 d	 g ƒƒ qüWd  S(   NRH   RI   RJ   RK   R/   i   i   R   RU   s3   DataFrame columns must be unique for orient='index'RW   RL   s5   DataFrame columns must be unique for orient='columns's5   DataFrame columns must be unique for orient='records'RN   RM   R#   RQ   RV   c         S   s8   t  |  j d d ƒ d d d d g ƒ} t | |  ƒ d  S(   NRL   RM   t   convert_datesRU   (   R   RO   R   (   RR   t   result(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   _check   s    g      ø?g      @g      @g      @i   t   20130101t   20130102(   R   RX   RY   RZ   RO   R   R   t   FalseR1   RP   RQ   R	   (   RE   RR   R[   R\   R_   R`   t   o(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_non_unique_columnsw   s4    '	c      
      s×  d  t t t d  d  t t t d „	 ‰  d  t d  d  t t ‡  f d † } | |  j ƒ |  j j ƒ  |  j j d d ƒ k s| t ‚ | |  j d |  j j j ƒ| |  j d t ƒt	 t
 j d' ƒ d g  t d ƒ D] } t | ƒ ^ qÊ d g  t d ƒ D] } t | ƒ ^ qï ƒ} | | d t d	 t ƒ| t	 | d t
 j ƒd t
 j d	 t ƒ| t	 | d t
 j ƒd t
 j d	 t ƒ| t	 | d d
 ƒd d
 d	 t d t ƒ| |  j d d d t ƒ| |  j d t d t ƒ| |  j ƒ t j d d d d d g ƒ } i d d d d d g d 6d d d d d g d 6d d d d d g d  6t t t t t g d! 6} t	 d" | d | ƒ } ˆ  | d# d$ t ƒˆ  | d% d$ t ƒˆ  | d& d$ t ƒˆ  | d d$ t ƒˆ  | j ƒ  j ƒ  d d t ƒd  S((   Nc         S   sV  | d  k	 r |  j | ƒ }  n |  j ƒ  }  |  j j r‚ | d k r‚ d j | ƒ } t j t d | ƒ |  j	 d | ƒ Wd  QXd  S|  j
 j rË | d k rË t j t d d ƒ |  j	 d | ƒ Wd  QXd  S|  j	 d | ƒ } y( t | d | d | d	 | d
 | ƒ} Wn8 t k
 r?} | d  k	 r9t | | ƒ r9d  Sn  ‚  n X| d  k	 rm| | j
 k rm| j | ƒ } n | j ƒ  } | t k rŽt } n  | rÒ|  j j j t j k rÒt | j j j d ƒ d ƒ | _ n  | d k rt j |  j | j d |
 ƒt j |  j
 | j
 d |	 ƒn9| d k r{| t k r\|  j d k r\| j d d k sxt ‚ qRt j |  j | j d |
 ƒn× | d k rg  | j D] } t | ƒ ^ q‘| _ g  | j
 D] } t | ƒ ^ q¶| _
 | d  k rì| j ƒ  } n  t j |  j | j d |
 ƒnG | r6t j |  | d | d | d |	 ƒn t j |  | d t d | ƒd  S(   NR/   R   s.   DataFrame index must be unique for orient='{}'RW   RL   RN   t   ksjkajksfjksjfkjsR#   t   numpyt   convert_axest   i8g    €„.At   check_dtypet   exactRQ   i    RM   t   check_index_typet   check_column_typet   check_less_precise(   R/   R   (   R/   R   RN   (   i    i    (   t   Nonet   sort_valuest
   sort_indexR/   t	   is_uniquet   formatRX   RY   RZ   RO   R   R   t	   Exceptiont
   isinstanceRc   R#   t   typeR   t
   datetime64R   RQ   R   R1   R   R   t   Truet   shapet   AssertionErrort   strR   (   RR   RL   R#   Rg   Rh   Rj   t   raise_okR$   Rl   Rm   t   check_numpy_dtypeR[   t   dfjsonR\   t   detailt   i(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   _check_orient   sl    		"

%%

c            s6  | rÂ ˆ  |  d d | d | d t  d t  ƒˆ  |  d d | d | d t  d t  ƒˆ  |  d d | d | d t  d t  ƒˆ  |  d d | d | d t  d t  ƒˆ  |  d	 d | d | d t  d t  ƒn  ˆ  |  d d | d
 t  d | ƒˆ  |  d d | d
 t  d | ƒˆ  |  d d | d
 t  d | ƒˆ  |  d d | d
 t  d | ƒˆ  |  d	 d | d
 t  d | ƒ| r[ˆ  |  d d | d t d | d | d t  d t  ƒˆ  |  d d | d t d | d | d t  d t  ƒˆ  |  d d | d t d | d | d t  d t  ƒˆ  |  d d | d t d | d | d t  d t  ƒˆ  |  d	 d | d t d | d | d t  d t  ƒn  ˆ  |  d d | d t d
 t  d | d | ƒˆ  |  d d | d t d
 t  d | d | ƒˆ  |  d d | d t d
 t  d | d | ƒˆ  |  d d | d t d
 t  d | d | ƒˆ  |  d	 d | d t d
 t  d | d | ƒd  S(   NR   R#   R$   Rl   Rm   RN   RM   R/   RQ   Rh   Rg   R|   (   Rc   Rx   (   RR   R#   Rh   R|   R$   Rl   Rm   (   R   (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   _check_all_orientsê   s^    RL   R   R#   iÈ   i   R/   Rh   t   U3R|   R$   Rl   Rm   RH   RI   RJ   RK   t   eg        g      ð?g       @g      @g      @R   R   t   foo1t   foo2t   foo3t   foo4t   foo5R   R   R+   RM   Rj   RN   RQ   (   iÈ   i   (   Ro   Rc   Rx   R:   RO   Rz   R>   RQ   R#   R   R   t   zerosR   R{   t   float64t   intRZ   RD   R7   R@   t   pdt   Indext	   transpose(   RE   R‚   R€   t   biggieR/   R+   RR   (    (   R   s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_from_json_to_jsonœ   sH    	J	8*%(!c         C   sä   t  j t d d ƒ t t d ƒ ƒ Wd  QXt d ƒ } d } t  j t d | ƒ t | d d ƒWd  QXt d ƒ } d	 } t  j t d | ƒ t | d d ƒWd  QXt d
 ƒ } t  j t d d ƒ t | d d ƒWd  QXd  S(   NRW   s   Expected object or values   {"key":b:a:d}sO   {"columns":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}s:   Shape of passed values is \(3, 2\), indices imply \(2, 2\)RL   RM   sW   {"columns":["A","B","C"],"index":["1","2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}s+   3 columns passed, passed data had 2 columnssN   {"badkey":["A","B"],"index":["2","3"],"data":[[1.0,"1"],[2.0,"2"],[null,"3"]]}s   unexpected key\(s\): badkey(   RX   RY   RZ   R   R   Rz   (   RE   R*   R[   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_from_json_bad_dataU  s    c         C   sÂ  t  d d g d d d g g ƒ } t | j ƒ  ƒ } t j | d d ƒ sP t ‚ t  d d g d	 d
 d g g ƒ } t | j ƒ  ƒ } t j | d d ƒ s  t ‚ t | j ƒ  d t ƒ} | d d d  k sÒ t ‚ t | j ƒ  d t d t ƒ} | d d d  k s
t ‚ t | j ƒ  d t ƒ} t j | d d ƒ s?t ‚ t | j ƒ  d t d t ƒ} | d d d  k swt ‚ t | j ƒ  d t d t d t ƒ} | d d d  k sµt ‚ t  d d g d d d g g ƒ } t j | j	 d <t | j ƒ  ƒ } t j | d d ƒ st ‚ t | j ƒ  d t ƒ} t j | d d ƒ sJt ‚ t j
 | j	 d <t | j ƒ  ƒ } t j | d d ƒ s‰t ‚ t | j ƒ  d t ƒ} t j | d d ƒ s¾t ‚ d  S(   Ni   i   i   i   i   i    t   1t   2t   4t   5t   6R#   Rh   t   0Rg   (   i    i   (   i    i   (   R   R   RO   R   t   isnanRz   Rc   Ro   t   inft   loct   NINF(   RE   RR   R\   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_from_json_nonesp  s8    !!!t   reasons$   not compliant on 32-bit, xref #15865c         C   s~  t  j t d d ƒ g ƒ } | j d d ƒ } | d k s? t ‚ t  j t d d ƒ g ƒ } | j d d ƒ } | d k s~ t ‚ t  j t d d ƒ g ƒ } | j d d ƒ } | d	 k s½ t ‚ t  j t d d
 ƒ g ƒ } | j d d ƒ } | d k sü t ‚ t  j t d d ƒ g ƒ } | j d d ƒ } | d k s;t ‚ t  j t d d ƒ g ƒ } | j d d ƒ } | d k szt ‚ d  S(   Nt   a_floatgffffffî?t   double_precisioni   s   {"a_float":{"0":1.0}}g333333ÿ?s   {"a_float":{"0":2.0}}g333333ÿ¿s   {"a_float":{"0":-2.0}}g×£p=
×ï?i   g–C‹lçûï?i   gûÿÿÿÿÿï?i   (   R   R   t   dictRO   Rz   (   RE   RR   t   encoded(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt"   test_frame_to_json_float_precision”  s$    c         C   sK   t  d d d g ƒ } d } t j t d | ƒ | j d d ƒ Wd  QXd  S(   Ni   i   i   s+   Invalid value 'garbage' for option 'orient'RW   RL   t   garbage(   R   RX   RY   RZ   RO   (   RE   RR   R[   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_to_json_except¯  s    c         C   s—   t  d d d g ƒ } | j s% t ‚ t t | j ƒ  d t | j ƒ ƒ| d t ƒt	 j  i g  d 6d g  ƒj d d ƒ } d	 } | | k s“ t ‚ d  S(
   NR   t   jimt   joeR#   Rl   t   testR/   RL   s   {"test":{}}(
   R   t   _is_mixed_typeRz   R   R   RO   R¡   t   dtypesRc   R   (   RE   RR   R_   t   expected(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_emptyµ  s    '(c         C   sm   t  d d d g ƒ } | d j d ƒ | d <| j s; t ‚ t t | j ƒ  d t | j ƒ ƒ| d t	 ƒd  S(   NR   R¦   R§   Ri   R#   Rl   (
   R   R   R©   Rz   R   R   RO   R¡   Rª   Rc   (   RE   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_empty_mixedtype¿  s
    'c      
   C   sŠ  d d d d d g d d d d	 d
 g d d d d d g d d d d d g g } t  | d t d ƒ d d d d d d g ƒ} | j sŠ t ‚ | j ƒ  } xN d d d g D]= } | j d | ƒ } t | d | d t ƒ} t | | ƒ q¦ Wt	 j
 t | ƒ ƒ | _ | j d d  ƒ } t | d d  d t ƒ} t | | ƒ t	 j
 | j d ƒ | _ | j d d! ƒ } t | d d! d t ƒ} t | | ƒ d  S("   Ni
   i   R    gš™™™™™¹?g{®Gáz„?i   i   R   gš™™™™™É?g{®Gáz”?i   i   R   g333333Ó?g¸…ëQ¸ž?i(   i   t   quxgš™™™™™Ù?g{®Gáz¤?R/   t   abcdR   t   1stt   2ndt   3rdt   4tht   5thRM   RL   Rh   RN   RQ   (   R   t   listR©   Rz   R9   RO   R   Rc   R   R   t   aranget   lenR/   Ry   R   (   RE   t   valsRR   t   rightRL   t   inpt   left(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_mixedtype_orientÇ  s(    c      	   C   sj  t  d d d d g d d d d g d	 d
 d d g d d d d g d d d d g g d d d d d g d t j d d ƒ ƒ} t j d ƒ | d <t j d ƒ | j d  | j j d ƒ f <| d | d! <t j | j d" | j j d! ƒ f <t j	 j
 |  j d# ƒ } t j | ƒ } t | | ƒ | j d! g d$ d" ƒ} t j	 j
 |  j d% ƒ } t j | ƒ } t | | ƒ d  S(&   NgÛÃ‰àù?gzÙ~Kcå?gäXî7 öü?g˜H/‹Æ¿g±|§RÐ¿gµº¤ƒXª´¿gsõB…f ¿gÇÏëô(Æ¿g±à<¤1=ø?gÎâÅÂ9¾?gàÛôg?ú?gL¤—Å‚
õ¿g¡¦¯J–Qœ¿g½[r?T˜Ü?gj<èDH>Õ?g-þ¾ØÑ¿gI°ÄEæx®?gW!i`y’ÀgP0Æ4‘ô?gè+«]Ñ5Ö?R   R   R   R   R   R/   s
   2000-01-03s
   2000-01-07s   19920106 18:21:32.12t   dateRa   i   t   modifiedi   s   tsframe_v012.jsont   axiss   tsframe_iso_v012.json(   R   R   t
   date_rangeR	   t   ilocR   t   get_loct   NaTt   ost   patht   joinR0   R   R   t   drop(   RE   RR   t   v12_jsonRS   t   df_isot   v12_iso_jsont   df_unser_iso(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_v12_compatâ  s&    ("c         C   sm  t  j d d d d d ƒ} t t d d d d	 d
 d d d d d d g
 d d d d d d d d d d d g
 d d d d d  d! d" d# d$ d% d& g
 d' d( d) d* d+ d, d- d. d/ d0 d1 g
 d2 d3 d4 d5 d6 d7 d8 d9 d: d; d< g
 d= d> d? d@ dA dB dC dD dE dF dG g
 ƒ dH | ƒ} | j j dI ƒ | _ t  j | j dJ dK ƒ dJ dK ƒ} t | | dL t	 dM t	 dN t	 dO t	 dP t	 ƒd  S(Q   Nt   20000101t   periodsi
   t   freqt   Ht   float_1g}S? wí¿gÂôbÍmÇè?gz(~J	ô?gðô1¼å¬ã?gk*¬ÐMã¿gvTçjŽÏ?g7j	" YÒ?gp¢+KS(Àgñ’¬µ£î?gZtÛS¬yð¿t   int_1i¢L,i_}i4zõiKeáiL&»iÞ%giûÜDiY)L i;ei­Dô t   str_1t   78c608f1t   64a99743t   13d2ff52t   ca7f4af2t   97236474t   bde7e214t   1a6bde47t   b1190be5t   7a669144t   8d64d068t   float_2gD!¸€†í¥¿gIxJ ˆðü¿gÛòµ%â
@g¨PÝ\<è¿gòÐ÷ÛÞ¿gPl‰…ï—ë?gFàzÚnñ?g5mH/î?gp®Hé%Ÿ¿gáIðö?t   str_2t   14f04af9t   d085da90t   4bcfac83t   81504caft   2ffef4a9t   08e2f5c4t   07e1af03t   addbd4a7t   1f6a09bat   4bfc4d87t   int_2i¥/iŽÞØiÑYiÛ6i‚IÀ i;ª>i¶Á	iÒ(¡ i0q{iÑª‰R/   t   unicodeRL   RM   Rl   Rm   t   check_frame_typet	   by_blockst   check_exact(
   R   RÀ   R   R   R   R   R   RO   R   Rx   (   RE   R/   t   df_mixedt   df_roundtrip(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_blocks_compat_GH9037ù  s4    			c         C   sK  d t  f d „  ƒ  Y} d } | | ƒ } t i | j g d 6ƒ } | j ƒ  d j d | ƒ k se t ‚ t i | g d 6ƒ } d } t j t d | ƒ | j ƒ  Wd  QXt i | g d 6d	 g d
 6d d d
 g ƒ} t j t ƒ  | j ƒ  Wd  QX| j d t	 ƒ d j d | ƒ k st ‚ | j d t	 ƒ d j d | ƒ k sGt ‚ d  S(   Nt   BinaryThingc           B   s   e  Z d  „  Z d „  Z RS(   c         S   s=   | |  _  t j r' | j d ƒ |  _ n t j | ƒ |  _ d  S(   Nt   hex(   t   hexedR
   t   PY2t   decodet   binaryt   bytest   fromhex(   RE   Rô   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   __init__  s    		c         S   s   |  j  S(   N(   Rô   (   RE   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   __str__$  s    (   t   __name__t
   __module__Rú   Rû   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyRò     s   	t   574b4454ba8c5eb4f98a8f45R   s   {{"A":{{"0":"{hex}"}}}}Ró   s6   Unsupported UTF-8 sequence length when encoding stringRW   i   R   R   t   default_handlers%   {{"A":{{"0":"{hex}"}},"B":{{"0":1}}}}(
   t   objectR   Rô   RO   Rs   Rz   RX   RY   t   OverflowErrorR{   (   RE   Rò   Rô   t   binthingt   df_printablet   df_nonprintableR[   Rï   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_frame_nonprintable_bytes  s$    	c         C   sS   t  j i d g d d 6d g d 6ƒ } | j ƒ  d j d d d ƒ k sO t ‚ d  S(   Ni   R   i † i9  R    s(   {{"{bar}":{{"0":1}},"foo":{{"0":1337}}}}(   R   R   RO   Rs   Rz   (   RE   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_label_overflowA  s    '		c      	   C   s¹   t  d d g d d d g ƒ} d } t j t d | ƒ | j d d ƒ Wd  QXt | t | j d d ƒ d d d	 d
 ƒƒ t | j d d ƒ d d d	 d
 ƒ} t j | j	 | j	 ƒ d  S(   NRH   RI   R/   i   s.   Series index must be unique for orient='index'RW   RL   RM   t   typR-   RN   (
   R   RX   RY   RZ   RO   R   R   R1   RP   RQ   (   RE   t   sR[   R\   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_series_non_unique_indexH  s    c      	      s^  d  t t d „ ‰  d  t ‡  f d † } | |  j ƒ |  j j ƒ  |  j j d d ƒ k s^ t ‚ t g  |  j D] } t | ƒ ^ qk d |  j j	 d |  j j
 ƒ} | | d t ƒ|  j j	 j t j k sÌ t ‚ | |  j d t ƒ| |  j ƒ t t d ƒ d d	 d
 d d d d g ƒ} | t | d t j ƒd t j ƒ| t | d t j ƒd t j ƒd  S(   Nc      
   S   sµ   |  j  ƒ  }  t |  j d | ƒ d d d | d | d | ƒ} | j  ƒ  } | d k s` | d k rv t |  j | j ƒ n; | d k r˜ t |  | d	 | ƒn t |  | d
 t d	 | ƒd  S(   NRL   R  R-   Rg   R#   RN   RQ   RM   Rl   t   check_names(   Rq   R   RO   R   RQ   R   Rc   (   R-   RL   R#   Rg   Rl   R\   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyR   W  s    	
c      	      s  ˆ  |  d d | d | ƒˆ  |  d d | d | ƒˆ  |  d d | d | ƒˆ  |  d d | d | ƒˆ  |  d d | ƒˆ  |  d d | d t  d | ƒˆ  |  d d | d t  d | ƒˆ  |  d d | d t  d | ƒˆ  |  d d | d t  d | ƒˆ  |  d d | d t  d | ƒd  S(	   NR   R#   Rl   RN   RM   R/   RQ   Rg   (   Rx   (   R-   R#   Rl   (   R   (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyR‚   h  s&    RL   R/   R!   R#   Rl   i   RH   RI   RJ   RK   R„   t   f(   Ro   Rc   Rx   R-   RO   Rz   R   R5   R{   R/   R!   R6   R#   R   t   object_R,   R   R‹   RŒ   (   RE   R‚   RK   R5   R  (    (   R   s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_series_from_json_to_jsonU  s    *%*"c         C   sK   t  d d d g ƒ } d } t j t d | ƒ | j d d ƒ Wd  QXd  S(   Ni   i   i   s+   Invalid value 'garbage' for option 'orient'RW   RL   R¤   (   R   RX   RY   RZ   RO   (   RE   R  R[   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_series_to_json_except“  s    c         C   sJ   t  d d d g ƒ } t | j ƒ  d d d t ƒ} t | | d t ƒd  S(   Ng=
×£p=@R  R-   t   precise_floatRl   (   R   R   RO   Rx   R   Rc   (   RE   R  R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt#   test_series_from_json_precise_float™  s    c         C   sZ   t  d d d g ƒ } t | j ƒ  d d d t j ƒ} t  d g d ƒ } t | | ƒ d  S(   Ng=
×£p=@R  R-   R#   i   i   (   R   R   RO   R   R   R   (   RE   R  R_   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_series_with_dtypež  s    !c         C   sY   t  d d d g d d d g g ƒ } t | j ƒ  d t ƒ} t | | d t d t ƒd  S(   Ng=
×£p=@R  Rl   Rm   (   R   R   RO   Rx   R   Rc   (   RE   RR   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt"   test_frame_from_json_precise_float¥  s    $c      	   C   sY   t  t d ƒ d d d d d d d g d	 d
 ƒ} t | j ƒ  d d  ƒ} t | | ƒ d  S(   Ni   R/   RH   RI   RJ   RK   R„   R  R#   R   R  (   R   R   R   RO   Ro   R   (   RE   R  R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_typ«  s    c         C   s¡   t  d d d g d d d g g ƒ } t | j ƒ  ƒ } t | | ƒ t  i d d d g d 6d d d g d 6d	 d
 d d g ƒ} t | j ƒ  ƒ } t | | ƒ d  S(   Ni   i   i   i   i   i   RH   RI   R/   R   R   R   (   R   R   RO   R   (   RE   RR   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_reconstruction_index²  s    $;c      	   C   s_   t  d ƒ M } xC |  j |  j |  j |  j |  j g D] } | j | ƒ t | ƒ q4 WWd  QXd  S(   Ns	   test.json(   R   R:   R<   R>   R@   RB   RO   R   (   RE   RÅ   RR   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt	   test_path½  s
    c         C   s{   |  j  j ƒ  } t | ƒ } t | |  j  ƒ |  j j ƒ  } t | d d ƒ} t | |  j d t ƒ| j d  k sw t	 ‚ d  S(   NR  R-   R
  (
   R@   RO   R   R   R,   R   Rc   R!   Ro   Rz   (   RE   R*   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_axis_datesÄ  s    c         C   s	  |  j  j ƒ  } t d ƒ | d <| j ƒ  } t | ƒ } t | | ƒ d | d <| j d d ƒ } t | d t ƒ} | j ƒ  } | d j j d ƒ | d <| d j	 d	 ƒ | d <t | | ƒ t
 t d ƒ d
 |  j j ƒ} | j ƒ  } t | d d ƒ} t | | ƒ d  S(   NRa   R½   g      ð?R    t	   date_unitt   nsR^   Ri   R   R/   R  R-   (   R@   R9   R	   RO   R   R   Rc   RQ   t   viewR   R   R,   R/   R   (   RE   RR   R*   R_   R«   R,   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_convert_datesÑ  s     
c         C   s½   d d l  m } d d d d d d d	 g } x‹ | D]ƒ } i d
 d 6d | 6i d d 6g } t d
 t d ƒ g d t j g g d d | g ƒ} t | | ƒ ƒ d | g } t | | ƒ q2 Wd  S(   Niÿÿÿÿ(   t   dumpst
   trade_timeR½   t   datetimet   sold_atR¾   t	   timestampt
   timestampsi   t   idI $ò`ñ   i   s
   2002-11-08R   (   t   pandas.io.jsonR  R   R	   R   RÃ   R   R   (   RE   R  t   infer_wordst
   infer_wordR+   R«   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_convert_dates_inferê  s    !$c      	      s§   |  j  j ƒ  ‰  d  ‡  f d † } | d ƒ | d d d ƒ| d d d ƒ| d d d ƒ| d	 d d
 ƒd } t j t d | ƒ ˆ  j d d d d ƒ Wd  QXd  S(   Nc            s¤   t  |  ƒ ˆ  d <t j ˆ  j d ˆ  j j d ƒ f <t j ˆ  j d ˆ  j j d ƒ f <| ru ˆ  j d d d | ƒ } n ˆ  j d d ƒ } t | ƒ } t | ˆ  ƒ d  S(   NR½   i   i   t   date_formatt   isoR  (	   R	   R   RÃ   RÁ   R   RÂ   RO   R   R   (   R½   R  R*   R_   (   RR   (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_w_dateù  s    ""s   20130101 20:43:42.123s   20130101 20:43:42R  R  t   mss   20130101 20:43:42.123456t   uss   20130101 20:43:42.123456789R  s*   Invalid value 'foo' for option 'date_unit'RW   R&  R'  R    (   R@   R9   Ro   RX   RY   RZ   RO   (   RE   R(  R[   (    (   RR   s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_date_format_frameö  s    
c      	      s¶   d  ‡  f d † } | d ƒ | d d d ƒ| d d d ƒ| d d d ƒ| d	 d d
 ƒt t d ƒ d ˆ  j j ƒ} d } t j t d | ƒ | j d d d d ƒ Wd  QXd  S(   Nc            s”   t  t |  ƒ d ˆ  j j ƒ} t j | j d <t j | j d <| r_ | j d d d | ƒ } n | j d d ƒ } t | d d ƒ} t	 | | ƒ d  S(	   NR/   i   i   R&  R'  R  R  R-   (
   R   R	   R,   R/   R   RÃ   RÁ   RO   R   R   (   R½   R  R,   R*   R_   (   RE   (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyR(    s    s   20130101 20:43:42.123s   20130101 20:43:42R  R  R)  s   20130101 20:43:42.123456R*  s   20130101 20:43:42.123456789R  R/   s*   Invalid value 'foo' for option 'date_unit'RW   R&  R'  R    (	   Ro   R   R	   R,   R/   RX   RY   RZ   RO   (   RE   R(  R,   R[   (    (   RE   s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_date_format_series  s    
c         C   sä   |  j  j ƒ  } t d ƒ | d <| j j d ƒ } t d ƒ | j d | f <t d ƒ | j d | f <t j | j d | f <xd d D]\ } | j d d d | ƒ } t	 | d | ƒ} t
 | | ƒ t	 | d d  ƒ} t
 | | ƒ q€ Wd  S(   Ns   20130101 20:43:42R½   s   19710101 20:43:42i   s   21460101 20:43:42i   i   R  R)  R*  R  R&  t   epochR  (   R  R)  R*  R  (   R@   R9   R	   R   RÂ   RÁ   R   RÃ   RO   R   R   Ro   (   RE   RR   t   dlt   unitR*   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_date_unit%  s    c         C   s   d } t  | ƒ d  S(   Nsd  {
        "status": "success",
        "data": {
        "posts": [
            {
            "id": 1,
            "title": "A blog post",
            "body": "Some useful content"
            },
            {
            "id": 2,
            "title": "Another blog post",
            "body": "More content"
            }
           ]
          }
        }(   R   (   RE   R  (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_weird_nested_json8  s    c         C   s¬   t  t j j d d ƒ d t d ƒ ƒ} t d ƒ | d <t d ƒ | d <t | d <t j	 d d	 d ƒ| _
 | j ƒ  } t | d
 i t j d 6t j d 6ƒ} t | | ƒ d  S(   Ni   i   R   t   ABRa   R½   t   intst   boolsRÎ   R#   (   R   R   t   randomt   randnRµ   R	   R   Rx   R   RÀ   R/   RO   R   R   t   bool_R   (   RE   t   dfj2R*   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_doc_exampleN  s    '
&c      	   C   s¸   t  d d t ƒ} t d d g d d g g d d d g ƒ} d } t j t d	 | ƒ t | | d
 t ƒWd  QXt  d ƒ } t d d g d d g g d d d g ƒ} t | | ƒ d  S(   Ns#   [{"a": 1, "b": 2}, {"b":2, "a" :1}]Rg   i   i   R   RH   RI   s¸   DataFrame\.index are different

DataFrame\.index values are different \(100\.0 %\)
\[left\]:  Index\(\[u?'a', u?'b'\], dtype='object'\)
\[right\]: RangeIndex\(start=0, stop=2, step=1\)RW   Rl   (   R   Rx   R   RX   RY   Rz   R   Rc   (   RE   R_   R«   t	   error_msg(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_misc_exampleY  s    **c         C   sY   d } t  j | ƒ } | j ƒ  } t  j | ƒ } t | j d | j d | j ƒ | ƒ d  S(   Ns<   https://raw.github.com/hayd/lahman2012/master/csvs/Teams.csvR/   R   (   R   t   read_csvRO   R   R   t   reindexR/   R   (   RE   t   csvRR   R  R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_round_trip_exception_k  s    c         C   sO   d } t  | d t ƒ} x0 d d d g D] } | | j d k s( t ‚ q( Wd  S(   Ns@   https://api.github.com/repos/pandas-dev/pandas/issues?per_page=5R^   t
   created_att	   closed_att
   updated_ats   datetime64[ns](   R   Rx   R#   Rz   (   RE   t   urlR_   RJ   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_urlv  s    c         C   sú  d „  } t  t d ƒ t d d ƒ g ƒ } | j d k s? t ‚ t j | j ƒ  d d ƒj | ƒ } t | | ƒ t  t d ƒ t d d ƒ g d t j	 d	 d
 g ƒ ƒ} | j d k s» t ‚ t j | j ƒ  d d ƒj | ƒ } t | | ƒ t
 t d ƒ t d d ƒ g ƒ } | d	 j d k s&t ‚ t | t j | j ƒ  ƒ j | ƒ ƒ t
 i t d d ƒ t d d ƒ g d 6d
 d g d 6t j d d d d ƒ d 6ƒ } t j | j d d ƒ ƒ } t j | j d d ƒ| d <t j | j ƒ | d <t | | ƒ d  S(   Nc         S   s   t  j |  d d ƒS(   NR/  R)  (   R   t   to_timedelta(   RU   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   <lambda>  s    i   t   secondsi   s   timedelta64[ns]R  R-   R/   i    i   t   daysRH   i   RI   t   startRa   RÎ   RJ   R  R  R/  (   R   R    R#   Rz   R   R   RO   t   applyR   RŽ   R   R   RÀ   RE  RH   t   to_datetimeRJ   (   RE   t	   converterR  R_   R:   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_timedelta~  s*    	!$$!
%c         C   s¬   t  i t d ƒ t j d ƒ g d 6d t ƒ} t  i t j | j d ƒ j t j | j d ƒ j g d 6ƒ } t j | j	 d d ƒ d i d	 d 6ƒ} t
 | | d
 t ƒd  S(   Ni   Ra   RH   R#   i    i   R  R  R   Rl   (   R   R    R   R	   R   t	   TimedeltaRH   t   valueR   RO   R   Rc   (   RE   R:   R«   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_mixed_timedelta_datetime›  s    %	#c         C   ss   t  ƒ  } t i d | g d 6ƒ } t i d t | ƒ g d 6ƒ } t j | j d t ƒ ƒ } t | | d t ƒd  S(   Ni   RH   Rÿ   Rl   (   R   R   R{   R   R   RO   R   Rc   (   RE   RO  R:   R«   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_default_handler¥  s
    	c         C   s”   d d l  m } d „  } d t i d d t d d ƒ g d	 6t d
 ƒ d  d g d 6d d	 d g ƒg } d } | | d | d d ƒ| k s t ‚ d  S(   Niÿÿÿÿ(   R  c         S   s8   t  |  t ƒ r. d d |  j f d |  j f g St |  ƒ S(   Nt   mathjst   Complext   ret   im(   RR  RS  (   Ru   t   complext   realt   imagR{   (   t   obj(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   default¯  s
    i	   i   t   STRi   iûÿÿÿRH   t   nans   N/ARI   R   sR   [9,[[1,null],["STR",null],[[["mathjs","Complex"],["re",4.0],["im",-5.0]],"N\/A"]]]Rÿ   RL   RQ   (   R"  R  R   RV  t   floatRo   Rz   (   RE   R  RZ  t   df_listR«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_default_handler_indirect¬  s    	"c         C   s~   t  i d d t d d ƒ g d 6t d ƒ d  t d d ƒ g d	 6d
 d d	 g ƒ} d } | j d t d d ƒ | k sz t ‚ d  S(   Ni   gffffff@i   iûÿÿÿRH   R\  g333333ó?i    RI   R   sE   [["(1+0j)","(nan+0j)"],["(2.3+0j)","(nan+0j)"],["(4-5j)","(1.2+0j)"]]Rÿ   RL   RQ   (   R   RV  R]  Ro   RO   R{   Rz   (   RE   RR   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt,   test_default_handler_numpy_unsupported_dtype½  s
    "c            s©   d ‰  ‡  f d †  } t  j t d ˆ  ƒ. t i d d t ƒ  g d 6ƒ j d | ƒ Wd  QXt  j t d ˆ  ƒ4 t i d d t d d	 ƒ g d 6ƒ j d | ƒ Wd  QXd  S(
   Nt   raisinc            s   t  ˆ  ƒ ‚ d  S(   N(   t	   TypeError(   RY  (   R[   (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   my_handler_raisesÊ  s    RW   i   i   RH   Rÿ   i   iûÿÿÿ(   RX   RY   Rb  R   R   RO   RV  (   RE   Rc  (    (   R[   s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_default_handler_raisesÇ  s    "(c      	   C   s§   t  i d d d d d d d g d 6ƒ } | d | d <| j ƒ  } | d j d ƒ | d <| | j ƒ  k sq t ‚ | d } | d } | j ƒ  | j ƒ  k s£ t ‚ d  S(   NRH   RI   RJ   R   R   t   category(   R   RO   R   Rz   (   RE   RR   R«   R  t   sc(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_categoricalÓ  s    (

c         C   sÐ   t  j d d d d d ƒ} | j d ƒ j d  ƒ } t i | d 6t  j d d d ƒd 6ƒ } | j ƒ  } | | d <| j ƒ  } | | j ƒ  k s– t ‚ t	 | ƒ } t	 | ƒ } | j ƒ  | j ƒ  k sÌ t ‚ d  S(	   NRa   RÎ   i   t   tzs
   US/Easternt   utcR   R   (
   R   RÀ   t
   tz_convertt   tz_localizeRo   R   R9   RO   Rz   R   (   RE   t   tz_ranget   tz_naiveRR   t   df_naiveR«   t   stzt   s_naive(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_datetime_tzà  s    
c         C   s½   t  j t j j d d ƒ ƒ } t j | j d *| j ƒ  } | j ƒ  } | | j ƒ  k s^ t	 ‚ t  j
 t j j d ƒ ƒ } t j | j d *| j ƒ  } | j ƒ  } | | j ƒ  k s¹ t	 ‚ d  S(   Ni
   i   i   (   R   R   R   R5  R6  R\  R›   t	   to_sparseRO   Rz   R   (   RE   RR   t   sdfR«   R  t   ss(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_sparseò  s    c         C   s  d d l  m } d } t d ƒ } | | d t ƒ| k s@ t ‚ | j ƒ  } | | d t ƒ| k sj t ‚ t d d d ƒ} | | d t ƒ| k sš t ‚ | j ƒ  } | | d t ƒ| k sÄ t ‚ t d	 ƒ } | | d t ƒ| k sî t ‚ | j ƒ  } | | d t ƒ| k st ‚ d  S(
   Niÿÿÿÿ(   R  s   "2013-01-10T05:00:00.000Z"s   2013-01-10 05:00:00Zt	   iso_datess   2013-01-10 00:00:00Rh  s
   US/Easterns   2013-01-10 00:00:00-0500(   R"  R  R	   Rx   Rz   t   to_pydatetime(   RE   R  t   expR,   t   dt(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_tz_is_utc  s    c         C   sß  d d l  m } d } d } t j d d d ƒ} | | d t ƒ| k sO t ‚ t j | ƒ } | | d t ƒ| k s| t ‚ t i | d	 6ƒ } | | d t ƒ} | | k s³ t ‚ t j d
 d d d d ƒ} | | d t ƒ| k sì t ‚ t j | ƒ } | | d t ƒ| k st ‚ t i | d	 6ƒ } | | d t ƒ| k sJt ‚ t j d d d ƒ} | | d t ƒ| k s}t ‚ t j | ƒ } | | d t ƒ| k sªt ‚ t i | d	 6ƒ } | | d t ƒ| k sÛt ‚ d  S(   Niÿÿÿÿ(   R  s7   ["2013-01-01T05:00:00.000Z","2013-01-02T05:00:00.000Z"]sF   {"DT":{"0":"2013-01-01T05:00:00.000Z","1":"2013-01-02T05:00:00.000Z"}}s   2013-01-01 05:00:00ZRÎ   i   Rv  t   DTs   2013-01-01 00:00:00Rh  s
   US/Easterns   2013-01-01 00:00:00-0500(   R"  R  R   RÀ   Rx   Rz   R   R   (   RE   R  Rx  t   dfexpRl  t   dtiRR   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_tz_range_is_utc  s.    	c         C   sM   t  d d t ƒ} t d d g d d g g d d d g ƒ} t | | ƒ d  S(   Ns!   {"a": 1, "b": 2}
{"b":2, "a" :1}
t   linesi   i   R   RH   RI   (   R   Rx   R   R   (   RE   R_   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_read_inline_jsonl4  s    *c         C   sM   t  d d t ƒ} t d d g d d g g d d d g ƒ} t | | ƒ d  S(   Ns   s3n://pandas-test/items.jsonlR  i   i   R   RH   RI   (   R   Rx   R   R   (   RE   t   s3_resourceR_   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_read_s3_jsonl:  s    *c      
   C   s‡   t  d ƒ u } t | d ƒ  } | j d ƒ Wd  QXt | d t ƒ} t d d g d d g g d d d	 g ƒ} t | | ƒ Wd  QXd  S(
   Ns   tmp_items.jsont   ws!   {"a": 1, "b": 2}
{"b":2, "a" :1}
R  i   i   R   RH   RI   (   R   t   opent   writeR   Rx   R   R   (   RE   RÅ   t   infileR_   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_read_local_jsonlB  s    *c         C   s®   d } t  | ƒ } t | d t ƒ} t d d g d d g g d d d g ƒ} t | | ƒ d } t | d t ƒ} t d d g d d g g d d d g ƒ} t | | ƒ d  S(	   Ns5   {"a": "fooâ€", "b": "bar"}
{"a": "foo", "b": "bar"}
R  u   fooâ€R   R    R   RH   RI   (   R   R   Rx   R   R   (   RE   R*   R_   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_read_jsonl_unicode_charsK  s    c         C   s“   d } t  | ƒ } t | d d ƒ} t d d d g ƒ} t | | ƒ d } t  | ƒ } t | ƒ } t d d d g d d	 g ƒ} t | | ƒ d  S(
   Ns'   {"articleId": "1404366058080022500245"}R  R-   gg“_SDR/   t	   articleIds.   {"0": {"articleId": "1404366058080022500245"}}R   i    (   R   R   R   R   R   R   (   RE   R*   R_   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_read_json_large_numbers^  s    c         C   sJ  t  d d g d d g g d d d g ƒ} | j d d d t ƒ } d	 } | | k sZ t ‚ t  d
 d g d d g g d d d g ƒ} | j d d d t ƒ } d } | | k s´ t ‚ t t j | d t ƒ| ƒ t  d d g d d g g d d d g ƒ} | j d d d t ƒ } d } | | k s*t ‚ t t j | d t ƒ| ƒ d  S(   Ni   i   R   RH   RI   RL   RN   R  s   {"a":1,"b":2}
{"a":1,"b":2}s   foo}R   s   foo"s.   {"a":"foo}","b":"bar"}
{"a":"foo\"","b":"bar"}s   foo\s   a\s3   {"a\\":"foo\\","b":"bar"}
{"a\\":"foo\"","b":"bar"}(   R   RO   Rx   Rz   R   R   R   (   RE   RR   R_   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_to_jsonll  s    **c   
      C   sx  t  j r t j d ƒ n  t j d ƒ d d d d d g d d d d g d d d d d g d d	 d d d g d d d d g d	 d d d g d
 d d d d g t j d d d g d
 t j d d d g g	 } d d „ } g  | D]% } g  | D] } | | ƒ ^ qè ^ qÛ } g  } x> d t g D]0 } x' | D] } | j t | d | ƒƒ q&WqWd d „ } x | D] }	 | |	 ƒ q`Wd  S(   Ns.   [unicode] is not implemented as a table columns3   encoding not implemented in .to_json(), xref #13774s   EÉ, 17t    RH   RI   RJ   s   EE, 17s   øüs   Aøüs   latin-1c         S   s*   y |  j  | ƒ SWn t k
 r% |  SXd  S(   N(   Rö   t   AttributeError(   RU   t   encoding(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   _try_decode”  s    Re  R#   c      	   S   sQ   t  d ƒ ? } |  j | d | ƒt | d | ƒ} t |  | d t ƒWd  QXd  S(   Ns	   test.jsonRŽ  t   check_categorical(   R   RO   R   R   Rc   (   R  RŽ  RÅ   t   retr(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt	   roundtrip¢  s    (	   R
   Rõ   RX   t   skipR   R\  R   t   appendR   (
   RE   RQ   R  RV   RU   t   examplesR#   t   valR’  R  (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_latin_encoding‚  s*    	2!c         C   sx   t  i t d ƒ g d 6ƒ } | j d t d t ƒ j ƒ  } | j ƒ  | j d t d t ƒ j ƒ  } | | k st t ‚ d  S(   Ni   RH   R/   t   deep(   R   R{   t   memory_usageRx   t   sumRO   Rz   (   RE   RR   t   size_beforet
   size_after(    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt"   test_data_frame_size_after_to_json«  s
    
s   data, expectedi   i   i   i   R   RH   RI   R+   R    R/   RJ   RK   i   R!   R   c         C   s=   | j  d d d t ƒ } t j | ƒ } | | k s9 t ‚ d  S(   NRL   RM   R/   (   RO   Rc   R*   t   loadsRz   (   RE   R+   R«   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_index_false_to_json_splitµ  s    c         C   sx   | j  d d d t ƒ } t j | ƒ } i t j j j | d t ƒd 6t | ƒ j d d ƒ d 6} | | k st t	 ‚ d  S(   NRL   t   tableR/   t   schemaRN   R+   (
   RO   Rc   R*   Rž  R   R)   t   build_table_schemaR   t   to_dictRz   (   RE   R+   R_   R«   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_index_false_to_json_tableÍ  s    RL   RN   RQ   c      	   C   si   t  j d d g d d g g d d d g ƒ} d } t j t d	 | ƒ | j d
 | d t ƒ Wd  QXd  S(   Ni   i   i   i   R   RH   RI   s?   'index=False' is only valid when 'orient' is 'split' or 'table'RW   RL   R/   (   R   R   RX   RY   RZ   RO   Rc   (   RE   RL   RR   R[   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   test_index_false_error_to_jsonä  s    -RM   R   c         C   sa   t  i d d g d 6d d g d 6ƒ } | j d | d | ƒ } t | d | ƒ} t | | ƒ d  S(	   Ni   i   RH   i   i   RI   RL   R/   (   R   RO   R   R   (   RE   RL   R/   R«   R~   R_   (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt"   test_index_false_from_json_to_jsonò  s    &(L   Rü   Rý   RX   t   fixtureRx   RG   RT   R]   Re   R‘   R’   R   t   markt   skipifR   R£   R¥   R¬   R­   R¼   RÌ   Rñ   R  R  R	  R  R  R  R  R  R  R  R  R  R  R%  R+  R,  R0  R1  R9  R;  R   t   singleR?  RD  RM  RP  RQ  R_  R`  Rd  Rg  Rq  Ru  Rz  R~  R€  t   tdt   skip_if_not_us_localeR‚  R‡  Rˆ  RŠ  R‹  R—  R  t   parametrizeR   t   rename_axisR   RŸ  R¤  R¥  Rc   R¦  (    (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyR%   )   s¨   !*			%	¹		$		
					)			>																
		
			
													)	
',0,',!-,'0'!?(7   R  R    R*   RÄ   Rg   R   RX   t   pandas.compatR   R   R   R   R   t   pandas.util._test_decoratorst   utilt   _test_decoratorsR«  t   pandasR   R   R   R   R	   R
   R   t   pandas.util.testingt   testingR1   R   R   R   R   R   R   t   getSeriesDatat   _seriesdt   getTimeSeriesDatat   _tsdR8   R;   t	   iteritemsR=   R?   R9   RC   R·   t   catt   CategoricalIndexR/   Rµ   t   reversedR¶   RA   R   R%   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/io/json/test_pandas.pyt   <module>   s0   (..	8