ó
x\c        '   @   së  d  d l  m  Z  m Z d  d l Z d  d l Z d  d l m Z d  d l m Z d  d l	 Z	 d  d l
 j Z d  d l
 m Z m Z m Z d  d l m Z m Z m Z m Z m Z m Z m Z d  d l j j Z d  d l j j Z d  d l m Z m Z d   Z  d	 d] i d
 d 6f d	 e e! d   f i d
 d 6d d 6f d d^ i  f d d_ i  f d d` i  f d da i  f d db i  f d dc i  f d dd i e" d 6f d de i e# d 6f d df i  f d dg i  f d dh i  f d di i  f d  dj i  f d dk i  f d" dl i  f d# dm i  f d$ dn i  f d& do i  f d' dp i e" d 6f d' dq i e# d 6f d) dr i  f d+ ds i  f d- dt i  f d. du i  f d/ dv i  f d0 dw i e" d 6f d0 dx i e# d 6f d1 dy i  f d3 dz i  f d4 d{ i e" d 6f d4 d| i e# d 6f d5 d} i  f d6 i d7 d8 6f i  f d9 d~ i  f d; d i  f g% e! e$ d< d	 d= d> d? d@ dA dB dC dD dE dF dG dH dI d' d0 dJ dK d1 d3 d4 dL dM dN dO g d g d7 i  g d7   Z% e$ e%   \ Z& Z' Z' dP   e( e j)  D e* e&  Z+ e+ sÛt,  e	 j- dQ e% dR e&  dS    Z. dT d e j dU g f e sdV n dT e d  e j e dU  g f e rJdW n dT d e j dU g f dX e j e j e j g f dX g  f dY d e j d: g f g Z/ e$ e/   \ Z& Z' e	 j- dQ e/ dR e&  dZ    Z0 d[ e1 f d\     YZ2 d S(   iÿÿÿÿ(   t   datetimet	   timedeltaN(   t   nan(   t   randint(   t   PY3t   ranget   u(   t	   DataFramet   Indext
   MultiIndext   Seriest   concatt   isnat   notna(   t   assert_index_equalt   assert_series_equalc         C   s0   t  |  t  r t |  |  n t |  |  d  S(   N(   t
   isinstanceR
   R   R   (   t   leftt   right(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   assert_series_or_index_equal   s    t   catt   ,t   sept   zyxR   t   joint   centeri
   t   containst   at   countt   decodes   UTF-8t   encodet   endswitht   extracts   ([a-z]*)t   expandt
   extractallt   findt   findallt   geti    t   indext    t   ljustt   matcht	   normalizet   NFCt   padt	   partitiont    t   repeati   t   replacet   zt   rfindt   rindext   rjustt
   rpartitiont   slicei   t   slice_replacet   splitt
   startswitht	   translateid   ia   t   wrapi   t   zfillt
   capitalizet   get_dummiest   isalnumt   isalphat	   isdecimalt   isdigitt   islowert	   isnumerict   isspacet   istitlet   isuppert   lent   lowert   lstript   rsplitt   rstript   stript   swapcaset   titlet   upperc         C   s%   h  |  ] } | j  d   s |  q S(   t   _(   R9   (   t   .0t   f(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pys	   <setcomp>U   s   	 t   paramst   idsc         C   s   |  j  S(   s¿  
    Fixture for all public methods of `StringMethods`

    This fixture returns a tuple of the method name and sample arguments
    necessary to call the method.

    Returns
    -------
    method_name : str
        The name of the method in `StringMethods`
    args : tuple
        Sample values for the positional arguments
    kwargs : dict
        Sample values for the keyword arguments

    Examples
    --------
    >>> def test_something(any_string_method):
    ...     s = pd.Series(['a', 'b', np.nan, 'd'])
    ...
    ...     method_name, args, kwargs = any_string_method
    ...     method = getattr(s.str, method_name)
    ...     # will not raise
    ...     method(*args, **kwargs)
    (   t   param(   t   request(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   any_string_methodZ   s    t   stringt   ct   unicodet   bytest   emptys   mixed-integerc         C   s.   |  j  \ } } t j | d t } | | f S(   sþ  
    Fixture for all (inferred) dtypes allowed in StringMethods.__init__

    The covered (inferred) types are:
    * 'string'
    * 'unicode' (if PY2)
    * 'empty'
    * 'bytes' (if PY3)
    * 'mixed'
    * 'mixed-integer'

    Returns
    -------
    inferred_dtype : str
        The string for the inferred dtype from _libs.lib.infer_dtype
    values : np.ndarray
        An array of object dtype that will be inferred to have
        `inferred_dtype`

    Examples
    --------
    >>> import pandas._libs.lib as lib
    >>>
    >>> def test_something(any_allowed_skipna_inferred_dtype):
    ...     inferred_dtype, values = any_allowed_skipna_inferred_dtype
    ...     # will pass
    ...     assert lib.infer_dtype(values, skipna=True) == inferred_dtype
    t   dtype(   RV   t   npt   arrayt   object(   RW   t   inferred_dtypet   values(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt!   any_allowed_skipna_inferred_dtype   s    t   TestStringMethodsc           B   s¡  e  Z d    Z e j j d e d g  e j j d e e g  d     Z	 e j j d e d g  e j j d e e g  d     Z
 d   Z d   Z d   Z d	   Z d
   Z e j j d e e g  e j j d d e e g  d     Z e j j d e e g  d    Z e j j d e e g  d    Z e j j d d d g  e j j d d d g  e j j d d d g  e j j d e e g  d       Z e j j d e e g  d    Z e j j d d d d d g  e j j d e e g  d     Z e j j d d d d d g  d    Z e j j d e e g  e j j d e e 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-   Z( d.   Z) d/   Z* d0   Z+ d1   Z, d2   Z- d3   Z. d4   Z/ d5   Z0 d6   Z1 d7   Z2 d8   Z3 d9   Z4 e j j d: g  d f g  d f g  d f g  d f d= d> d? g d f d= d> d? g d f d= d> d? g d f d= d> d? g d f g  d@    Z5 dA   Z6 dB   Z7 dC   Z8 dD   Z9 dE   Z: dF   Z; dG   Z< dH   Z= dI   Z> dJ   Z? dK   Z@ dL   ZA dM   ZB dN   ZC dO   ZD dP   ZE dQ   ZF dR   ZG dS   ZH e j j dT dU dV dW dX dY g  dZ    ZI d[   ZJ d\   ZK d]   ZL d^   ZM d_   ZN d`   ZO da   ZP db   ZQ dc   ZR dd   ZS de   ZT df   ZU dg   ZV dh   ZW di   ZX dj   ZY dk   ZZ dl   Z[ dm   Z\ dn   Z] do   Z^ dp   Z_ dq   Z` dr   Za ds   Zb dt   Zc du   Zd dv   Ze dw   Zf dx   Zg dy   Zh dz   Zi e j j d{ ej ek el jm g  d|    Zn d}   Zo d~   Zp d   Zq d   Zr d   Zs d   Zt d   Zu d   Zv d   Zw d   Zx d   Zy d   Zz RS(   c         C   s@   t  j t j k s t  t t  d g  j t j  s< t  d  S(   NR'   (   R
   t   strt   stringst   StringMethodst   AssertionErrorR   (   t   self(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_api«   s    R^   t   categoryt   boxc         C   sy  | \ } } | | d | } | d k rI | d k rI t  j d d  n  | t k rt | d k rt t  j d d	  n  | t k r« | t k r« | d k r« t  j d d  n  | t k rÏ | t k rÏ | d k sç | d k rú | d k rú t  j d d  n  d d d d d d g } | | k r<t | j t j  sut	  n9 t  j
 t d d  | j Wd  QXt | d  sut	  d  S(   NR^   Rl   t   periodt   intervalt   reasons   Conversion to numpy array fails because the ._values-attribute is not a numpy array for PeriodArray/IntervalArray; see GH 23553R]   R\   s-   Raising too restrictively; solved by GH 23167t   booleant   datet   times9   Inferring incorrectly because of NaNs; solved by GH 23167RY   R[   t   mixeds   mixed-integert   decimals)   Not raising correctly; solved by GH 23167R)   s/   Can only use .str accessor with string values.*Rf   (   Rn   Ro   (   R]   R\   (   Rq   Rr   Rs   (   RY   R[   R]   R\   Rt   s   mixed-integer(   Ru   Rq   Rs   (   t   pytestt   xfailR   Ra   R
   R   Rf   Rg   Rh   Ri   t   raisest   AttributeErrort   hasattr(   Rj   Rm   R^   t   any_skipna_inferred_dtypeRb   Rc   t   tt   types_passing_constructor(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_api_per_dtype±   s.     		c         C   s  | \ } } | \ } } }	 | d k rF | d k rF t  j d d  n  | d k rq | d k rq t  j d d
  n  | t k r | d k r t  j d d  n  | t k rÓ | t k rÓ | d k rÓ t  j d d  n  | | d | }
 t |
 j |  } | d k } | d k } d d d g d g | d d	 g | } | | k rS| | |	   nA d j d | d |  } t  j t d |  | | |	   Wd  QXd  S(   NR   R   RH   R\   Rp   sd   Not raising for "bytes", see GH 23011;Also: malformed method names, see GH 23551; solved by GH 23167R   Rt   s   mixed-integers:   Bad error message; should raise better; solved by GH 23167R]   s-   Raising too restrictively; solved by GH 23167Rq   Rr   Rs   s9   Inferring incorrectly because of NaNs; solved by GH 23167R^   RY   R[   sH   Cannot use .str.{name} with values of inferred dtype {inferred_dtype!r}.t   nameRb   R)   (   R   R   RH   (   Rt   s   mixed-integer(   R]   R\   (   Rq   Rr   Rs   (   R   R   RH   (   R   (	   Rv   Rw   R   Ra   t   getattrRf   t   formatRx   t	   TypeError(   Rj   Rm   R^   Rd   RX   Rb   Rc   t   method_namet   argst   kwargsR|   t   methodt   bytes_allowedt   mixed_allowedt   allowed_typest   msg(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_api_per_methodÙ   s2    
(		c   	      C   sé   t  t d   } | d | } | j d  } t | j t j  sJ t  | \ } } } t | j |  | |   } t | j |  | |   } t | t	  r± t
 j | |  n4 t | t   rÓ t
 j | |  n | | k så t  d  S(   Nt   aabbR.   Rl   (   R
   t   listt   astypeR   Rf   Rg   Rh   Ri   R   R   t   tmt   assert_frame_equalR   (	   Rj   RX   t   sRZ   R   R   R   t   resultt   expected(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_api_for_categorical  s    c         C   s«   d } t  |  } xq | j D]f } t | t   s7 t  t j | j | j  x2 | D]* } t | t j  sT t	 |  sT t  qT Wq W| j
   j j   d k s§ t  d  S(   Nt   googlet	   wikimediat	   wikipediat
   wikitravelt   l(   R   R   R   R   (   R
   Rf   R   Ri   R   R   R&   t   compatt   string_typesR   t   dropnaRc   t   item(   Rj   t   strst   dsR   t   el(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt	   test_iter%  s    ,c         C   sf   t  g  d t } d \ } } x t | j  D] \ } } q. W| d k sP t  | d k sb t  d  S(   NR^   id   i   (   id   i   (   R
   Ra   t	   enumerateRf   Ri   (   Rj   R   t   iR   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_iter_empty;  s    c         C   sM   t  d g  } x t | j  D] \ } } q W| s< t  t | |  d  S(   NR   (   R
   R¢   Rf   Ri   R   (   Rj   R   R£   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_iter_single_elementH  s
    c      	   C   s   t  g  t d  D]' } t d  t d  t d d   ^ q  } d \ } } x t | j  D] \ } } q\ W| d k s~ t  | d k s t  d  S(   Ni   i
   i   id   t   h(   id   RŠ   (   R
   R   R6   t   NoneR   R¢   Rf   Ri   (   Rj   RQ   R   R£   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_iter_object_try_stringQ  s    	7t   otherc         C   sj   d d g } | r! | |  } n | } | | d d j  j | d d d d } | j d k sf t  d  S(   NR   t   bR   R   R   R   R   (   Rf   R   R   Ri   (   Rj   Rm   R©   Rc   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_str_cat_name]  s    *c      	   C   sï  | d d d d d t  j g  } | j j   } d } | | k sH t  | j j d d  } d } | | k su t  | j j d d	 d d
  } d } | | k sš t  t  j d t  j d d d t  j g d t } | d d d d d d g  } | j j | d d } t | |  | j j t |  d d } t | |  d } t	 d d d g  } t
 j t d |  | j j |  Wd  QXt
 j t d |  | j j | j  Wd  QXt
 j t d |  | j j t |   Wd  QXd  S(   NR   Rª   RZ   t   aabbct   na_rept   -s   aabbc-R   RQ   t   NAt   a_a_b_b_c_NAt   dt   fooR^   t   aas   a-t   bbt   bdt   cfoos   --s>   All arrays must be same length, except those having an index.*t   1t   2t   3R)   (   R_   R   Rf   R   Ri   R`   Ra   R   R   R
   Rv   Rx   t
   ValueErrorRc   (   Rj   Rm   R   R   R   R|   t   rgxR1   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_str_cati  s0    !-c         C   sz   | d d d d g  } d } t  j t d |  | j j d  Wd  QXt  j t d |  | j j d  Wd  QXd  S(	   NR   Rª   RZ   R±   s'   Did you mean to supply a `sep` keyword?R)   t   |s       (   Rv   Rx   Rº   Rf   R   (   Rj   Rm   R   t   message(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt#   test_str_cat_raises_intuitive_error  s    R   R'   t   dtype_targetRa   t   dtype_callerc   	   	   C   s  t  d d d d g d | } | t  k r0 | n t | d | } t  d d d d g d | } t  d d d d	 g  } | t  k r | n t | d | } t j d
 t  * | j j | d | } t | |  Wd  QXt | d | } | j j | d | } t | |  | j j | j d | } t | |  t | j d | } t j d
 t  * | j j | d | } t | |  Wd  QXd  S(   NR   Rª   R^   R&   RZ   t   abR³   RŽ   t   act   expected_warningR   (	   R   R
   R   t   assert_produces_warningt   FutureWarningRf   R   R   Rc   (	   Rj   Rm   RÁ   RÀ   R   R   R|   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_str_cat_categorical  s"    $$c         C   s  t  d d d d g  } | t  k r* | n t | d | } t d d d d	 g d | j } t | t | d | g d
 d } t  d d d d g  } | t  k r« | n t | j d | j } | j j |  } t | |  | j j | j  } t | |  | j j | | g  } t | |  | j j | | j g  } t | |  t j d t	  3 | j j | j t
 |  g  } t | |  Wd  QXd d d d g | _ t j d t	  * | j j | | g  } t | |  Wd  QXt j d t	  - | j j | | j g  } t | |  Wd  QXd d d d g | _ t j d t	  $ | j j |  } t | |  Wd  QXt j d t	  9 | j j t | j t
 |  g   } t | |  Wd  QXd } t d d d g  } t | | g d
 d }	 t j t d |  | j j |	  Wd  QXt j t d |  | j j |	 j  Wd  QXt j t d |  | j j | | g  Wd  QXt j t d | ! | j j | j | j g  Wd  QXt j t d |  | j j | j | g  Wd  QXd } t d t j d d  g  }
 t j t d |  | j j |
 d g  Wd  QXt j t d |  | j j |
 | g  Wd  QXt j t d |  | j j |
 | j g  Wd  QXt j t d | ! | j j |
 |
 | g g  Wd  QXt j t d |  | j j t |
   Wd  QXt j t d | ! | j j |
 t |
  g  Wd  QXt j t d |  | j j d  Wd  QXd  S(   NR   Rª   RZ   R±   R&   t   At   Bt   Ct   Dt   axisi   t   aAat   bBbt   cCct   dDdRÄ   s>   All arrays must be same length, except those having an index.*R·   Rž   R¹   R)   s*   others must be Series, Index, DataFrame,.*R   (   R   R
   Rc   R   Rf   R   R   R   RÅ   RÆ   R   R&   t   iterRv   Rx   Rº   R_   R   R§   R   t   set(   Rj   Rm   R   R|   R±   R   R   R»   R1   t   eR   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_str_cat_mixed_inputsÀ  sz    $!$!'"""R   R   t   outert   innerR   c   	      C   sé   t  d d d d g d d d d d g } t  d d d d	 g d d d d
 d g } | j | d | \ } } | j j | d d } | t k rº t |  } t |  } t |  } n  | j j | d | d d } t | |  d  S(   NR   Rª   RZ   R±   R&   RË   RÈ   t   ERÉ   RÓ   R   R­   R®   (   R
   t   alignRf   R   R   R   (	   Rj   Rm   R   R   R|   t   sat   taR   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_str_cat_align_indexed8  s    **c      
   C   s  t  d d d d g  } t  d d d d g d d d d	 d
 g } t | | g d d
 } t  d d d d d g  } | j | j j | j d | } | j j | | g d | d d } t j | |  | j j | d | d d } t j | |  t	 j
 d d d d g  } t  d d d d d g  } | d k rK| j | j @n | j | j B}	 | j | j j |	 d | } | j j | | g d | d d } t j | |  t j d t  ? | j j | t |  g d | d d } t j | |  Wd  QXd  }
 t  d! d" d# g  j } t j t d$ |
  | j j | d | Wd  QXt j t d$ |
 ! | j j | | g d | Wd  QXd  S(%   NR   Rª   RZ   R±   RÓ   R&   i   i    i   i   RÌ   t   aaat   bbbs   c--t   ddds   -eet   howR   R­   R®   RÈ   RÉ   RÊ   RË   t   aaAt   bbBs   c-Ct   ddDs   -e-RÖ   RÄ   s<   If `others` contains arrays or lists \(or other list-likes.*R·   Rž   R¹   R)   (   R
   R   t   locR&   R   Rf   R   R   R   R_   R`   RÅ   RÆ   R   Rc   Rv   Rx   Rº   (   Rj   R   R   R|   R±   t   expected_outerR   R   R   t   rhs_idxR»   R1   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_str_cat_align_mixed_inputsJ  s0    *"$,$*c         C   sQ  t  d d d d g  } | t  k r* | n t | d | } | t j g d d t } | t  k rj | n t | d | } | t k r° t t j g d d | j d t } n t  t j g d d t } | j j | d d	 } t | |  | t k rMt t j g d d t d | j } | j j | d d	 } t	 j
 | |  n  d  S(
   NR   Rª   RZ   R±   R&   i   R^   R   R   (   R   R
   R_   R   Ra   R&   Rf   R   R   R   R   (   Rj   Rm   R©   R   R|   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_str_cat_all_nav  s    $$(%c         C   s  t  d d d d g  } t  d d d d g d d d d	 d
 g } t  d d d d d g  } | j j t | | j g  d d d d } t j | |  t  d d g d d d g } | j j | j d g | j d g g d d d d } t j | |  d  S(   NR   Rª   RZ   R±   RÓ   R&   i   i    i   i   RÜ   RÝ   s   c-cRÞ   s   -e-R   RÕ   R­   R®   s   aa-s   d-dR   (   R
   Rf   R   RÑ   Rc   R   R   Rã   (   Rj   R   R|   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_str_cat_special_cases  s    *-8c         C   sè   t  d t j d d g d d d g g d d d	 g  } | j   } | | j d k } | j j d
  } | j j d
  } | j j | d d } | j	 d d k s­ t
  | j j | | g d d } | j	 d d k sä t
  d  S(   NR&   iÛ  iÜ  i   i   i   t   namest   yeart   monthRf   R   R.   s   2011 2s   2011 2 2(   R   R	   t   from_productt   reset_indexRë   Rê   R   Rf   R   Rã   Ri   (   Rj   t   dft   str_yeart	   str_montht   str_botht   str_multiple(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_cat_on_filtered_index  s    -c      
   C   sG  t  j d d t d g d t  j } t j | d  } t  j d d t d g  } t j | |  t |  j	 j
 d  } t d d t d g  } t | t  sŠ t  t j | |  d	 t d
 t t j   d d  d d g	 } t j | d	  } t  j d t d t t d t t t g	  } t j | |  t |  j	 j
 d	  } t d t d t t d t t t g	  } t | t  s}t  t j | |  t d  t d  t t d  g } t j | d  } t  j d d t d g  } t j | |  t |  j	 j
 d  } t d d t d g  } t | t  s3t  t j | |  d  S(   NR²   t   foofoot   foooofooofommmfooR^   s   f[o]+i   i   i   R   Rª   g       @i    (   R_   R`   R¯   t   object_Rg   t	   str_countR   t   assert_numpy_array_equalR
   Rf   R   R   Ri   R   t   TrueR    t   todayR§   R   (   Rj   Rc   R   t   expRt   t   rst   xp(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt
   test_count¯  s2    '*'$c      
   C   sÝ  t  j d t d d d g d t  j } d } t j | |  } t  j t t t t t g d t  j } t j	 | |  t j | | d t } t  j t t t t t g d t  j } t j	 | |  d d d d g } t j | |  } t  j t t t t g  } | j
 t  j k st  t j	 | |  d	 d
 d d g } t j | d d t } t  j t t t t g  } t j	 | |  t j | d d t d t } t  j t t t t g  } t j	 | |  d t d t t j   d d  d d g	 } t j | d  } t  j t t t t t t t t t g	 d t  j } t j	 | |  t |  j j d  } t t t t t t t t t t g	  } t | t  st  t j | |  t  j d t d d g d t  j } d } t j | |  } t  j t t  j t t g d t  j } t j	 | |  t j | | d t } t  j t t t t g  } t j	 | |  t  j d d d d g d t  j } t j | |  } t  j t t t t g  } | j
 t  j k sÉt  t j	 | |  d  S(   NR²   t   fooommm__foot   mmm_s   foommm[_]+barR^   s   mmm[_]+t   regext   xyzt   Foot   xYzt   fOOomMm__fOot   MMM_s   FOO|mmmt   caseR   Rª   i   g       @t   ou   foou   fooommm__foou   mmm_t   na(   R_   R`   R¯   Rö   Rg   t   str_containst   FalseRù   R   Rø   R^   t   bool_Ri   R    Rú   R§   R
   Rf   R   R   R   R   (   Rj   Rc   t   patR   R   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_containsÓ  sZ    ''''''c         C   sR  t  d d d d t j g d d } | j j d d t } t  t t t t t g  } t j | |  | j j d d t } t  t t t t t g  } t j | |  t  d d d d t j g  } | j j d d t } t  t t t t t g  } t j | |  | j j d d t } t  t t t t t g  } t j | |  d  S(   NR   Rª   RZ   R^   Rl   R	  (	   R
   R_   R   Rf   R   Rù   R  R   R   (   Rj   Rc   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt!   test_contains_for_object_category  s    $c      
   C   s  t  d t d d d t d g  } | j j d  } t  t t t t t t t g  } t j | |  t j	 d t d t t
 j   d d  d d	 g	 d
 t j } t j | d  } t j	 t t t t t t t t t g	 d
 t j } t j | |  t  |  j j d  } t | t   st  t  t t t t t t t t t g	  } t j | |  t  t d  t t d  t d  t d  t t d  g  } | j j d  } t  t t t t t t t g  } t j | |  | j j d d t } t j | | j t  j t   d  S(   Nt   omt   foo_nomt   nomt   bar_fooR²   R   Rª   i   g       @R^   RS   R	  (   R
   R¯   Rf   R9   R  Rù   R   R   R_   R`   R    Rú   R§   Rö   Rg   t   str_startswithRø   R   Ri   R   t   fillnaR   t   bool(   Rj   Rc   R   Rû   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_startswith(  s*    !!''-!c      
   C   s  t  d t d d d t d g  } | j j d  } t  t t t t t t t g  } t j | |  d t d t t j	   d d  d d	 g	 } t j | d
  } t j t t t t t t t t t g	 d t j } t j | |  t  |  j j d
  } t  t t t t t t t t t g	  } t | t   s4t  t j | |  t  t d  t t d  t d  t d  t t d  g  } | j j d  } t  t t t t t t t g  } t j | |  | j j d d t } t j | | j t  j t   d  S(   NR  R  R  R  R²   R   Rª   i   g       @RS   R^   R	  (   R
   R¯   Rf   R   R  Rù   R   R   R    Rú   R§   Rg   t   str_endswithR_   R`   Rö   Rø   R   Ri   R   R  R   R  (   Rj   Rc   R   Rû   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_endswithG  s(    !!'''-!c      
   C   s?  t  d d t d d g  } | j j   } t  d d t d d g  } t j | |  t  d t d t t j   d	 d  d
 d g	  } | j j   } t  d t d t t d t t t g	  } t j
 | |  t  t d  t t d  t d  g  } | j j   } t  t d  t t d  t d  g  } t j | |  d  S(   Nt   FOOt   BARt   Blaht   blurgR  t   Bart   Blurgt   bart   blahi   g       @(   R
   R¯   Rf   RO   R   R   Rù   R    Rú   R§   t   assert_almost_equalR   (   Rj   Rc   R   Rû   Rt   t   results(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt
   test_titlee  s    '**c      
   C   s¡  t  d t d d g  } | j j   } t  d t d d g  } t j | |  | j j   } t j | |  t  d t d t t j	   d d  d d	 g	  } | j j   } t  |  j j   } t  d t d t t d t t t g	  } t | t   sû t  t j | |  t  t d  t t d  t d  g  } | j j   } t  t d  t t d  t d  g  } t j | |  | j j   } t j | |  d  S(
   NR  R  t   OMt   NOMR   Rª   R²   i   g       @(   R
   R¯   Rf   RP   R   R   RI   Rù   R    Rú   R§   R   Ri   R   (   Rj   Rc   R   Rû   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_lower_upper{  s&    !'**c      
   C   s?  t  d d t d d g  } | j j   } t  d d t d d g  } t j | |  t  d t d t t j   d	 d  d
 d g	  } | j j   } t  d t d t t d t t t g	  } t j
 | |  t  t d  t t d  t d  g  } | j j   } t  t d  t t d  t d  g  } t j | |  d  S(   NR  R  R  R  R  R  R  R   R!  i   g       @(   R
   R¯   Rf   R=   R   R   Rù   R    Rú   R§   R"  R   (   Rj   Rc   R   Rû   Rt   R#  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_capitalize  s    '**c      
   C   s?  t  d d t d d g  } | j j   } t  d d t d d g  } t j | |  t  d t d t t j   d d  d	 d
 g	  } | j j   } t  d t d t t d t t t g	  } t j
 | |  t  t d  t t d  t d  g  } | j j   } t  t d  t t d  t d  g  } t j | |  d  S(   NR  R  R  R  R²   R   t   bLAHt   BLURGi   g       @R  t   bLURG(   R
   R¯   Rf   RN   R   R   Rù   R    Rú   R§   R"  R   (   Rj   Rc   R   Rû   Rt   R#  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_swapcase«  s    '**c         C   sG  d d d d d g } t  |  } | j j   j   g  | D] } | j   ^ q: k s[ t  | j j   j   g  | D] } | j   ^ qt k s t  | j j   j   g  | D] } | j   ^ q® k sÏ t  | j j   j   g  | D] } | j   ^ qè k s	t  | j j   j   g  | D] } | j   ^ q"k sCt  d  S(   NRÜ   RÝ   t   CCCt   Ddddt   eEEE(	   R
   Rf   RI   t   tolistRi   RP   RO   R=   RN   (   Rj   Rc   R   t   v(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_casemethodsŸ  s    ::::c   
   
   C   s   t  d t g  } | j j d d  } t  d t g  } t j | |  | j j d d d d } t  d t g  } t j | |  t  d t d	 t t j   d
 d  d d g	  } t  |  j j d d  } t  d t d t t d t t t g	  } t
 | t   s
t  t j | |  t  t d  t g  } | j j d d  } t  t d  t g  } t j | |  | j j d d d d } t  t d  t g  } t j | |  t  d j d  g  } t  d j d  g  } | j j d d d t j } t j | |  x t  t f D]{ } xr d  d i d d 6f D]Z } xQ d d d  g d d d d g f D]. }	 | |	  } t j t | j j d |  qbWq:WqWd  S(   Nt   fooBAD__barBADs   BAD[_]*R'   t   foobart   ni   t	   foobarBADt   aBADt   bBADt   fooBADg       @R   Rª   R²   s   abcd,Ã s   utf-8s   abcd, Ã s   (?<=\w),(?=\w)s   , t   flagsi   RZ   t   ad(   R
   R¯   Rf   R0   R   R   Rù   R    Rú   R§   R   Ri   R"  R   R   t   ret   UNICODER   Rv   Rx   R   (
   Rj   Rc   R   Rû   Rt   Rü   Rý   t   klasst   replt   data(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_replaceÇ  s:    '(c      	   C   sw  t  d t g  } d   } | j j d | d d } t  d t g  } t j | |  t j rj d } n d } d	   } t j	 t
 d
 |  | j j d |  Wd  QXd   } t j	 t
 d
 |  | j j d |  Wd  QXd  d  } t j	 t
 d
 |  | j j d |  Wd  QXt  d t g  } d } d   } | j j | |  } t  d t g  } t j | |  d  S(   NR3  c         S   s   |  j  d  j   S(   Ni    (   t   groupRN   (   t   m(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   <lambda>ø  s    s   [a-z][A-Z]{2}R5  i   t   foObaD__baRbaDs4   takes (no|(exactly|at (least|most)) ?\d+) arguments?sO   ((takes)|(missing)) (?(2)from \d+ to )?\d+ (?(3)required )positional arguments?c           S   s   d  S(   N(   R§   (    (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD    s    R)   R   c         S   s   d  S(   N(   R§   (   RC  t   x(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD    s    c         S   s   d  S(   N(   R§   (   RC  RF  t   y(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD    s    s   Foo Bar Bazs,   (?P<first>\w+) (?P<middle>\w+) (?P<last>\w+)c         S   s   |  j  d  j   S(   Nt   middle(   RB  RN   (   RC  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD    s    t   bAR(   R
   R¯   Rf   R0   R   R   R   t   PY2Rv   Rx   R   R§   (   Rj   Rc   R?  R   Rû   t   p_errR  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_replace_callableó  s.    						c   	      C   s%  t  d t g  } t j d  } | j j | d  } t  d t g  } t j | |  t  d t d t t	 j
   d d  d d	 g	  } t  |  j j | d  } t  d
 t d t t d t t t g	  } t | t   sÜ t  t j | |  t  t d  t g  } | j j | d  } t  t d  t g  } t j | |  | j j | d d d } t  t d  t g  } t j | |  t  d j d  g  } t  d j d  g  } t j d d t j } | j j | d  } t j | |  t  d t g  } t j d  } t j t d d # | j j | d d t j } Wd  QXt j t d d   | j j | d d t } Wd  QXt j t d d   | j j | d d t } Wd  QXt  d t g  } d   } t j d  } | j j | | d d } t  d t g  } t j | |  d  S(   NR3  s   BAD[_]*R'   R4  R7  R8  R9  i   g       @R   Rª   R²   R5  R6  s   abcd,Ã s   utf-8s   abcd, Ã s   (?<=\w),(?=\w)R:  s   , t   fooBAD__barBAD__badR)   s   case and flags cannot beR  c         S   s   |  j  d  j   S(   Ni    (   RB  RN   (   RC  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  P  s    s   [a-z][A-Z]{2}i   RE  (   R
   R¯   R<  t   compileRf   R0   R   R   Rù   R    Rú   R§   R   Ri   R"  R   R   R=  Rv   Rx   Rº   t
   IGNORECASER  (	   Rj   Rc   R  R   Rû   Rt   Rü   Rý   R?  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_replace_compiled_regex  sP    '
$
!
!	c         C   sï   t  d d t g  } t  d d t g  } | j j d d  } t j | |  t  d d t g  } | j j d d d t } t j | |  d   } t j d  } t	 j
 t | j j d	 | d t t	 j
 t | j j | d
 d t d  S(   Ns   f.oR²   t   baos   f.t   baR  c         S   s   |  j  d  j   S(   Ni    (   RB  RN   (   RC  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  c  s    s   [a-z][A-Z]{2}t   abcR'   (   R
   R¯   Rf   R0   R   R   R  R<  RN  Rv   Rx   Rº   (   Rj   Rc   Rû   R   t   callable_replt   compiled_pat(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_replace_literalV  s    	c      
   C   s=  t  d d t d t d g  } | j j d  } t  d d t d t d	 g  } t j | |  | j j d
 d d d d d g  } t  d d t d t d g  } t j | |  t  d t d t t j   d d  d
 d g	  } t  |  j j d  } t  d t d t t d t t t g	  } t
 | t   s1t  t j | |  t  t d  t d  t t d  t t d  g  } | j j d  } t  t d  t d  t t d  t t d	  g  } t j | |  | j j d
 d d d d d g  } t  t d  t d  t t d  t t d  g  } t j | |  d  S(   NR   Rª   RZ   R±   i   RÜ   RÝ   t   cccRÞ   i   i   i   i   i   RŽ   t   cccct   ddddddR²   g       @t	   foofoofoo(   R
   R¯   Rf   R/   R   R   Rù   R    Rú   R§   R   Ri   R   (   Rj   Rc   R   Rû   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_repeatk  s(    $!'66$6c      
   C   s  t  d t d g  } | j j d  } t  t t t g  } t j | |  t  d t d g  } | j j d  } t  t t t g  } t j | |  t  d t d t t j	   d d  d d g	  } t  |  j j d  } t  t t t t t t t t t g	  } t | t   st  t j | |  t  t d  t t d  g  } | j j d  } t  t t t g  } t j | |  t  d	 d
 t j g  j j d	 d t } t  t t t g  } t | |  t  d	 d
 t j g  j j d	  } t  t t j t j g  } t | |  d  S(   NR3  R²   s   .*(BAD[_]+).*(BAD)s   .*BAD[_]+.*BADt   aBAD_BADt	   BAD_b_BADi   g       @R   i    R	  (   R
   R¯   Rf   R)   Rù   R  R   R   R    Rú   R§   R   Ri   R   R_   R   (   Rj   Rc   R   Rû   Rt   Rü   Rý   t   res(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt
   test_match  s0    '!*$c         C   sK   t  d t d g  } t j t d d  | j j d d d  Wd  QXd  S(   NR3  R²   R)   s   expand must be True or Falses   .*(BAD[_]+).*(BAD)R!   (   R
   R¯   Rv   Rx   Rº   Rf   R    R§   (   Rj   Rc   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extract_expand_None¬  s    
c         C   sh   t  d t d g  } | j j d  } t | t  s< t  | j j d d t } t j	 | |  d  S(   NR3  R²   s   .*(BAD[_]+).*R!   (
   R
   R¯   Rf   R    R   R   Ri   Rù   R   R   (   Rj   Rc   t   result_unspecifiedt   result_true(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extract_expand_unspecified²  s
    c      
      s  t  d t d g  } t t g } | j j d d t } t d d g | | g  } t j | |  t  d t d t t	 j
   d d  d	 d
 g	  } t  |  j j d d t } t d d g | d d g | | | | | | g	  } t j | |  t  t d  t t d  g  } | j j d d t } t t d  t d  g | | g  } t j | |  t d d d d d g  } t j t d d  | j j d d t Wd  QXxí t  t g D]ß } | d d d g      f d   }	 t j t |	    f d   }	 t j t |	  | d d g      j j d d t } | j d k sTt  | d d g d d } | t  k rt j | |  qŒt j | |  qŒWt  d d d g  }
 |
 j j d d t } t  t t t g d t } t j | |  |
 j j d d t } t t t g t t g t t g g d t } t j | |  |
 j j d d t } t  d d  t g  } t j | |  |
 j j d d t } t d d! g d  d" g t t g g  } t j | |  |
 j j d# d t } t  d d  t g d d$ } t j | |  |
 j j d% d t } t d d! g d  d" g t t g g d& d$ d' g } t j | |  |
 j j d( d t } t d d! g d  d" g t t g g d& d) d' g } t j | |  |
 j j d* d t } t  d d  t g  } t j | |  t  d+ d, d- g  j j d. d t } t d d! g d  d" g t t g g  } t j | |  t  d d d/ g  j j d0 d t } t d d! g d  d" g t d/ g g d& d$ d' g } t j | |  t  d d d1 g  j j d2 d t } t d d! g d  d" g d1 t g g d& d$ d' g } t j | |  d3   } t j t j t j t j t j t j g } x | D] } | |    qzWt  d4 d5 d6 g d d7 }
 |
 j j d8 d t } t  d9 d: d; g d d< } t j | |  | j | j k st  d  S(=   NR3  R²   s   .*(BAD[_]+).*(BAD)R!   t   BAD__t   BADR\  R]  i   g       @t   BAD_t   A1t   A2t   A3t   A4t   B5R)   t	   supporteds   ([AB])([123])t   B2t   C3c              s     j  j d d t S(   Ns
   [ABC][123]R!   (   Rf   R    R  (    (   t   s_or_idx(    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  Ý  s    c              s     j  j d d t S(   Ns
   (?:[AB]).*R!   (   Rf   R    R  (    (   Ro  (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  á  s    s   (?P<uno>A)\dt   unoRÈ   R   s   (_)R^   s   (_)(_)s   ([AB])[123]RÉ   R·   Rž   s   (?P<letter>[AB])t   letters!   (?P<letter>[AB])(?P<number>[123])t   columnst   numbers   ([AB])(?P<number>[123])i    s   ([AB])(?:[123])t   A11t   B22t   C33s   ([AB])([123])(?:[123])R¹   s"   (?P<letter>[AB])?(?P<number>[123])RÊ   s#   (?P<letter>[ABC])(?P<number>[123])?c         S   së   d d d g } |  t  |   }  t | d |  } | j j d d t } t d d t g d |  } t j | |  t | d |  j j d	 d t } d
 d g d d g d t g g } t | d d d g d |  } t j	 | |  d  S(   NRg  Rm  RÊ   R&   s   (\d)R!   R·   Rž   s   (?P<letter>\D)(?P<number>\d)?RÈ   RÉ   Rr  Rq  Rs  (
   RH   R
   Rf   R    R  R¯   R   R   R   R   (   R&   R@  R   R   Rû   t   e_list(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   check_index1  s    		t   a3t   b3t   c2t   bobs   (?P<sue>[a-z])R   Rª   RZ   t   sue(   R
   R¯   Rf   R    R  R   R   R   Rù   R    Rú   R§   R   R   Rv   Rx   Rº   R   Ri   R   R   Ra   t   makeStringIndext   makeUnicodeIndext   makeIntIndext   makeDateIndext   makePeriodIndext   makeRangeIndex(   Rj   Rc   t   erR   Rû   Rt   Rü   t   idxR>  RS   R   Rx  t   i_funsR&   t   rRÓ   (    (   Ro  s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extract_expand_False¹  sŠ    $!'-'	$$'$$	c      
      s8  t  d t d g  } t t g } | j j d d t } t d d g | | g  } t j | |  t  d t d t t j	   d d  d	 d
 g	  } t  |  j j d d t } t d d g | d d g | | | | | | g	  } t j | |  t  t d  t t d  g  } | j j d d t } t t d  t d  g | | g  } t j | |  xÏ t  t g D]Á } | d d d g      f d   } t j t |    f d   } t j t |  | d d g      j j d d t }	 t |	 t  st  |	 d }
 t |
 t  d d g d d  qoWd  S(   NR3  R²   s   .*(BAD[_]+).*(BAD)R!   Rd  Re  R\  R]  i   g       @Rf  Rg  Rm  Rn  c              s     j  j d d t S(   Ns
   [ABC][123]R!   (   Rf   R    Rù   (    (   Ro  (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  n  s    c              s     j  j d d t S(   Ns
   (?:[AB]).*R!   (   Rf   R    Rù   (    (   Ro  (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  r  s    Rh  s   (?P<uno>A)\dRp  RÈ   R   (   R
   R¯   Rf   R    Rù   R   R   R   R    Rú   R§   R   R   Rv   Rx   Rº   R   Ri   R   (   Rj   Rc   R  R   Rû   Rt   Rü   R>  RS   t	   result_dft   result_series(    (   Ro  s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extract_expand_TrueQ  s4    !'
c         C   sv  xod D]g} t d d d g d | } | j j d d t } t t t t g d t } t j	 | |  | j j d	 d t } t t t g t t g t t g g d t } t j	 | |  | j j d
 d t } t d d t g  } t j	 | |  | j j d d t } t d d g d d g t t g g  } t j	 | |  | j j d d t } t i d d t g d 6 } t j	 | |  | j j d d t } d d g d d g t t g g } t | d d d g } t j	 | |  | j j d d t } t | d d d g } t j	 | |  | j j d d t } t d d t g  } t j	 | |  q Wd  S(   Nt   series_nameRg  Rm  Rn  R   s   (_)R!   R^   s   (_)(_)s   ([AB])[123]RÈ   RÉ   s   ([AB])([123])R·   Rž   s   (?P<letter>[AB])Rq  s!   (?P<letter>[AB])(?P<number>[123])Rr  Rs  s   ([AB])(?P<number>[123])i    s   ([AB])(?:[123])(   NR  (
   R§   R
   Rf   R    Rù   R   R¯   Ra   R   R   (   Rj   R  R   R   Rû   Rw  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extract_series|  s>    -'				c         C   s  t  d d d g  j j d d t } t d d g d d	 g t t g g  } t j | |  t  d
 d d g  j j d d t } d d g d d	 g t d g g } t | d d d g } t j | |  t  d
 d d g  j j d d t } d d g d d	 g d t g g } t | d d d g } t j | |  d   } t j t j	 t j
 t j t j t j g } x | D] } | |    qxWd  S(   NRt  Ru  Rv  s   ([AB])([123])(?:[123])R!   RÈ   R·   RÉ   Rž   Rg  Rm  R¹   s"   (?P<letter>[AB])?(?P<number>[123])Rr  Rq  Rs  RÊ   s#   (?P<letter>[ABC])(?P<number>[123])?c         S   så   d d d g } |  t  |   }  t | d |  j j d d t } t d d t g d |  } t j | |  t | d |  j j d	 d t } d
 d g d d g d t g g } t | d d d g d |  } t j | |  d  S(   NRg  Rm  RÊ   R&   s   (\d)R!   R·   Rž   s   (?P<letter>\D)(?P<number>\d)?RÈ   RÉ   Rr  Rq  Rs  (	   RH   R
   Rf   R    Rù   R   R¯   R   R   (   R&   R@  R   Rû   Rw  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRx  Ð  s    		(   R
   Rf   R    Rù   R   R¯   R   R   R~  R  R  R  R  R  (   Rj   R   Rû   Rw  Rx  R  R&   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extract_optional_groups°  s.    '					c         C   sc   t  d d d g d d } | j j d d t } t i d d	 d
 g d 6 } t j | |  d  S(   NRy  Rz  R{  R   R  s   (?P<letter>[a-z])R!   R   Rª   RZ   Rq  (   R
   Rf   R    Rù   R   R   R   (   Rj   R   R  RÓ   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt'   test_extract_single_group_returns_frameé  s    c         C   s©  d d d d d t  j d g } d7 d8 d9 d: d; d< d= d> g } d } d d d g } t |  } t j d? d@ dA dB dC dD dE dF g d dG } t | | |  } | j j | t	 j
  } t j | |  t j dH dI dJ dK dL dM dN g  }	 t | |	  }
 t j dO dP dQ dR dS dT dU dV g d dW } t | | |  } |
 j j | t	 j
  } t j | |  t | |	  } dX | j _ dY | _ t | | |  } | j j | t	 j
  } t j | |  d d, d- g } d. } t |  j j |  } t j dZ d[ d\ g d d] } t d^ t d1 f t d2 f g | d3 d4 d5 g } t j | |  d6 } t |  j j |  } t d_ t d1 f t d2 f g | d3 d d5 g } t j | |  d  S(`   Ns   dave@google.coms   tdhock5@gmail.coms   maudelaperriere@gmail.coms'   rob@gmail.com some text steve@gmail.coms%   a@b.com some text c@d.com and e@f.comR'   t   daveR   t   comt   tdhock5t   gmailt   maudelaperrieret   robt   steveR   Rª   RZ   R±   RÓ   RS   sq   
        (?P<user>[a-z0-9]+)
        @
        (?P<domain>[a-z]+)
        \.
        (?P<tld>[a-z]{2,4})
        t   usert   domaint   tldi    i   i   i   i   Ré   R)   t   singlet   Davet   Tobyt   Maudet   multiplet   robAndStevet   abcdeft   nonet   missingR]   t   matchest   descriptionRg  t   32s"   (?P<letter>[AB])?(?P<number>[123])RÈ   R·   R¹   Rž   Rr  Rq  Rs  s   ([AB])?(?P<number>[123])(   R  R   R  (   R  R  R  (   R  R  R  (   R  R  R  (   R  R  R  (   R   Rª   R  (   RZ   R±   R  (   RÓ   RS   R  (   i    i    (   i   i    (   i   i    (   i   i    (   i   i   (   i   i    (   i   i   (   i   i   (   NR)   (   R  R  (   R  R  (   R  R  (   R  R  (   R  R   (   R¡  R¢  (   R¡  R]   (   R  R  i    (   R  R  i    (   R  R  i    (   R  R  i    (   R  R  i   (   R  R   i    (   R  R   i   (   R  R   i   (   NNR)   (   R£  R€  (   R£  R€  R)   (   i   i    (   i   i    (   i   i   (   NR)   (   RÈ   R·   (   RÈ   R·   (   R_   R   R
   R	   t   from_tuplesR§   R   Rf   R"   R<  t   VERBOSER   R   R&   Ré   R¯   (   Rj   t   subject_listt   expected_tuplest   named_patternt   expected_columnst   St   expected_indext   expected_dft   computed_dft   series_indext   Sit   Snt   pattern(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extractallò  s¢    										c         C   sÁ   t  d d d g d d } | j j d  } t j d d d d g d
 d } t i d d d d g d 6|  } t j | |  | j j d  } t d d d d g |  } t j | |  d  S(   NRy  Rz  t   d4c2R   R  s   (?P<letter>[a-z])i    i   i   Ré   R)   R   Rª   R±   RZ   Rq  s   ([a-z])(   i    i    (   i   i    (   i   i    (   i   i   (   NR)   (	   R
   Rf   R"   R	   RŠ  R§   R   R   R   (   Rj   R   R  R£   RÓ   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extractall_single_group[  s    		"c         C   s}   t  d d d g d d } | j j d  } t j d d d d g d
 d } t d d d d g |  } t j | |  d  S(   Nt   ab3t   abc3t   d4cd2R   R  s   ([a-z]+)i    i   i   Ré   R)   RÂ   RS  R±   t   cd(   i    i    (   i   i    (   i   i    (   i   i   (   NR)   (	   R
   Rf   R"   R	   RŠ  R§   R   R   R   (   Rj   R   R  R£   RÓ   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt,   test_extractall_single_group_with_quantifiero  s    		s   data, namest   i1t   i2Ry  Rz  Rµ  c   	         sÔ  t  |    t  |  d k r= t t    d | d } n1   f d   t    D } t j | d | } t | d d d | d d	 } t j g  d | d } | j j d  } t d d g d |  } t	 j
 | |  | j j d  } t d d d g d |  } t	 j
 | |  | j j d  } t d d g d |  } t	 j
 | |  | j j d  } t d d d g d |  } t	 j
 | |  | j j d  } t d d d g d |  } t	 j
 | |  d  S(   Ni   R   i    c         3   s&   |  ] } t  | g   d   Vq d S(   i   N(   t   tuple(   RR   R£   (   R5  (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pys	   <genexpr>  s    Ré   R  R&   R^   Ra   R)   s   (z)Rr  s   (z)(z)s   (?P<first>z)t   firsts   (?P<first>z)(?P<second>z)t   seconds   (z)(?P<second>z)(   R)   (   RH   R   R   R	   RŠ  R
   Rf   R"   R   R   R   (	   Rj   R@  Ré   R£   R   R   t   eiR  RÓ   (    (   R5  s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extractall_no_matches}  s,    c      	   C   s  t  d d d g d d } | j j d  } t j d d d g d	 d  d
 g } t i d d d g d 6d | } t j | |  xZ t	 d d d g  t	 d d d g d d g D]( } | j j d  } t j | |  qŽ Wt  d d d g d d d t	 d d d g d d } | j j d  } t j d d d g d	 d d
 g } t i d d d g d 6d | } t j | |  d  S(   Nt   a1a2t   b1t   c1R   t   xxxs   [ab](?P<digit>\d)i    i   Ré   R)   R·   Rž   t   digitR&   t   s_namet   XXt   yyt   zzt   idx_name(   i    i    (   i    i   (   i   i    (   RÉ  i    (   RÉ  i   (   RÊ  i    (
   R
   Rf   R"   R	   RŠ  R§   R   R   R   R   (   Rj   R   R^  t   exp_idxRû   R  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extractall_stringindex«  s"    """c         C   sK   t  d d d g d d } t j t d d  | j j d  Wd  QXd  S(	   NRy  Rz  Rµ  R   R  R)   s   no capture groupss   [a-z](   R
   Rv   Rx   Rº   Rf   R"   (   Rj   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extractall_errorsÃ  s    c         C   sÀ   t  d d d g d d d d g d d	 } | j j j d
 d t } t d d d g  } t j | |  | j j j d d t } d d d g } t | d d d g } t j | |  d  S(   NRy  Rz  Rµ  R&   Ri  t   B3t   D4R   R  s   ([A-Z])R!   RÈ   RÉ   RË   s!   (?P<letter>[A-Z])(?P<digit>[0-9])R¹   t   4Rr  Rq  RÇ  (   RÈ   R¹   (   RÉ   R¹   (   RË   RÒ  (   R
   R&   Rf   R    Rù   R   R   R   (   Rj   R   R  RÓ   Rw  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt!   test_extract_index_one_two_groupsË  s    !		c         C   ss  t  d d d g d d } d } | j j | d t } | j j |  } | j d d	 d
 } t j | |  d } | j j | d t } | j j |  } | j d d	 d
 } t j | |  d } | j j | d t }	 | j j |  } | j d d	 d
 } t j |	 |  d }
 | j j |
 d t } | j j |
  } | j d d	 d
 } t j | |  d  S(   NRy  Rz  R{  R   R  s   ([a-z])([0-9])R!   i    t   levelR)   s!   (?P<letter>[a-z])(?P<digit>[0-9])s   (?P<group_name>[a-z])s   ([a-z])(   R
   Rf   R    Rù   R"   t   xsR   R   (   Rj   R   t   pattern_two_nonamet   extract_two_nonamet   has_multi_indext   no_multi_indext   pattern_two_namedt   extract_two_namedt   pattern_one_namedt   extract_one_namedt   pattern_one_nonamet   extract_one_noname(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_extractall_same_as_extractß  s*    c         C   s  t  j d d d g d d } t d
 d d g | d d } d } | j j | d t } | j j |  } | j d d d } t j	 | |  d } | j j | d t } | j j |  } | j d d d } t j	 | |  d }	 | j j |	 d t }
 | j j |	  } | j d d d } t j	 |
 |  d } | j j | d t } | j j |  } | j d d d } t j	 | |  d  S(   NRÈ   R¿  RÉ   RÀ  RÊ   t   thirdRé   t   capitalt   ordinalRy  Rz  R{  R   R  s   ([a-z])([0-9])R!   i    RÔ  R)   s!   (?P<letter>[a-z])(?P<digit>[0-9])s   (?P<group_name>[a-z])s   ([a-z])(   RÈ   R¿  (   RÉ   RÀ  (   RÊ   Rá  (   Râ  Rã  (
   R	   RŠ  R
   Rf   R    Rù   R"   RÕ  R   R   (   Rj   R£   R   RÖ  R×  t   has_match_indext   no_match_indexRÚ  RÛ  RÜ  RÝ  RÞ  Rß  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt-   test_extractall_same_as_extract_subject_indexú  s4    		c         C   s0  t  d t  } } t  d t  } t  d t  } t  d t  } t j | | j j |   d | j j   k sw t  t j | | j j	    t j | | j j
 d   t j | | j j d   t j | | j j d   t j | | j j d   t j | | j j    t j | | j j    t j | | j j d d   t j | | j j d   t j | | j j d   t j t d d g d t  | j j d	 d
 t  t j t d d d g d t  | j j d d
 t  t j | | j j d	 d
 t  t j t d d d g d t  | j j d d
 t  t j t d t  | j j    t j | | j j d   t j | | j j    t j | | j j d   t j | | j j d   t j | | j j d   t j | | j j d   t j | | j j d   t j | | j j  d   t j | | j j! d   t j | | j j" d d
 t  t j | | j j# d d
 t  t j | | j j$ d d   t j | | j j$ d d   t j | | j j%    t j | | j j&    t j | | j j'    t j | | j j( d   t j | | j j) d   t j | | j j* d   t j | | j j+ d   t j | | j j,    t j | | j j-    t j | | j j.    t j | | j j/    t j | | j j0    t j | | j j1    t j | | j j2    t j | | j j3    t j | | j j4    t j | | j j5    t j | | j j6    t j | | j j7 d   t8 j9 ròt j: d d  } n d d  l; } | j: d d  } t j | | j j< |   d  S(   NR^   R'   R   Rª   i   s   ^aRr  i    s   ()R!   i   s   ()()i*   t   stopt   stept   asciiR+   iÿÿÿÿ(=   R
   Ra   t   intR  R   R   Rf   R   Ri   RO   R   R   R9   R   RI   RP   R0   R/   R)   R   R   R    Rù   R  R>   R   RH   R$   R#   R2   R,   R   R8   RK   R-   R5   R6   RM   RJ   RL   R;   R%   R   R   R?   R@   RB   RE   RC   RG   RF   RD   RA   R=   RN   R*   R   R   t	   maketransRY   R:   (   Rj   t	   empty_strR]   t	   empty_intt
   empty_boolt   empty_bytest   tableRY   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_empty_str_methods  s    "			c         C   sW   t  d t  } t g   } t j | | j j d   t j | | j j d   d  S(   NR^   R   (   R
   Rf   R   R   R   R-   R5   (   Rj   R]   t   empty_df(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_empty_str_methods_to_framef  s    c      
   C   sÃ  d d d d d d d d d	 d
 g
 } t  |  } t t t t t t t t t t g
 } t t t t t t t t t t g
 } t t t t t t t t t t g
 } t t t t t t t t t t g
 } t t t t t t t t t t g
 } t t t t t t t t t t g
 } t t t t t t t t t t g
 }	 t t t t t t t t t t g
 }
 t j | j j   t  |   t j | j j   t  |   t j | j j   t  |   t j | j j	   t  |   t j | j j
   t  |   t j | j j   t  |	   t j | j j   t  |
   | j j   j   g  | D] } | j   ^ qBk sct  | j j   j   g  | D] } | j   ^ q|k st  | j j   j   g  | D] } | j   ^ q¶k s×t  | j j	   j   g  | D] } | j	   ^ qðk st  | j j
   j   g  | D] } | j
   ^ q*k sKt  | j j   j   g  | D] } | j   ^ qdk st  | j j   j   g  | D] } | j   ^ qk s¿t  d  S(   NRÈ   Rª   t   XyRÒ  t   3AR'   t   TTt   55R®   s     (   R
   Rù   R  R   R   Rf   R?   R@   RB   RE   RC   RG   RF   R0  Ri   (   Rj   Rc   t   str_st   alnum_et   alpha_et   digit_et   num_et   space_et   lower_et   upper_et   title_eR1  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_ismethodsl  s@    $					::::::c         C   sÛ  d d d d d d d g } t  |  } t t t t t t t g } t t t t t t t g } t j | j j   t  |   t j | j j   t  |   d d	 d d d d d
 g } | j j   j   g  | D] } | j   ^ qÏ k sð t	  | j j   j   g  | D] } | j   ^ q	k s*t	  d t
 j d d t
 j d d g } t  |  } t t
 j t t t
 j t t g } t t
 j t t t
 j t t g } t j | j j   t  |   t j | j j   t  |   d  S(   NRÈ   R¹   u   ÂŒu   âu   ážu   ïŒt   fouru   Au   3u   four(   R
   R  Rù   R   R   Rf   RD   RA   R0  Ri   R_   R   (   Rj   Rc   R   t	   numeric_et	   decimal_et   unicodesR1  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_isnumeric  s    ::!!!c         C   sB  t  d d t j g  } | j j d  } t d d d g d d d g d d d g g d t d  } t j | |  t  d d	 d
 g  } | j j d  } t d d d g d d d g d d d g g d t d  } t j | |  t	 d d d g  } | j j d  } t
 j d d d g d d } t j | |  d  S(   Ns   a|bs   a|cRœ   i   i    Rr  RS  s   a;bR   i   t   ;t   7abs   b|cRé   Rª   RZ   (   i   i   i    (   i   i    i   (   i    i   i   (   R   Rª   RZ   (   R
   R_   R   Rf   R>   R   R   R   R   R   R	   RŠ  R   (   Rj   R   R   R   R  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_get_dummiesª  s    --c         C   sÏ   t  d d d g  } | j j d  } t d d d g d d d g d d d g g d d d d g } t j | |  t d	 d
 d g  } | j j d  } t j d d d g d d } t j	 | |  d  S(   NR   s   b,nameRª   R   i   i    Rr  R   s   a|bs   name|cs   b|nameRœ   Ré   RZ   (   i   i   i    i    (   i    i    i   i   (   i    i   i    i   (   R   Rª   RZ   R   (
   R
   Rf   R>   R   R   R   R   R	   RŠ  R   (   Rj   R   R   R   R  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt    test_get_dummies_with_name_dummy¿  s    -		c      
   C   sE  t  d d t j d g  } | j j d  j j d  } t j | |  t  d t d t	 t
 j   d d  d d	 g	  } t  |  j j d  j j d  } t  d t d t t d t t t g	  } t | t   sÖ t  t j | |  t  t d  t d  t j t d  g  } | j j d  j j d  } t j | |  d  S(
   Nt   a_b_ct   c_d_et   f_g_hRQ   t   a_bt   asdf_cas_asdfR²   i   g       @(   R
   R_   R   Rf   R8   R   R   R   R¯   Rù   R    Rú   R§   R   Ri   R"  R   (   Rj   Rc   R   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt	   test_joinÐ  s    $'-c      
   C   sH  t  d d d t j d g  } | j j   } | j d    } t j | |  t  d t d t	 t
 j   d d  d d	 g	  } t  |  j j   } t  d
 t d t t d
 t t t g	  } t | t   sÍ t  t j | |  t  t d  t d  t d  t j t d  g  } | j j   } | j d    } t j | |  d  S(   NR²   t   fooot   fooooot   foooooooc         S   s   t  |   r t |   St S(   N(   R   RH   R¯   (   RF  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  è  s    R  R  i   g       @i   i   c         S   s   t  |   r t |   St S(   N(   R   RH   R¯   (   RF  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  ú  s    (   R
   R_   R   Rf   RH   t   mapR   R   R¯   Rù   R    Rú   R§   R   Ri   R"  R   (   Rj   Rc   R   Rû   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_lenä  s    ''c      
   C   sx  t  d t d d g  } | j j d  } t  d d g t g  d g g  } t j | |  t  d t d t t j   d d  d d g	  } t  |  j j d  } t  d d g t g  t t d g t t t g	  } t
 | t   så t  t j | |  t  t d  t t d  t d  g  } | j j d  } t  t d  t d  g t g  t d  g g  } t j | |  d  S(   NR3  R²   Re  s   BAD[_]*Rd  i   g       @(   R
   R¯   Rf   R$   R   R"  Rù   R    Rú   R§   R   Ri   R   (   Rj   Rc   R   Rû   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_findallý  s    !0*3c         C   s¥  t  d d d d d g  } | j j d  } t j | t  d d d	 d
 d g   t j g  | j D] } | j d  ^ qb d t j } t j	 | j |  | j j
 d  } t j | t  d d d d d g   t j g  | j D] } | j
 d  ^ qã d t j } t j	 | j |  | j j d d  } t j | t  d d d d d g   t j g  | j D] } | j d d  ^ qgd t j } t j	 | j |  | j j
 d d  } t j | t  d d d d d g   t j g  | j D] } | j
 d d  ^ qîd t j } t j	 | j |  | j j d d d  } t j | t  d d d d d g   t j g  | j D] } | j d d d  ^ qxd t j } t j	 | j |  | j j
 d d d  } t j | t  d d d d d g   t j g  | j D] } | j
 d d d  ^ qd t j } t j	 | j |  t j t d d  | j j d
  } Wd  QXt j t d d  | j j
 d
  } Wd  QXd  S(   Nt   ABCDEFGt   BCDEFEFt	   DEFGHIJEFt   EFGHEFt   XXXXt   EFi   i   i   i    iÿÿÿÿR^   i   i   i   R)   s!   expected a string object, not int(   R
   Rf   R#   R   R   R_   R`   Rc   t   int64Rø   R2   Rv   Rx   R   (   Rj   Rc   R   R1  R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt	   test_find  sJ    %+%+%.%.%1%1

c         C   s¥  t  d t j d t j d g  } | j j d  } t j | t  d t j d t j d g   | j j d  } t j | t  d t j d t j d g   | j j d d	  } t j | t  d t j d t j d g   | j j d d	  } t j | t  d t j d t j d g   | j j d d	 d
  } t j | t  d t j d t j d g   | j j d d	 d
  } t j | t  d t j d t j d g   d  S(   NR  R  R  R  i   i   iÿÿÿÿi   i   i   (   R
   R_   R   Rf   R#   R   R   R2   (   Rj   Rc   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_find_nanC  s    !+++++c         C   s-  d   } xt  t g D]} | d d d d g  } | j j d  } | | | d d d	 d
 g   t j g  | j D] } | j d  ^ qu d t j } t j	 | j |  | j j
 d  } | | | d d d d g   t j g  | j D] } | j
 d  ^ qð d t j } t j	 | j |  | j j d d  } | | | d d d d g   t j g  | j D] } | j d d  ^ qnd t j } t j	 | j |  | j j
 d d  } | | | d d d d g   t j g  | j D] } | j
 d d  ^ qïd t j } t j	 | j |  | j j d d d  } | | | d d d d g   t j g  | j D] } | j d d d  ^ qsd t j } t j	 | j |  | j j
 d d
 d  } | | | d d d	 d g   t j g  | j D] } | j
 d d
 d  ^ qúd t j } t j	 | j |  t j t d d  | j j d  } Wd  QXd } t j t d |  | j j d
  } Wd  QXq Wt  d d d t j g  } | j j d  } t j | t  d	 d	 d
 t j g   | j j
 d  } t j | t  d d	 d t j g   d  S(   Nc         S   s6   t  |  t  r" t j |  |  n t j |  |  d  S(   N(   R   R
   R   R   R   (   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   _checkY  s    R  R  R  R  R  i   i   i   i    R^   i   i   R×   i   R)   s   substring not foundt   DEs!   expected a string object, not intt   abcbRÂ   t   bcbeRª   i   (   R
   R   Rf   R&   R_   R`   Rc   R  R   Rø   R3   Rv   Rx   Rº   R   R   R   (   Rj   R   R>  R   R   R1  R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt
   test_indexW  sV    	++..11%c      
   C   s	  t  d d t d t d g  } | j j d d d } t  d d	 t d
 t d g  } t j | |  | j j d d d } t  d d t d t d g  } t j | |  | j j d d d } t  d d t d t d g  } t j | |  t  d t d t t j   d d  d d g	  } t  |  j j d d d } t  d t d	 t t d t t t g	  } t
 | t   swt  t j | |  t  d t d t t j   d d  d d g	  } t  |  j j d d d } t  d t d t t d t t t g	  } t
 | t   st  t j | |  t  d t d t t j   d d  d d g	  } t  |  j j d d d } t  d t d t t d t t t g	  } t
 | t   s¥t  t j | |  t  t d  t d  t t d  t t d  g  } | j j d d d } t  t d  t d	  t t d
  t t d  g  } t j | |  | j j d d d } t  t d  t d  t t d  t t d  g  } t j | |  | j j d d d } t  t d  t d  t t d  t t d  g  } t j | |  d  S(   NR   Rª   RZ   t   eeeeeei   t   sideR   s       as       bs       cR   s   a    s   b    s   c    t   boths     a  s     b  s     c  t   eei   g       @s      ees   ee   s     ee (   R
   R¯   Rf   R,   R   R"  Rù   R    Rú   R§   R   Ri   R   (   Rj   Rc   R   Rû   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_pad  sF    -'-'-'6666c      	   C   sz  t  d d t d t d g  } | j j d d d d d	 } t  d
 d t d t d g  } t j | |  | j j d d d d d	 } t  d d t d t d g  } t j | |  | j j d d d d d	 } t  d d t d t d g  } t j | |  d } t j t d |  | j j d d d } Wd  QXd } t j t d |  | j j d d d } Wd  QXd  S(   NR   Rª   RZ   R%  i   R&  R   t   fillchart   Xt   XXXXat   XXXXbt   XXXXcR   t   aXXXXt   bXXXXt   cXXXXR'  t   XXaXXt   XXbXXt   XXcXXs%   fillchar must be a character, not strR)   t   XYs%   fillchar must be a character, not int(	   R
   R¯   Rf   R,   R   R"  Rv   Rx   R   (   Rj   Rc   R   Rû   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_pad_fillcharÎ  s     RS   R   R(   R4   R<   R,   c         C   sT   t  d d d d g  } d } t j t d |  t | j |  d  Wd  QXd  S(   NR·   t   22R   RŽ   s#   width must be of integer type, not*R)   RS   (   R
   Rv   Rx   R   R   Rf   (   Rj   RS   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_pad_widthæ  s    c   	   	   C   sÄ  d   } x_t  t g D]Q} | d d d d g  } t j s^ d d  l } | j d d  } n t j d d  } | j j |  } | d	 d
 d d g  } | | |  t j s-| j j | d d } | d d
 d d g  } | | |  | j j d  d d } | d d d d g  } | | |  q d } t	 j
 t d |  | j j | d d } Wd  QXq Wt  d d d d g  } t  d d d t j g  } | j j |  } t j | |  d  S(   Nc         S   s6   t  |  t  r" t j |  |  n t j |  |  d  S(   N(   R   R
   R   R   R   (   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyR   ñ  s    t   abcdefgt   abcct   cdddfgt   cdefgggiÿÿÿÿRS  t   cdet   cdedefgt   cdeet   edddfgt   edefgggt   deletecharst   fgt   cdedet   edddt   edet   abcdet   cddds#   deletechars is not a valid argumentR)   R   Rª   RZ   g333333ó?R±   RÓ   (   R
   R   R   R   RY   Rë  Rf   R:   R§   Rv   Rx   Rº   R_   R   R   R   (	   Rj   R   R>  R   RY   Rð  R   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_translateï  s0    			"c         C   s  t  d d t d t d g  } | j j d  } t  d d t d t d g  } t j | |  | j j d  } t  d	 d
 t d t d g  } t j | |  | j j d  } t  d d t d t d g  } t j | |  t  d t d t t	 j
   d d d  d d g
  } t  |  j j d  } t  d t d t t d d t t t g
  } t | t   set  t j | |  t  |  j j d  } t  d	 t d
 t t d d t t t g
  } t | t   sÌt  t j | |  t  |  j j d  } t  d t d t t d d t t t g
  } t | t   s3t  t j | |  t  t d  t d  t t d  t t d  g  } | j j d  } t  t d  t d  t t d  t t d  g  } t j | |  | j j d  } t  t d	  t d
  t t d  t t d  g  } t j | |  | j j d  } t  t d  t d  t t d  t t d  g  } t j | |  d  S(   NR   Rª   RZ   R%  i   s     a  s     b  s     c  s   a    s   b    s   c    s       as       bs       ct   eeei   g       @s    eee s   eee  s     eee(   R
   R¯   Rf   R   R   R"  R(   R4   Rù   R    Rú   R§   R   Ri   R   (   Rj   Rc   R   Rû   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_center_ljust_rjust	  sD    !***6666c         C   sI  t  d d d d d g  } | j j d d d } t  d	 d
 d d d g  } t j | |  t j g  | j D] } | j d d  ^ qn d t j } t j	 | j |  | j j
 d d d } t  d d d d d g  } t j | |  t j g  | j D] } | j
 d d  ^ qþ d t j } t j	 | j |  | j j d d d } t  d d d d d g  } t j | |  t j g  | j D] } | j d d  ^ qd t j } t j	 | j |  d } t j t d | j d d   | j j d d d Wd  QXt j t d | j d d   | j j
 d d d Wd  QXt j t d | j d d   | j j d d d Wd  QXt j t d | j d d   | j j d d d Wd  QXt j t d | j d d   | j j
 d d d Wd  QXt j t d | j d d   | j j d d d Wd  QXd  S(   NR   RŽ   RX  t   dddddR%  i   R*  R+  R2  t   XXbbXt   XccccR^   R/  t   bbXXXt   ccccXR,  t   XXXbbs)   fillchar must be a character, not {dtype}R)   Rf   R5  Rê  i   (   R
   Rf   R   R   R   R_   R`   Rc   Rö   Rø   R(   R4   Rv   Rx   R   R   (   Rj   Rc   R   R   R1  t   template(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt    test_center_ljust_rjust_fillcharJ	  s@    ...""""""c         C   s  t  d d d d d g  } | j j d  } t  d d d	 d
 d g  } t j | |  t j g  | j D] } | j d  ^ qh d t j } t j	 | j |  | j j d  } t  d d d d d g  } t j | |  t j g  | j D] } | j d  ^ qï d t j } t j	 | j |  t  d t j
 d t j
 d g  } | j j d  } t  d t j
 d	 t j
 d g  } t j | |  d  S(   NR·   R7  RÜ   t   333t   45678i   t   00001t   00022t   00aaat   00333R^   i   t   001t   022(   R
   Rf   R<   R   R   R_   R`   Rc   Rö   Rø   R   (   Rj   Rc   R   R   R1  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt
   test_zfilly	  s"    ++!!c      	   C   s9  t  d d t d g  } | j j d  } t  d d d g d d d	 g t d
 d d g g  } t j | |  t  d d t d g  } | j j d  } t j | |  | j j d d t } t j | |  t  d t d t t j	   d  d d g  } | j j d  } t  d d d g t d d	 d
 g t t t t t g  } t | t   sVt  t j | |  | j j d d t } t | t   st  t j | |  t  t d  t d  t t d  g  } | j j d  } t  t d  t d  t d  g t d  t d  t d	  g t t d
  t d  t d  g g  } t j | |  | j j d d t } t j | |  t  t d  t d  t t d  g  } | j j d  } t  t d  t d  t d  g t d  t d  t d	  g t t d
  t d  t d  g g  } t j | |  d  S(   NR  R  R  RQ   R   Rª   RZ   R±   RÓ   RS   t   gRŠ   t   a__b__ct   c__d__et   f__g__ht   __R!   t   d_e_fi   g       @s   a,b_cs   c_d,es   f,g,hs   [,_](   R
   R¯   Rf   R8   R   R   R  Rù   R    Rú   R§   R   Ri   R"  R   (   Rj   Rc   R   Rû   Rt   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt
   test_split	  s<    36*B'*B'c      	   C   sm  t  d d t d g  } | j j d  } t  d d d g d d d	 g t d
 d d g g  } t j | |  t  d d t d g  } | j j d  } t j | |  | j j d d t } t j | |  t  d t d t t j	   d  d d g  } | j j d  } t  d d d g t d d	 d
 g t t t t t g  } t | t   sVt  t j | |  | j j d d t } t | t   st  t j | |  t  t d  t d  t t d  g  } | j j d  } t  t d  t d  t d  g t d  t d  t d	  g t t d
  t d  t d  g g  } t j | |  | j j d d t } t j | |  t  t d  t d  t t d  g  } | j j d  } t  t d  g t d  g t t d  g g  } t j | |  t  d d t d g  } | j j d d d } t  d d g d d	 g t d d g g  } t j | |  d  S(   NR  R  R  RQ   R   Rª   RZ   R±   RÓ   RS   R]  RŠ   R^  R_  R`  Ra  R!   Rb  i   g       @s   a,b_cs   c_d,es   f,g,hs   [,_]R5  R  t   c_dt   f_g(   R
   R¯   Rf   RK   R   R   R  Rù   R    Rú   R§   R   Ri   R"  R   (   Rj   Rc   R   Rû   Rt   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_rsplitœ	  sB    36*B'*3*c         C   sá   t  d g d d } | j j d t  } t g  g  } t j | |  t  d d d d g d d } | j j d t  } t d d	 d
 g d d	 t j g t j t j t j g t j t j t j g g  } t j | |  d  S(   NR'   R   t   testR!   s   a b cs   a bR.   R   Rª   RZ   (	   R
   Rf   R8   Rù   R   R   R   R_   R   (   Rj   Rc   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_split_blank_stringî	  s    3c         C   sl   t  d d g  } | j j   } d d g } | d | k sC t  | j j   } | d | k sh t  d  S(   Ns   Wes McKinneys   Travis  Oliphantt   Travist   Oliphanti   (   R
   Rf   R8   Ri   RK   (   Rj   R   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_split_noargsû	  s    c         C   sÑ   t  d d g  } | j j d d  } | j j   } t j | |  | j j d d  } t j | |  | j j d  } | j j d d d } t j | |  | j j d d d } t j | |  d  S(   Ns   bd asdf jfgs   kjasdflqw asdfnfkR5  iÿÿÿÿi    t   asdf(   R
   Rf   R8   R   R   (   Rj   R   R   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_split_maxsplit
  s    c         C   sg   t  d d g  } | j j d d  } t  i d d g d 6d d g d 6 } t j | | d	 t d  S(
   Ns
   split onces   split once too!R5  i   R8   t   oncei    s	   once too!t   check_index_type(   R
   Rf   R8   R   R   R  (   Rj   R   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt    test_split_no_pat_with_nonzero_n
  s    &c         C   s  t  d d g  } | j j d d t } t i t  d d g  d 6 } t j | |  t  d d g  } | j j d d t } t i d d	 g d 6d
 d g d 6d d g d 6 } t j | |  t  d d g  } | j j d d t } t i d d g d 6d d g d 6d d g d 6t d g d 6t d g d 6t d g d 6 } t j | |  t  d d g d d d  g } | j j d d t } t i d d	 g d 6d d g d 6d d d  g } t j | |  t j	 t
 d! d"  | j j d d d# Wd  QXd  S($   Nt   nosplitt   alsonosplitRQ   R!   i    t   some_equal_splitst   with_no_nanst   somet   witht   equalt   noi   t   splitst   nansi   t   some_unequal_splitst   one_of_these_things_is_nott   onet   unequalt   oft   theset   thingsi   t   isi   t   noti   t   some_splitst
   with_indexR&   t   preservet   meR)   s   expand must bet   not_a_boolean(   R
   Rf   R8   Rù   R   R   R   R¯   Rv   Rx   Rº   (   Rj   R   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_split_to_dataframe
  s4    #c      
   C   sÈ  t  d d t j g  } | j j d d t } | } t j | |  | j d k s[ t	  t  d d t j d  g  } | j j d d t } t j d d t j t j t j g d  d  d  g g  } t j | |  | j d k sé t	  t  d d t j d  g  } | j j d d t } t j d d d
 t t t f d t j t j t j t j t j t j f d g  } t j | |  | j d k st	  t j t d d  | j j d d d Wd  QXd  S(    NRq  Rr  RQ   R!   i   Rs  Rt  Ru  Rw  Ry  Rv  Rx  Rz  i   R{  R|  R~  R}  R  R  R  R  R  i   R)   s   expand must beR  (   Ru  Rw  Ry  (   Rv  Rx  Rz  (   R}  R  R  R  R  R  (   NNNNNN(   R   R_   R   Rf   R8   Rù   R   R   t   nlevelsRi   R§   R	   RŠ  R¯   Rv   Rx   Rº   (   Rj   R  R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_split_to_multiindex_expand<
  s:    	  c         C   s÷  t  d d g  } | j j d d t } t i t  d d g  d 6 } t j | |  t  d d g  } | j j d d t } t i d d	 g d 6d
 d g d 6d d g d 6 } t j | |  | j j d d t d d } t i d d	 g d 6d
 d g d 6d d g d 6 } t j | |  | j j d d t d d } t i d d g d 6d d g d 6 } t j | |  t  d d g d d d g } | j j d d t } t i d d	 g d 6d d g d 6d d d g } t j | |  d  S(   NRq  Rr  RQ   R!   i    Rs  Rt  Ru  Rv  Rw  Rx  i   Ry  Rz  i   R5  t
   some_equalt   with_noR  R  R&   R  R  (   R
   Rf   RK   Rù   R   R   R   (   Rj   R   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_rsplit_to_dataframe_expand`
  s.    &#c         C   s'  t  d d g  } | j j d d t } | } t j | |  | j d k sU t  t  d d g  } | j j d d t } t j	 d d g  } t j | |  | j d k s¹ t  t  d d g  } | j j d d t d d } t j	 d d g  } t j | |  | j d k s#t  d  S(   NRq  Rr  RQ   R!   i   Rs  Rt  Ru  Rw  Ry  Rv  Rx  Rz  i   R5  R  R  i   (   Ru  Rw  Ry  (   Rv  Rx  Rz  (   R  Ry  (   R  Rz  (
   R   Rf   RK   Rù   R   R   R  Ri   R	   RŠ  (   Rj   R  R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt    test_rsplit_to_multiindex_expand}
  s"    		c         C   s   t  d t g  } | j j d d t } t d d d g t t t g g  } t j | |  t d   | j	 d D  s t
  d  S(	   Ns   foo,bar,bazR   R!   R²   R   t   bazc         s   s   |  ] } t  j |  Vq d  S(   N(   R_   t   isnan(   RR   RF  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pys	   <genexpr>
  s    i   (   R
   R¯   Rf   R8   Rù   R   R   R   t   allt   ilocRi   (   Rj   R   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_split_nan_expand
  s
    $c         C   sm  t  d d g d d } | j j d  } t  d d g d d	 g g d d } t j | |  | j j d d
 t } t d d g d d	 g g  } t j | |  t d d g d d } | j j d  } t d d g d d	 g g d d } | j	 d k st
  t j | |  | j j d d
 t } t j d d g  } | j	 d k sYt
  t j | |  d  S(   Ns   a,bs   c,dR   RÆ  R   R   Rª   RZ   R±   R!   i   i   (   R   Rª   (   RZ   R±   (   R
   Rf   R8   R   R   Rù   R   R   R   R  Ri   R   R	   RŠ  (   Rj   R   R^  Rû   R  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_split_with_name
  s     $$c         C   sÊ  t  d d t d d  g  } | j j d d t } t  d< d= t d> d  g  } t j | |  | j j d d t } t  d? d@ t dA d  g  } t j | |  t  d d t d d  g  } | j j d d t } t  dB dC t dD d  g  } t j | |  | j j d d t } t  dE dF t dG d  g  } t j | |  t  d d t d d  g  } | j j d t  } t  dH dI t dJ d  g  } t j | |  | j j d t  } t  dK dL t dM d  g  } t j | |  t  d% d& t d' d  g  } | j j d d t } t  dN dO t dP d  g  } t j | |  | j j d d t } t  dQ dR t dS d  g  } t j | |  t  d) d* t d+ g  } | j j d d t } t  dT dU t dV g  } t j | |  | j j d d t } t  dW dX t dY g  } t j | |  t  d8 d9 d: d; g  } | j j d d t j	   } | g  | D] } | j d  ^ qVk szt
  | j j d d t j	   } | g  | D] } | j d  ^ q¢k sÆt
  d  S(Z   NR  R  R  RQ   R!   R   t   b_cRZ   t   d_eRS   t   g_hR  Rd  RÓ   Re  RŠ   R^  R_  R`  Ra  t   b__ct   d__et   g__ht   a__bt   c__dt   f__gs   a b cs   c d es   f g hR.   s   b cs   d es   g hs   a bs   c ds   f gRS  R=  t   fghR'   u   a_b_cu   c_d_eu   f_g_hu   au   _u   b_cu   cu   d_eu   fu   g_hu   a_bu   c_du   eu   f_gu   ht   A_B_Ct   B_C_Dt   E_F_GR  (   R   RQ   R  (   RZ   RQ   R  (   RS   RQ   R  (   R  RQ   RZ   (   Rd  RQ   RÓ   (   Re  RQ   RŠ   (   R   Ra  R  (   RZ   Ra  R  (   RS   Ra  R  (   R  Ra  RZ   (   R  Ra  RÓ   (   R  Ra  RŠ   (   R   R.   s   b c(   RZ   R.   s   d e(   RS   R.   s   g h(   s   a bR.   RZ   (   s   c dR.   RÓ   (   s   f gR.   RŠ   (   RS  R'   R'   (   R=  R'   R'   (   R  R'   R'   (   R'   R'   RS  (   R'   R'   R=  (   R'   R'   R  (   u   au   _u   b_c(   u   cu   _u   d_e(   u   fu   _u   g_h(   u   a_bu   _u   c(   u   c_du   _u   e(   u   f_gu   _u   h(   R
   R¯   R§   Rf   R-   R  R   R   R5   R0  Ri   (   Rj   Rc   R   Rû   R1  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_partition_series¶
  sd    		.c         C   sÜ  t  d d d t j d  g  } | j j d d t } t  t j d d d t j d  g   } t j	 | |  | j
 d k s t  | j j d d t } t  t j d d d t j d  g   } t j	 | |  | j
 d k sæ t  | j j d  } t  d d d t j t j t j f d g  } t j	 | |  t | t  sJt  | j
 d k s_t  | j j d  } t  d d d t j t j t j f d  g  } t j	 | |  t | t  sÃt  | j
 d k sØt  d  S(!   NR  R  R  RQ   R!   R   R  RZ   R  RS   R  i   R  Rd  RÓ   Re  RŠ   i   (   R   RQ   R  (   RZ   RQ   R  (   RS   RQ   R  (   R  RQ   RZ   (   Rd  RQ   RÓ   (   Re  RQ   RŠ   (   R   RQ   R  (   RZ   RQ   R  (   RS   RQ   R  (   NNN(   R  RQ   RZ   (   Rd  RQ   RÓ   (   Re  RQ   RŠ   (   NNN(   R   R_   R   R§   Rf   R-   R  R`   R   R   R  Ri   R5   R   R	   (   Rj   Rc   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_partition_indexý
  s2    		c         C   s*  t  d d t d d  g  } | j j d  } t i d d t j d d  g d 6d d t j d d  g d	 6d
 d t j d d  g d 6 } t j	 | |  | j j
 d  } t i d d t j d d  g d 6d d t j d d  g d	 6d d t j d d  g d 6 } t j	 | |  t  d d t d d  g  } | j j d d t } t i d d t j d d  g d 6d d t j d d  g d	 6d
 d t j d d  g d 6 } t j	 | |  | j j
 d d t } t i d d t j d d  g d 6d d t j d d  g d	 6d d t j d d  g d 6 } t j	 | |  d  S(   NR  R  R  RQ   R   RZ   RS   i    i   R  R  R  i   R  Rd  Re  RÓ   RŠ   R!   (   R
   R¯   R§   Rf   R-   R   R_   R   R   R   R5   Rù   (   Rj   Rc   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_partition_to_dataframe  s,    c         C   ss  t  d d g d d } | j j d  } t i d d g d 6d d g d	 6d
 d g d 6 } t j | |  | j j d d t } t  d d g d d } t j | |  t d d g d d } | j j d  } t	 j
 d d g  } | j d k st  t j | |  | j j d d t } t t j d d g  d d } | j d	 k s_t  t j | |  d  S(   Ns   a,bs   c,dR   RÆ  R   R   RZ   i    i   Rª   R±   i   R!   i   (   R   R   Rª   (   RZ   R   R±   (   R   R   Rª   (   RZ   R   R±   (   R   R   Rª   (   RZ   R   R±   (   R
   Rf   R-   R   R   R   R  R   R   R	   RŠ  R  Ri   R   R_   R`   (   Rj   R   R^  Rû   R  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_partition_with_name;  s     3!c         C   sŒ   t  d d t d g  } | j j d d  } t j t  * | j j d d  } t j | |  Wd  QX| j j d d  } t j t  * | j j d d  } t j | |  Wd  QXd  S(   NR  R  R  R   RQ   R  (	   R
   R¯   Rf   R-   R   RÅ   RÆ   R   R5   (   Rj   Rc   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_partition_deprecationT  s    c         C   s   t  d g  } | j j d  } t  d d d g g  } t j | |  | j j d d  } t  d g  } t j | |  d  S(   Ns   A|B|CRœ   RÈ   RÉ   RÊ   R.   s   A B C(   R
   Rf   R8   R   R   R0   (   Rj   R   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_pipe_failuresf  s    c      	   C   s­  t  d d t d g  } | j j d d  } t  d d t d g  } t j | |  x¶ d d d d g D]¢ \ } } } yj | j j | | |  } t  g  | D]+ } t |  sÁ | | | |  n t ^ q  } t j | |  Wqh t k
 r	d | | | f GH  qh Xqh Wt  d t d t	 t
 j   d  d d g  }	 t  |	  j j d d  }
 t  d t d t t t t t g  } t |
 t   st  t j |
 |  t  |	  j j d d d  }
 t  d t d t t t t t g  } t  t d  t d  t t d  g  } | j j d d  } t  t d  t d  t t d  g  } t j | |  | j j d	 d d  } t  t d  t d  t t d  g  } t j | |  d  S(   Nt   aafootwot   aabartwot   aabazquxi   i   R²   R   R  i    i   iÿÿÿÿi
   s   failed on %s:%s:%si   g       @t   ooft   rabt   afowt   abrwt   abzu(   i    i   iÿÿÿÿ(   NNiÿÿÿÿ(   i   i
   i   (   i   i    iÿÿÿÿ(   R
   R¯   Rf   R6   R   R   R§   R   t
   IndexErrorRù   R    Rú   R   Ri   R"  R   (   Rj   Rc   R   Rû   t   startRç  Rè  R   R   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt
   test_slicet  s:    8$$***c         C   s4  t  d d d d t g  } t  d d d d t g  } | j j d d	  } t j | |  t  d
 d d d t g  } | j j d d	 d  } t j | |  t  d d d d t g  } | j j d d d  } t j | |  t  d d d d t g  } | j j d d d  } t j | |  t  d d d d t g  } | j j d d  d  } t j | |  t  d d d d t g  } | j j d  d d  } t j | |  t  d d d d t g  } | j j d d d  } t j | |  t  d d d d t g  } | j j d  d	 d  } t j | |  d  S(!   Nt   shorts   a bit longert   evenlongerthanthatR'   t   shrts   a it longert   evnlongerthanthati   i   t   shzrts   a zit longert   evznlongerthanthatR1   t   shzorts   a zbit longert   evzenlongerthanthati   t   shorzs   a bit longezt   evenlongerthanthaziÿÿÿÿt   zrtt   zert   zatiþÿÿÿt   shortzs   a bit zngert   evenlozerthanthati   i   t   evenlongzerthanthatiöÿÿÿ(   R
   R¯   Rf   R7   R   R   R§   (   Rj   Rc   Rû   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_slice_replace  s2    c         C   sÁ   t  d d t d g  } | j j   } t  d d t d g  } t j | |  | j j   } t  d d t d g  } t j | |  | j j   } t  d	 d
 t d g  } t j | |  d  S(   Ns     aa   s    bb 
s   cc  R³   RŽ   t   ccs   aa   s   bb 
s     aas    bb(   R
   R¯   Rf   RM   R   R   RJ   RL   (   Rj   Rc   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_strip_lstrip_rstripÄ  s    c      	   C   sH  t  d t d t t j   d  d d g  } t  |  j j   } t  d t d t t t t t g  } t | t   sx t	  t
 j | |  t  |  j j   } t  d t d t t t t t g  } t | t   sÖ t	  t
 j | |  t  |  j j   } t  d	 t d
 t t t t t g  } t | t   s4t	  t
 j | |  d  S(   Ns     aa  s    bb 	
i   g       @R³   RŽ   s   aa  s   bb 	
s     aas    bb(   R
   R¯   Rù   R    Rú   R§   Rf   RM   R   Ri   R   R"  RJ   RL   (   Rj   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_strip_lstrip_rstrip_mixedÓ  s    $$$c         C   s	  t  t d  t d  t t d  g  } | j j   } t  t d  t d  t t d  g  } t j | |  | j j   } t  t d  t d  t t d  g  } t j | |  | j j   } t  t d	  t d
  t t d  g  } t j | |  d  S(   Ns     aa   s    bb 
s   cc  R³   RŽ   RÅ  s   aa   s   bb 
s     aas    bb(	   R
   R   R¯   Rf   RM   R   R   RJ   RL   (   Rj   Rc   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt    test_strip_lstrip_rstrip_unicodeê  s    ****c         C   sµ   t  d d d g  } | j j d  } t  d d d g  } t | |  | j j d  } t  d d d g  } t | |  | j j d  } t  d	 d d g  } t | |  d  S(
   Nt   xxABCxxs   xx BNSDs   LDFJH xxRF  t   ABCs    BNSDs   LDFJH t   ABCxxt   xxABC(   R
   Rf   RM   R   RJ   RL   (   Rj   Rc   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_strip_lstrip_rstrip_argsú  s    c         C   sÙ   t  t d  t d  t d  g  } | j j t d   } t  d d d g  } t | |  | j j t d   } t  d d d g  } t | |  | j j t d   } t  d	 d d g  } t | |  d  S(
   NRÉ  s   xx BNSDs   LDFJH xxRF  RÊ  s    BNSDs   LDFJH RË  RÌ  (   R
   R   Rf   RM   R   RJ   RL   (   Rj   Rc   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt%   test_strip_lstrip_rstrip_args_unicode	  s    'c         C   s;  t  t d  t d  t d  t d  t d  t d  t d  t d  t d	  g	  } t  t d  t d  t d
  t d  t d  t d  t d  t d  t d  g	  } | j j d d t } t | |  t  d t j t d  g  } t  d t t d  g  } | j j d  } t | |  d  S(   Ns   hello worlds   hello world!s   hello world!!t   abcdefabcdet   abcdefabcdeft   abcdefabcdefas   ab ab ab ab s   ab ab ab ab as   	s   hello
world!!s   abcdefabcdef
as   ab ab ab abs   ab ab ab ab
aR'   i   t   break_long_wordss     pre  s   ¬\u20ac\U00008000 abadcafes     pres   ¬\u20ac\U00008000 ab
adcafei   (	   R
   R   Rf   R;   Rù   R   R_   R   R¯   (   Rj   Rc   Rý   Rü   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt	   test_wrap  s    $c      	   C   s(  t  d d t j d g  } | j j d  j j d  } t  d d t j d g  } t j | |  t  d t d t	 t
 j   d  d d	 g  } t  |  j j d  j j d  } t  d t d t t t t t g  } t | t   së t  t j | |  t  t d  t d  t j t d  g  } | j j d  j j d  } t  t d  t d  t j t d  g  } t j | |  t  d
 d d g  } | j j d  j j d  } t  d d t j g  } t j | |  | j j d  j j d  } t  d d t j g  } t j | |  d  S(   NR  R  R  RQ   i   Rª   R±   R]  g       @t	   1_2_3_4_5t
   6_7_8_9_10t   11_12i   R¹   t   8iýÿÿÿ(   R
   R_   R   Rf   R8   R%   R   R   R¯   Rù   R    Rú   R§   R   Ri   R"  R   (   Rj   Rc   R   R   Rt   Rü   Rý   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_get2  s*    $$--c         C   sÀ   t  d d d d g d d d h i d d 6d d 6d d 6g  } | j j d  } t  d d t j d g  } t j | |  | j j d  } t  d d t j t j g  } t j | |  d  S(	   Ni   i   i   R   Rª   RZ   iÿÿÿÿ(   i   i   i   (   R
   Rf   R%   R_   R   R   R   (   Rj   Rc   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_get_complexW  s    !t   to_typec         C   s   t  | | d d g  g  g  } | j j d  } t  | d d g  g  } t j | |  | j j d  } t  t j g  } t j | |  d  S(   Ni   i   i    (   R
   Rf   R%   R   R   R_   R   (   Rj   RÚ  Rc   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_get_complex_nestedd  s    $c         C   s¶  t  d d d d d d t d d d	 g
  } | j j d
  } t  t t t t t t t j t t t g
  } t | |  | j j d
 d t } t  t t t t t t t j t t t g
  } t | |  | j j d  } t  t t t t t t t j t t t g
  } t | |  | j j d  } t  t t t t t t t j t t t g
  } t | |  | j j d d t } t  t t t t t t t j t t t g
  } t | |  d  S(   NRÈ   RÉ   RÊ   t   Aabat   BacaR'   t   CABAt   dogR   R   R  t   AaRR  (	   R
   R¯   Rf   R   R  Rù   R_   R   R   (   Rj   R   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_contains_moarp  s,    c         C   s:  t  t j t j t j g d t j } | j j d d t } t  t t t g d t j } t | |  | j j d d t	 } t  t	 t	 t	 g d t j } t | |  | j j d d d } t  d d d g d t j } t | |  | j j d  } t  t j t j t j g d t j } t | |  d  S(   NR^   R²   R	  (
   R
   R_   R   Rö   Rf   R   R  R  R   Rù   (   Rj   R   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_contains_nan  s    ''c         C   s  t  d d d d d d t d d d	 g
  } | j j d d
  } t  d
 d d d d d t d d d	 g
  } t | |  | j j d d
 d t } t  d
 d d d d d t d d d g
  } t | |  | j j d d d t } t  d d d d d d t d d d g
  } t | |  d  S(   NRÈ   RÉ   RÊ   RÜ  RÝ  R'   RÞ  Rß  R   t   YYYt   YYYabat   CYYYBYYYR  t
   YYYYYYbYYYt   BYYYcYYYt   cYYYts   ^.a|dogs   XX-XX s   XX-XX bas   XX-XX cas   XX-XX BAs   XX-XX t(   R
   R¯   Rf   R0   R   R  (   Rj   R   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_replace_moar¢  s    c      
   C   sÄ   t  d d d d d t d d d g	  } | j d	 } | j j d	  } t | |  | j d
  } | j j d d
  } t | |  | j d d  d  } | j j d d d d  } t | |  d  S(   NRã  RÉ   RÊ   Ræ  Rç  Rå  Rß  Rè  i    i   Rç  i   iÿÿÿÿR²  Rè  (   R
   R¯   Rf   R%   R   R6   (   Rj   R   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_string_slice_get_syntax¶  s    c         C   s   t  d d d g  } | j d } t  d t j d g  } t | |  t  d d d g  } | j d } t  d	 t j d
 g  } t | |  d  S(   Ni   i   i   i   i   R²   Rª   RR  R  R   (   i   i   (   i   (   i   i   i   (   R
   Rf   R_   R   R   (   Rj   R   R   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_string_slice_out_of_boundsÆ  s    c         C   sV  i d d 6d d 6d d 6t  j d 6} t |  } d } | j j | d	 t j d
 t } | j d j	   d d d g k s t
  | j j | d	 t j } | d s« t
  | j j | d	 t j } | d d d k sà t
  | j j | d	 t j } | d d k st
  t j t    | j j | d	 t j } Wd  QX| d sRt
  d  S(   Ns   dave@google.comR  s   steve@gmail.comt   Steves   rob@gmail.comt   Robt   Wess,   ([A-Z0-9._%+-]+)@([A-Z0-9.-]+)\.([A-Z]{2,4})R:  R!   i    R  R   R  i   (   R  R   R  (   R_   R   R
   Rf   R    R<  RO  Rù   R  R0  Ri   R)   R$   R   R   RÅ   t   UserWarningR   (   Rj   R@  R  R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_match_findall_flagsÓ  s"    
!(!c         C   sw   t  t d  t d  t d  g  } | j j d  } d   } | j j d  } | j |  } t j | |  d  S(   NR   Rª   s   aäs   utf-8c         S   s   |  j  d  S(   Ns   utf-8(   R   (   RF  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  ð  s    (   R
   R   Rf   R   R   R  R   R   (   Rj   t   baset   seriesRS   R   Rû   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_encode_decodeì  s    '	c         C   sì   t  t d  t d  t d  g  } t j t | j j d  d   } | j j d d  } | j |  } t j	 | |  t  d d d g  } t j t
 | j j d  d   } | j j d d  } | j |  } t j	 | |  d  S(   NR   Rª   s   at   cp1252c         S   s   |  j  d d  S(   NRô  t   ignore(   R   (   RF  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD  û  s    Rõ  c         S   s   |  j  d d  S(   NRô  Rõ  (   R   (   RF  (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRD    s    (   R
   R   Rv   Rx   t   UnicodeEncodeErrorRf   R   R  R   R   t   UnicodeDecodeErrorR   (   Rj   t
   encodeBaseRS   R   Rû   t
   decodeBase(    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_encode_decode_errorsö  s    '		c         C   se  d d d t  j d g } t | d d d d d	 d
 g } d d d t  j d g } t | d d d d d	 d
 g } | j j d  } t j | |  t d d d t  j d g d d d d d	 d
 g } | j j d  } t j | |  t j t	 d d  | j j d  Wd  QXt
 d d d g  } t
 d d d g  } | j j d  } t j | |  d  S(   NRÊ  u	   ïŒ¡ïŒ¢ïŒ£u	   ïŒïŒïŒu	   ïœ±ïœ²ïœŽR&   R   Rª   RZ   R±   RÓ   u   ABCu   123u	   ã¢ã€ãšt   NFKCR+   R)   s   invalid normalization formRÆ  (   R_   R   R
   Rf   R*   R   R   Rv   Rx   Rº   R   R   (   Rj   Rc   R   t   normedR   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_normalize
  s     !!c         C   sM  d d l  m } t j sµ d d g d f d t d  g d f t d  t d  g d f d d d g d	 f d d d
 g d f d d d
 d g d	 f d t d d d  g d f g } n d d g d f d t d  g d f t d  t d  g d f d d d g d	 f d d d
 g d f d d d
 d g d	 f d t d d d  g d f g } xk | D]c \ } } t |  } t t |  j	 |  st
  t | j	 |  s£t
  | j | k sUt
  qUWxk | D]c \ } } t |  } t t |  j	 |  sùt
  t | j	 |  st
  | j | k sÃt
  qÃWd t j g d f t d d d  g d f t d  g d f g } x | D] \ } } t |  } d } t j t d |  t |  j	 Wd  QXt j t d |  | j	 Wd  QX| j | k sst
  qsWt j d d g  } | j d k s t
  d } t j t d |  | j	 Wd  QXd  S(   Niÿÿÿÿ(   Rh   R   Rª   RY   Rt   R[   i   s   mixed-integergÍÌÌÌÌÌô?R³   iÛ  t   floatingt
   datetime64t   timedelta64s-   Can only use .str accessor with string valuesR)   s5   Can only use .str accessor with Index, not MultiIndex(   R   Rª   (   R   Rª   (   t   pandas.core.stringsRh   R   R   R   R    R   R   R
   Rf   Ri   t   inferred_typeR_   R   R   Rv   Rx   Ry   R	   RŠ  (   Rj   Rh   t   casesRc   t   tpR  RŸ   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt"   test_index_str_accessor_visibility"  sP    	$$$!c         C   s>   t  t d   } t j t d d  d | j _ Wd  QXd  S(   Nt   aabbcdeR)   s    You cannot add any new attributeR   (   R
   R   Rv   Rx   Ry   Rf   t   xlabel(   Rj   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt#   test_str_accessor_no_new_attributesR  s    
c         C   sÃ   t  t j t d  d  j t   } t  t j t d  d  j t   } t j rs t j	 t
 | j j |  nL | j j |  } t  t j d d d g d  j t   } t j | |  d  S(   NRS  t   S1t   defR;  t   bet   cft   S2(   R
   R_   R`   R   R   Ra   R   R   Rv   Rx   R   Rf   R   R   R   (   Rj   t   lhst   rhsR   R   (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   test_method_on_bytesY  s    ''		!N(   N(   RŒ  (   NRœ  (   RŒ  Rœ  (   N(   RŒ  Rœ  (   NRœ  (   RŒ  Rœ  ({   t   __name__t
   __module__Rk   Rv   t   markt   parametrizeRa   R
   R   R~   R   R   R¡   R€   R¥   Rš   R§   R«   RŒ   R¿   RÇ   RÔ   RÛ   Ræ   Rç   Rè   Ró   Rþ   R  R  R  R  R$  R'  R(  R,  R2  RA  RL  RP  RV  R[  R_  R`  Rc  R  R  R  R  R  RŽ  R¶  R»  RÂ  RÎ  RÏ  RÓ  Rà  Ræ  Rñ  Ró  R  R  R	  R
  R  R  R  R  R  R$  R)  R6  R8  RI  RK  RS  R\  Rc  Rf  Rh  Rk  Rm  Rp  R  R  R  R  R  R  R£  R€  R¥  RŠ  R§  Rš  R³  RÄ  RÆ  RÇ  RÈ  RÍ  RÎ  RÓ  RØ  RÙ  RŸ  R   R_   R`   RÛ  Rá  Râ  Ré  Rê  Rë  Rð  Ró  Rú  Rý  R  R  R  (    (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyRe   ©   sü   	'''7						*$+$
-$x'*,'			$	>										,	%	>			"				+	4	9			i						$&					!	K		'							.		=	:	-		'	4	/		.	1						 	$					G	!					*	&							%	*							
			0	(    (   i
   (   R   (   R   (   s   UTF-8(   s   UTF-8(   R   (   s   ([a-z]*)(   s   ([a-z]*)(   s   ([a-z]*)(   R   (   R   (   i    (   R'   (   R   (   i
   (   R   (   R+   (   i
   (   R.   (   R.   (   i   (   R   R1   (   R   (   R'   (   i
   (   R.   (   R.   (   i    i   (   i    i   R1   (   R.   (   R.   (   R   (   i   (   i
   (    (3   R    R   R<  t   numpyR_   R   R¯   t   numpy.randomR   Rv   t   pandas.compatR   R   R   R   t   pandasR   R   R	   R
   R   R   R   R  t   coreRg   t   pandas.util.testingt   utilt   testingR   R   R   R   R   R  Rù   t   zipt   _any_string_methodRU   RQ   t   dirRh   RÒ   t   missing_methodsRi   t   fixtureRX   t"   _any_allowed_skipna_inferred_dtypeRd   Ra   Re   (    (    (    s8   lib/python2.7/site-packages/pandas/tests/test_strings.pyt   <module>   s   4	
						! -!	!%