ó
šxŠ\c           @   ss  d  d l  m Z d  d l Z d  d l Z d  d l Z d  d l Z d  d l j Z d  d l m	 Z	 m
 Z
 m Z m Z d  d l Z d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z d  d l m Z d  d l m Z d  d l j j Z d  d l m  Z  m! Z! d  d l" j# j$ j% Z% d d	 l& m' Z' d
 e( f d „  ƒ  YZ) d e' e) f d „  ƒ  YZ* d e( f d „  ƒ  YZ+ d S(   iÿÿÿÿ(   t   OrderedDictN(   t   isidentifiert   lzipt   ranget   string_types(	   t   Categoricalt	   DataFramet   DatetimeIndext   Indext   Seriest   TimedeltaIndext
   date_ranget   period_ranget   timedelta_range(   t   PeriodArray(   t	   Timestamp(   t   assert_series_equalt   ensure_cleani   (   t   TestDatat   SharedWithSparsec           B   sÂ   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 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s´   
    A collection of tests Series and SparseSeries can share.

    In generic tests on this class, use ``self._assert_series_equal()``
    which is implemented in sub-classes.
    c         C   s
   t  ‚ d S(   s,   Dispatch to series class dependent assertionN(   t   NotImplementedError(   t   selft   leftt   right(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   _assert_series_equal"   s    c         C   s,   |  j  d } | j |  j  j k s( t ‚ d  S(   Ni   (   t   tst   namet   AssertionError(   R   t   result(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_scalarop_preserve_name&   s    c         C   s.   |  j  j ƒ  } | j |  j  j k s* t ‚ d  S(   N(   R   t   copyR   R   (   R   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_copy_name*   s    c         C   s’   d  |  j j _ |  j j j d  k s* t ‚ |  j |  j k sB t ‚ |  j j ƒ  } d | j _ t j |  j j j ƒ |  j j j d  k sŽ t ‚ d  S(   Nt   foo(   t   NoneR   t   indexR   R   R   t   printingt   pprint_thing(   R   t   cp(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_copy_index_name_checking.   s    c         C   s<   |  j  d  j |  j  d ƒ } | j |  j  j k s8 t ‚ d  S(   Ni   (   R   t   appendR   R   (   R   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_append_preserve_name;   s    c         C   sÀ  |  j  |  j  } | j |  j  j k s+ t ‚ |  j  j |  j  ƒ } | j |  j  j k s[ t ‚ |  j  |  j  d  } | j |  j  j k sŠ t ‚ |  j  j ƒ  } d | _ |  j  | } | j d  k sÄ t ‚ |  j  j | ƒ } | j d  k së t ‚ d d d d d d d	 d
 g } | g  | D] } d | ^ q} x | D]‡ } |  j  j ƒ  } t | | ƒ | ƒ } | j |  j  j k svt ‚ |  j  j ƒ  } d | _ t | | ƒ | ƒ } | j d  k s1t ‚ q1Wd  S(   Niþÿÿÿs   something elset   addt   subt   mult   divt   truedivt   floordivt   modt   powt   rt   changed(   R   R   R   R+   R   R!   R)   t   getattr(   R   R   R%   t   opst   opt   s(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_binop_maybe_preserve_name?   s,    	!	c         C   s8   |  j  j |  j  d  ƒ } | j |  j  j k s4 t ‚ d  S(   Ni   (   R   t   combine_firstR   R   (   R   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_combine_first_name_   s    c         C   s‘   |  j  |  j  d k } | j |  j  j k s1 t ‚ |  j  d d d g } | j |  j  j k sb t ‚ |  j  d d !} | j |  j  j k s t ‚ d  S(   Ni    i   i   i   i
   (   R   R   R   (   R   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_getitem_preserve_namec   s    c         C   sH   |  j  |  j ƒ } |  j  |  j ƒ } t | |  j ƒ t | |  j ƒ d  S(   N(   t   _pickle_roundtript   seriesR   R   (   R   t
   unp_seriest   unp_ts(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_picklem   s    c         C   s6   t  ƒ  ' } | j | ƒ t j | ƒ } | SWd  QXd  S(   N(   R   t	   to_picklet   pdt   read_pickle(   R   t   objt   patht	   unpickled(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR;   s   s    c         C   s.   |  j  j ƒ  } | j |  j  j k s* t ‚ d  S(   N(   R   t   argsortR   R   (   R   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_argsort_preserve_namez   s    c         C   s4   |  j  j d t ƒ } | j |  j  j k s0 t ‚ d  S(   Nt	   ascending(   R   t
   sort_indext   FalseR   R   (   R   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_sort_index_name~   s    c         C   s.   |  j  j ƒ  } | j |  j  j k s* t ‚ d  S(   N(   R   t	   to_sparseR   R   (   R   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_to_sparse_pass_name‚   s    c         C   sÀ   i d d 6d d 6d d 6} |  j  | ƒ } |  j  | d t | j ƒ  ƒ ƒ} |  j | | ƒ |  j  | d d d d d g ƒ} |  j  d	 d
 t j d g d d d d d g ƒ} |  j | | ƒ d  S(   Ng        t   ag      ð?t   bg       @t   cR"   t   di   i   i    (   t   series_klasst   sortedt   keysR   t   npt   nan(   R   RQ   R   t   expected(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_constructor_dict†   s    !!c         C   s`   t  j d „  t d ƒ Dƒ ƒ } |  j | ƒ } |  j t t j | ƒ ƒ ƒ } |  j | | ƒ d  S(   Nc         s   s   |  ] } | d  | f Vq d S(   g      $@N(    (   t   .0t   x(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pys	   <genexpr>’   s    i
   (   t   tmt   TestSubDictR   RR   t   dictt   compatt	   iteritemsR   (   R   t   dataR<   RW   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_constructor_subclass_dict‘   s    c         C   s¤   t  d „  t d ƒ Dƒ ƒ } |  j | ƒ } |  j t | j ƒ  ƒ t | j ƒ  ƒ ƒ } |  j | | ƒ d t  f d „  ƒ  Y} |  j | | ƒ ƒ } |  j | | ƒ d  S(   Nc         s   s(   |  ] } d  | t  j j ƒ  f Vq d S(   s   col%sN(   RU   t   random(   RY   t   i(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pys	   <genexpr>š   s    i   t   Ac           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyRd   ¡   s   (   R    R   RR   t   listt   valuesRT   R   (   R   R`   R<   RW   Rd   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_constructor_ordereddict—   s    *c         C   sI  i d d 6d d 6d d 6} t  | j ƒ  ƒ } |  j | ƒ } |  j g  | D] } | d ^ qI d t j j g  | D] } | d	 ^ qo ƒ ƒ} |  j | | ƒ d
 | d <| j d	 d | d f ƒ |  j | ƒ } |  j g  | D] } | d ^ qÛ d t j g  | D] } | d	 ^ qþ d t	 ƒƒ} | j
 d | j ƒ } |  j | | ƒ d  S(   Ng        RN   g      ð?RO   g       @RP   i   R"   i    g     À[@t   zt   tupleize_cols(   RN   RN   (   RO   RN   (   RO   RP   (   RS   t   itemsRR   RA   t
   MultiIndext   from_tuplesR   t   insertR   RJ   t   reindexR"   (   R   RQ   t   _dR   RZ   RW   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt    test_constructor_dict_multiindex§   s    ,
##c         C   s¿   |  j  d d d d g d t j d d d g d	 d
 ƒƒ } |  j  d i d t j d d	 d
 ƒ6d t j d d	 d
 ƒ6d t j d d	 d
 ƒ6d t j d d d g d	 d
 ƒƒ } |  j | | ƒ d  S(   NR`   Rd   t   Bt   CR"   i    i
   i   t   unitR6   (   RR   RA   t   to_timedeltaR   (   R   RW   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt%   test_constructor_dict_timedelta_index¹   s    	!	!c         C   s3   t  j t ƒ  |  j j d d d g ƒ Wd  QXd  S(   Ni   i   i   (   R[   t   assert_produces_warningt   FutureWarningRR   t
   from_array(   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_from_array_deprecatedÊ   s    c         C   sV   t  j d d d d g d d ƒ} | j d d g d t ƒ| j j d k sR t ‚ d  S(	   Ni   i   i   t   dtypes   Sparse[int]i    t   inplaceg      ð?(   RA   R	   t   dropt   Truet   sparset   densityR   (   R   R6   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt'   test_sparse_accessor_updates_on_inplaceÏ   s    !(   Re   Rf   t   __doc__R   R   R   R&   R(   R7   R9   R:   R?   R;   RG   RK   RM   RX   Ra   Ri   Rr   Rw   R{   R‚   (    (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR      s*   						 		
											t   TestSeriesMiscc           B   só  e  Z e Z e e j ƒ Z d  „  Z d „  Z	 e
 j j d e j d ƒ e j d ƒ e j d ƒ e d d d g d ƒ e j d ƒ e j d ƒ e j d ƒ e j d ƒ e j d ƒ e j d ƒ e j d ƒ e e e g ƒ e g  e d ƒ D] Z d	 j e ƒ ^ qæ ƒ e j j e d
 d ƒ ƒ e j j e d d d d g d ƒ ƒ g ƒ 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 „  Z0 d  „  Z1 d! „  Z2 RS("   c         C   s‡  t  t d ƒ ƒ } d t | ƒ k s* t ‚ d t | ƒ k sB t ‚ d t | ƒ k sZ t ‚ t  t d d d ƒƒ } d t | ƒ k sŠ t ‚ d t | ƒ k s¢ t ‚ d t | ƒ k sº t ‚ t  t d ƒ d	 d
 ƒ} d t | ƒ k sê t ‚ d t | ƒ k st ‚ d t | ƒ k st ‚ t  t d d d ƒƒ j d
 ƒ } d t | ƒ k sSt ‚ d t | ƒ k skt ‚ d t | ƒ k sƒt ‚ d  S(   Nt   abcdt   strt   dtt   cats   1/1/2015t   periodsi   t   abbcdR|   t   category(   R	   Rg   t   dirR   R   t   astype(   R   R6   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_tab_completionÛ   s     !c         C   s†   d d d d d d d d d	 d
 d d d d g } d „  } t  t d ƒ ƒ j d ƒ } | | ƒ } t j | t t t | ƒ ƒ ƒ ƒ d  S(   NR   R"   t   categoricalt
   categoriest   codest   orderedt   set_categoriest   add_categoriest   remove_categoriest   rename_categoriest   reorder_categoriest   remove_unused_categoriest
   as_orderedt   as_unorderedc         S   sG   g  |  j  j ƒ  D] } | j d ƒ s | ^ q } t t t | ƒ ƒ ƒ S(   Nt   _(   Rˆ   t   __dir__t
   startswithRg   RS   t   set(   R6   R1   t   results(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   get_dirþ   s    1t   aabbcdeR‹   (   R	   Rg   R   R[   t   assert_almost_equalRS   Rž   (   R   t
   ok_for_catR    R6   RŸ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt$   test_tab_completion_with_categoricalö   s    		R"   i
   R    t   bart   bazi   ie   s   a{}t   ABCDt   EFGHi    i   i   c         C   sž   t  j d | ƒ } t | ƒ } xy t | j j d d ƒ ƒ D]\ \ } } | d k  r„ t | t ƒ s– t | ƒ s– | | k s– t	 ‚ q: | | k s: t	 ‚ q: Wd  S(   NR"   t   leveli    id   (
   RA   R	   RŒ   t	   enumerateR"   t   uniquet
   isinstanceR   R   R   (   R   R"   R6   t   dir_sRc   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_index_tab_completion  s    ("c         C   sn   t  ƒ  } t  d g ƒ } d } t j t d | ƒ t | ƒ Wd  QXt j t d | ƒ t | ƒ Wd  QXd  S(   Ni   s8   'Series' objects are mutable, thus they cannot be hashedt   match(   R	   t   pytestt   raisest	   TypeErrort   hash(   R   t   s_emptyR6   t   msg(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_not_hashable!  s    	c         C   s   t  j |  j j |  j ƒ d  S(   N(   R[   t   assert_contains_allR   R"   (   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_contains*  s    c         C   sv   x6 t  |  j ƒ D]% \ } } | |  j | k s t ‚ q Wx6 t  |  j ƒ D]% \ } } | |  j | k sI t ‚ qI Wd  S(   N(   Rª   R<   R   R   (   R   Rc   t   val(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt	   test_iter-  s    c         C   s+   |  j  j } | ƒ  |  j  j k s' t ‚ d  S(   N(   R   RT   R"   R   (   R   t   getkeys(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt	   test_keys4  s    c         C   s#   t  j |  j j |  j d t ƒd  S(   Nt   check_dtype(   R[   R¢   R   Rh   RJ   (   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_values:  s    c         C   s›   x9 t  j |  j ƒ D]% \ } } | |  j | k s t ‚ q Wx9 t  j |  j ƒ D]% \ } } | |  j | k sO t ‚ qO Wt |  j j ƒ  d ƒ s— t ‚ d  S(   Nt   reverse(   R^   R_   R<   R   R   t   hasattr(   R   t   idxR¹   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_iteritems=  s
    c         C   s•   x6 |  j  j ƒ  D]% \ } } | |  j  | k s t ‚ q Wx6 |  j j ƒ  D]% \ } } | |  j | k sI t ‚ qI Wt |  j  j ƒ  d ƒ s‘ t ‚ d  S(   NR¿   (   R<   Rl   R   R   RÀ   (   R   RÁ   R¹   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt
   test_itemsG  s
    c         C   sH   t  t j j d ƒ ƒ } d } t j t d | ƒ | j ƒ  Wd  QXd  S(   Ni
   s'   'Series' object has no attribute 'info'R¯   (   R	   RU   Rb   t   randnR°   R±   t   AttributeErrort   info(   R   R6   Rµ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_raise_on_infoQ  s    c         C   sü  xõ d  t t g D]ä } t t j d ƒ d d ƒ} | d  k rL | j ƒ  } n | j d | ƒ } t j | d  d  d … <| d  k sŒ | t k rÂ t j | d ƒ s¥ t	 ‚ t j | d ƒ sô t	 ‚ q t j | d ƒ sÛ t	 ‚ t j | d ƒ s t	 ‚ q Wt t
 d d d	 ƒg ƒ } t t
 d
 d d	 ƒg ƒ } xÇ d  t t g D]¶ } t t
 d d d	 ƒg ƒ } | d  k rz| j ƒ  } n | j d | ƒ } t j
 d
 d d	 ƒ| d <| d  k s½| t k rÚt | | ƒ t | | ƒ q>t | | ƒ t | | ƒ q>Wd  S(   Ni
   R|   t   float64t   deepi   i    s
   2012/01/01t   tzt   UTCs
   1999/01/01(   R!   RJ   R   R	   RU   t   arangeR   t   NaNt   isnanR   R   RA   R   (   R   RÉ   R6   t   s2RW   t	   expected2(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt	   test_copyW  s0    c         C   s˜   t  d d t j g ƒ } t | j d d ƒ | j d d ƒ ƒ | j ƒ  j d ƒ d k s^ t ‚ | j d ƒ d k sy t ‚ | j d ƒ d k s” t ‚ d  S(   Ni   i   t   axist   rowsR"   i   i    (	   R	   RU   RV   R   t   dropnat   sumR   t   _get_axis_numbert   _get_axis_name(   R   R6   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_axis_alias‡  s
    %!c         C   s   t  j t j ƒ s t ‚ d  S(   N(   t   pydoct   getdocR	   R"   R   (   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_class_axisŽ  s    c         C   s   t  j |  j ƒ d  S(   N(   RU   R«   R   (   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_numpy_unique“  s    c         C   s  t  t j j d d ƒ d d d d g d t d d	 d ƒƒ} d
 „  } | j | ƒ } | j ƒ  } t j | | ƒ t	 d g ƒ } | j
 ƒ  } | d k s t ‚ | j
 ƒ  | j d k s¼ t ‚ t	 t j j d ƒ ƒ } t	 t j | ƒ ƒ } t	 d d t d ƒ d d ƒ} t j | | ƒ t	 t j j d ƒ ƒ } t j | j d d ƒ | j j d d ƒ ƒ t	 d d d g d t d ƒ ƒ} t j t d t ƒ t j | d k | ƒ } Wd  QXt j | t	 d g d d g ƒƒ t j t d t ƒ t j | d k  | ƒ } Wd  QXt	 g  d d d t g  d d ƒƒ} t j | | ƒ t	 d d d g d d d d g ƒ} t j t d t ƒ t j | d k | ƒ } Wd  QXt j | t	 d g d d g ƒƒ t j t d t ƒ t j | d k  | ƒ } Wd  QXt	 g  d d d t g  d d ƒƒ} t j | | ƒ d  S(   Niè  i   t   columnsRd   Rs   Rt   R"   s   1/1/2000R‰   c         S   s   |  |  j  ƒ  S(   N(   t   idxmax(   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   f  s    i   i    i
   R|   RÈ   t   ordert   Fg      ð?iÿÿÿÿt   abct   check_stacklevelRO   t   objectgš™™™™™¹?gš™™™™™É?g333333Ó?(   R   RU   Rb   RÄ   R   t   applyt   maxR[   R   R	   t   itemR   t   iloct	   ones_likeR   R¢   t   ravelRh   Rg   Rx   Ry   RJ   t   compressR   (   R   t   tsdfRß   R   RW   R6   t   exp(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_ndarray_compat—  s@    '	+!"$$"$c         C   sP   t  j t d ƒ ƒ } | j d g d t ƒt | j j ƒ  ƒ d k sL t ‚ d  S(   NRâ   i    R}   i   (	   RA   R	   Rg   R~   R   t   lenR†   t   lowerR   (   R   R6   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt$   test_str_accessor_updates_on_inplaceÌ  s    c         C   sÍ   d d d g } t  d d d d g ƒ } xa | D]Y } t  g  | j D] } t t | ƒ | ƒ ^ qA ƒ } t t t  j | ƒ | j ƒ | ƒ q. Wt  t d ƒ ƒ } t j t d	 d
 ƒ | j j	 d ƒ Wd  QXd  S(   Nt   stript   rstript   lstrips    jacks   jill s    jesse t   franki   R¯   s   only use .str accessori   (
   R	   Rh   R3   R†   R   R   R°   R±   RÅ   t   repeat(   R   t   methodsR6   t   methodRZ   RW   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_str_attributeÑ  s    1&c         C   sa   t  j ƒ  } | j s t ‚ x? t  j d g ƒ t  j d d g ƒ g D] } | j sC t ‚ qC Wd  S(   Ni   R"   (   RA   R	   t   emptyR   (   R   R´   t   full_series(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_empty_methodÞ  s    .c         C   s|   t  j d d d ƒd d l m } d } | j | ƒ t j d  ƒ 1 | d ƒ  t | j	 j
 d d	 ƒ ƒ Wd  QXWd  QXd  S(
   Nt   IPythont
   minversions   6.0.0iÿÿÿÿ(   t   provisionalcompleters$   import pandas as pd; s = pd.Series()t   ignores   s.i   (   R°   t   importorskipt   IPython.core.completerRÿ   t   run_codeR[   Rx   R!   Rg   t	   Completert   completions(   R   t   ipRÿ   t   code(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_tab_complete_warningå  s    c         C   sX   t  t d ƒ ƒ } | j d k s' t ‚ t  t d ƒ d d ƒ} | j d k sT t ‚ d  S(   Ni	   R|   t   Int64(   R	   R   t   sizeR   (   R   R6   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_integer_series_sizeð  s    (3   Re   Rf   R	   RR   t   staticmethodR[   R   R   RŽ   R¤   R°   t   markt   parametrizet   makeUnicodeIndext   makeStringIndext   makeCategoricalIndexR   t   makeDateIndext   makePeriodIndext   makeTimedeltaIndext   makeIntIndext   makeUIntIndext   makeFloatIndexR   RJ   R   Rc   t   formatRA   Rm   Rn   R   R®   R¶   R¸   Rº   R¼   R¾   RÂ   RÃ   RÇ   RÑ   RØ   RÛ   RÜ   Rî   Rñ   Rù   Rü   R  R  (    (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR„   Õ   sL   		+6							
	
		0				5				t   TestCategoricalSeriesc        
   B   sŒ   e  Z e j j d  d „  d „  d „  d „  d „  d „  d „  d „  g ƒ d	 „  ƒ Z d
 „  Z d „  Z d „  Z d „  Z	 d „  Z
 d „  Z RS(   Rø   c         C   s   |  j  j d d d g ƒ S(   Ni   i   i   (   Rˆ   R“   (   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   <lambda>ý  s    c         C   s   |  j  j d d d g d t ƒS(   Ni   i   i   R’   (   Rˆ   R—   R   (   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR  þ  s    c         C   s   |  j  j d d d g ƒ S(   Ni   i   i   (   Rˆ   R–   (   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR  ÿ  s    c         C   s   |  j  j ƒ  S(   N(   Rˆ   R˜   (   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR     s    c         C   s   |  j  j d g ƒ S(   Ni   (   Rˆ   R•   (   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR    s    c         C   s   |  j  j d g ƒ S(   Ni   (   Rˆ   R”   (   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR    s    c         C   s   |  j  j ƒ  S(   N(   Rˆ   R™   (   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR    s    c         C   s   |  j  j ƒ  S(   N(   Rˆ   Rš   (   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR    s    c         C   sO   t  d d d g d d ƒj d ƒ } d } | | ƒ j } | | k sK t ‚ d  S(   Ni   i   i   R   Rd   R‹   (   R	   R   R   R   (   R   Rø   R6   RW   R   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt!   test_getname_categorical_accessorú  s    $c         C   s  t  t d d t j d g ƒ ƒ } t j | j j t d d g ƒ ƒ | j j	 s\ t
 t ƒ ‚ t d d t j d g d d d g ƒ} | j j d d g d t ƒt j | j | ƒ | j j d d g ƒ } t j | j | ƒ d | (| j j ƒ  } t j | j j t d g ƒ ƒ d  S(   NRN   RO   R   R}   (   R	   R   RU   RV   R[   t   assert_index_equalRˆ   R   R   R’   R   RJ   R“   R   t   assert_categorical_equalRh   R˜   (   R   R6   Rí   t   res(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_cat_accessor  s    !"'c         C   s¤   d d l  m } t j | k s% t ‚ t t d ƒ ƒ j d ƒ } t | j | ƒ sX t ‚ t d g ƒ } t j	 t
 d d ƒ | j Wd  QXt | d ƒ s  t ‚ d  S(	   Niÿÿÿÿ(   t   CategoricalAccessorR¡   R‹   i   R¯   s   only use .cat accessorRˆ   (   t   pandas.core.arrays.categoricalR   R	   Rˆ   R   Rg   R   R¬   R°   R±   RÅ   RÀ   (   R   R   R6   t   invalid(    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_cat_accessor_api  s    c         C   sG   t  t d ƒ ƒ j d ƒ } t j t d d ƒ d | j _ Wd  QXd  S(   NR¡   R‹   R¯   s    You cannot add any new attributeRN   (   R	   Rg   R   R°   R±   RÅ   Rˆ   t   xlabel(   R   RP   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt#   test_cat_accessor_no_new_attributes)  s    
c         C   sc   t  t d ƒ ƒ j d ƒ } | j d d t ƒ| j j d t ƒ t | j j ƒ d k s_ t	 ‚ d  S(   NRâ   R‹   i    R}   i   (
   R	   Rg   R   R~   R   Rˆ   R˜   Rï   R   R   (   R   R6   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt$   test_cat_accessor_updates_on_inplace0  s    c         C   sN  d } t  j t d | ƒ t d d d g ƒ j Wd  QXt  j t d | ƒ t d d d g ƒ j ƒ  Wd  QXt  j t d | ƒ t d d d g ƒ j Wd  QXt  j t d | ƒ t t j d	 ƒ ƒ j Wd  QXt  j t d | ƒ t t d
 ƒ g ƒ j Wd  QXt t d d d d g d t	 ƒƒ } t
 d d d g ƒ } t j | j j | ƒ d d d g | j _ t
 d d d g ƒ } t j | j j | ƒ t d d d d g d d ƒ} t j | j j | ƒ | j j sØt ‚ | j j ƒ  } | j j sút ‚ | j j d t	 ƒ | j j st ‚ t t d d d d g d t	 ƒƒ } t
 d d d g ƒ } t j d d d d g d t j ƒ} | j j d d d g ƒ } t j | j j | ƒ t j | j j ƒ  | ƒ t j | j ƒ  | ƒ t t d d d d g d d d d g ƒƒ } t
 d d g ƒ } t j d d d d g d t j ƒ} | j j ƒ  } t j | j j | ƒ t j | j j ƒ  | ƒ t j | j ƒ  | ƒ d } t  j t d | ƒ | j d d d d g ƒ Wd  QXt t d d d d g d t	 ƒƒ } | j j d „  ƒ } t t d d d d g d d d d g d t	 ƒƒ } t j | | ƒ d  S(   Ns3   Can only use \.cat accessor with a 'category' dtypeR¯   i   i   i   RN   RO   RP   g      @t   20130101R’   i    R|   t   int8R}   R   s1   'Series' object has no attribute 'set_categories'i   c         S   s
   |  j  ƒ  S(   N(   t   upper(   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR  u  s    Rd   Rs   Rt   (   R°   R±   RÅ   R	   Rˆ   RU   RÌ   R   R   R   R   R[   R  R   R   R‘   R’   R   Rš   R™   t   arrayt   object_R“   t   assert_numpy_array_equalRh   t	   __array__R˜   R–   (   R   Rµ   R6   t   exp_categoriest	   exp_codest
   exp_valuesR   RW   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   test_categorical_delegations6  s^    $$$-$$c      	   C   s$  d d l  m } t t d d d d d ƒƒ } | j d ƒ } t t d d	 d
 d d ƒƒ } | j d ƒ } t t d d ƒ ƒ } | j d ƒ } d „  } d | t ƒ | | f d | t ƒ | | f d | t	 ƒ | | f g }	 t
 | j | ƒ sô t ‚ d d% i  f d d& i  f d d' i  f d d( i  f d d) i  f d d* i  f g }
 g  |
 D] } | d ^ qI} d d g } xU|	 D]M\ } } } } g  t | j ƒ D]? } | j d ƒ pÊ| | k pÊ| | k pÊ| | k s”| ^ q”} g  | D] } | d+ i  f ^ qà} x7 |
 D]/ } | d t | j ƒ k r| j | ƒ qqWxÓ | D]Ë \ } } } t j ƒ  Z | d k rwt j d t ƒ n  t | j | ƒ | | Ž  } t | j | ƒ | | Ž  } Wd  QXt
 | t ƒ rÕt j | | ƒ q<t
 | t ƒ r÷t j | | ƒ q<t j | | ƒ q<Wx] | D]U } y( t | j | ƒ } t | j | ƒ } Wqt k
 rf} | | f GH| ‚ qXqWt
 | t ƒ rt j | | ƒ qrt
 | t ƒ r¯t j | | ƒ qrt j | | ƒ qrWt d d  d! g ƒ j d ƒ } d" } t j t d# | ƒ | j Wd  QXt | d$ ƒ s t ‚ d  S(,   Niÿÿÿÿ(   t
   Propertiess   1/1/2015R‰   i   RÊ   t   METR‹   t   freqt   Ds   1 dayss   10 daysc         S   s   |  j  S(   N(   t   _datetimelike_ops(   RZ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR  Š  s    t   Datetimet   Periodt	   Timedeltat   strftimes   %Y-%m-%dt
   tz_convertt   ESTt   roundt   floort   ceilt   asfreqi    t   tz_localizet
   componentsR›   t	   to_periodR   i   i   i   s+   Can only use .dt accessor with datetimelikeR¯   R†   (   s   %Y-%m-%d(   R<  (   R5  (   R5  (   R5  (   R5  (    (   t   pandas.core.indexes.accessorsR2  R	   R   R   R   R   R   R   R
   R¬   R‡   R   RŒ   R   R'   t   warningst   catch_warningst   simplefiltert   UserWarningR3   R   R[   t   assert_frame_equalR   R¢   t	   ExceptionR°   R±   RÅ   RÀ   (   R   R2  t   s_drt   c_drt   s_prt   c_prt   s_tdrt   c_tdrt   get_opst	   test_datat   special_func_defsRß   t   _special_func_namest   _ignore_namesR   t
   attr_namesR6   RP   t
   func_namest	   func_defst   f_deft   funct   argst   kwargsR  Rí   t   attrt   eR"  Rµ   (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt$   test_dt_accessor_api_for_categorical{  sr    	!"!(   Re   Rf   R°   R  R  R  R  R#  R%  R&  R1  R_  (    (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyR  ø  s    							E(,   t   collectionsR    RÙ   RE  t   numpyRU   R°   t   pandas.compatR^   R   R   R   R   t   pandasRA   R   R   R   R   R	   R
   R   R   R   t   pandas.core.arraysR   t   pandas.core.indexes.datetimesR   t   pandas.util.testingt   utilt   testingR[   R   R   t   pandas.io.formats.printingt   iot   formatsR#   t   commonR   Rä   R   R„   R  (    (    (    s;   lib/python2.7/site-packages/pandas/tests/series/test_api.pyt   <module>   s$   "@ºÿ $