ó
šxŠ\c           @   s`   d  d l  Z d  d l Z d  d l Z d  d l j j Z d d l	 m
 Z
 d e
 f d „  ƒ  YZ d S(   iÿÿÿÿNi   (   t   TestDatat   TestSeriesReplacec           B   s˜   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c   	   
   C   sþ  d } t  j t j j | ƒ ƒ } t j | d d +d | d d +| j t j g d d t ƒ| j d ƒ } t	 j
 | | ƒ | j d t j ƒ } t j | | d k <t	 j
 | | ƒ t  j t j t j j | ƒ ƒ t	 j | ƒ d	 t ƒ} t j | d
 *d | d d +d | d d +| j t j d d g d ƒ } | d
  d k j ƒ  sHt ‚ | d d !d k j ƒ  sgt ‚ | d d !d k j ƒ  s†t ‚ t  j | d
  ƒ j ƒ  s¥t ‚ | j i d t j 6d d 6d d 6ƒ } | d
  d k j ƒ  sèt ‚ | d d !d k j ƒ  st ‚ | d d !d k j ƒ  s&t ‚ t  j | d
  ƒ j ƒ  sEt ‚ | j t j d d g d d d g ƒ } t	 j
 | | ƒ | j t j d d g d d t ƒ| d
  d k j ƒ  sºt ‚ | d d !d k j ƒ  sÙt ‚ | d d !d k j ƒ  søt ‚ t  j t j d t j g ƒ } t	 j
 | j t j d ƒ | j d ƒ ƒ t  j t j d d d t j d  t  j g ƒ } t	 j
 | j t j d ƒ | j d ƒ ƒ | j ƒ  } d | d <t	 j
 | j t j d ƒ | ƒ t  j |  j j ƒ } t	 j
 | j t j d ƒ | j d ƒ ƒ d } t j t d | ƒ' | j d d d g t j d g ƒ Wd  QXt j t d d ƒ$ | j d d g t j d g ƒ Wd  QXt  j d d d d d g ƒ } | j d d d d d g d d d d d g ƒ } t	 j
 | t  j d d d d d g ƒ ƒ d  S(   Nid   i    i   i   i
   iÿÿÿÿt   inplaceg        t   dtypei   t   foot   bari   i   iþÿÿÿiýÿÿÿs:   Replacement lists must match in length\. Expecting 3 got 2t   matchi   i   i   s   Cannot compare types .+(   t   pdt   Seriest   npt   randomt   randnt   nant   replacet   Truet   fillnat   tmt   assert_series_equalt   fabst   makeDateIndext   objectt   allt   AssertionErrort   isnat   inft   Nonet   NaTt   copyt   tst   indext   pytestt   raisest
   ValueErrort	   TypeError(	   t   selft   Nt   sert   expt   rst   rs2t   filledt   msgt   result(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace   s`    -	''"(-(
((%0c         C   sâ  t  j d t j d d d g ƒ } | j ƒ  } | j t j g ƒ } t j | | ƒ t  j d t j d d d g ƒ } | j ƒ  } | j t j ƒ } t j | | ƒ t  j t  j d d d ƒƒ } | j	 ƒ  } t  j
 d ƒ | j d <| j i t  j
 d ƒ t  j
 d	 ƒ 6ƒ } t j | | ƒ | j t  j
 d	 ƒ t  j
 d ƒ ƒ } t j | | ƒ t  j
 d
 d d ƒ} t  j t  j t  j
 d
 d d ƒg ƒ } | j t j t  j g t  j
 j ƒ } t  j t  j
 j | g d t ƒ} t j | | ƒ d  S(   Ni    i   i   i   t   20130101t   periodsi   t   20120101t   20130103s
   2015/01/01t   tzt   UTCR   (   R   R   R	   R   t   ffillR   R   R   t
   date_rangeR   t	   Timestampt   locR   t   minR   (   R"   R$   t   expectedR*   R   t   s(    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace_gh5319Y   s,    !!	'$!c      
   C   s  t  j d d d d d g ƒ } | j d d d g ƒ } t j | t  j d d d d d g ƒ ƒ | j ƒ  } | j d d d g d t ƒt j | t  j d d d d d g ƒ ƒ | j ƒ  } d } t j t	 d | ƒ' | j d d d g d t d	 d
 ƒWd  QXt j | | ƒ d  S(   Ni    i   i   i   i   R   sV   Invalid fill method\. Expecting pad \(ffill\) or backfill \(bfill\)\. Got crash_cymbalR   t   methodt   crash_cymbal(
   R   R   R   R   R   R   R   R   R   R    (   R"   R$   R*   R8   R)   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace_with_single_listw   s    (((c      	   C   sÈ   t  j d g d d g g  t j d g g ƒ } | } | j g  t j ƒ } t j | | ƒ t j t	 d d ƒ | j i g  t j 6ƒ Wd  QXt j t	 d d ƒ" | j i d d g t j 6ƒ Wd  QXd  S(	   Ni   i   i   i   R   s   cannot assign mismatcht   dummyt   alt(
   R   R   R	   R   R   R   R   R   R   R    (   R"   R8   R7   R*   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace_with_empty_listˆ   s    -c            s?  t  j t j d ƒ d d ƒ‰  ‡  f d †  } t  j d d d d d	 g ƒ } d
 g d g } } | | | | ƒ t  j d d d d d g ƒ } d
 g d g } } | | | | ƒ t  j d d d d d g ƒ } d
 d g d d g } } | | | | ƒ t  j d d d d t  j d ƒ g ƒ } d
 d g d t  j d ƒ g } } | | | | ƒ t  j d d d d t g d d ƒ} d
 d g d t g } } | | | | ƒ t  j d d d d ƒj ƒ  j d t ƒ } | j	 t
 ƒ j | d | d | d g d d d g ƒ } t  j d d d g | d
 j ƒ  d t
 ƒ} t j | | ƒ d  S(   Ni   R   t   int64c            sX   ˆ  j  ƒ  } ˆ  j |  | ƒ } | j |  | d t ƒt j | | ƒ t j | | ƒ d  S(   NR   (   R   R   R   R   R   (   t   to_rept   valR7   t   sct   r(   R8   (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   check_replace˜   s
    g        g      ð?g       @g      @g      @i   i    i   i   g      @i   t   aR,   R   s   1/1/2001s	   1/10/2001t   freqt   Dt   drop(   R   R   R	   t   arangeR4   R   R3   t	   to_seriest   reset_indext   astypeR   R   t   tolistR   R   (   R"   RE   t   et   trt   vt   drR*   R7   (    (   R8   s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace_mixed_types•   s.    '"$*,c         C   s>   t  j t t t g ƒ } | j d d ƒ } t j | | ƒ d  S(   Nt   funs
   in-the-sun(   R   R   R   t   FalseR   R   R   (   R"   R8   R*   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt#   test_replace_bool_with_string_no_opÀ   s    c         C   sV   t  j t t t g ƒ } | j t d ƒ } t  j d t d g ƒ } t j | | ƒ d  S(   Nt   2u(   R   R   R   RU   R   R   R   (   R"   R8   R*   R7   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace_bool_with_stringÅ   s    c         C   sZ   t  j t t t g ƒ } | j t t ƒ } t  j t g t | ƒ ƒ } t j | | ƒ d  S(   N(   R   R   R   RU   R   t   lenR   R   (   R"   R8   R*   R7   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace_bool_with_boolÌ   s    c         C   sS   t  j t t t g ƒ } t j t d d ƒ  | j i d d 6d t 6ƒ Wd  QXd  S(   NR   s   Cannot compare types .+t   asdbt   asdft   yes(   R   R   R   RU   R   R   R!   R   (   R"   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt%   test_replace_with_dict_with_bool_keysÒ   s    c         C   sQ  d } t  j t j t j j | ƒ ƒ t j | ƒ d t ƒ} t j	 | d *d | d d +d | d d	 +| j
 t j	 d d g d
 ƒ } | d  d
 k j ƒ  s t ‚ | d d !d
 k j ƒ  s¼ t ‚ | d d	 !d
 k j ƒ  sÛ t ‚ t  j | d  ƒ j ƒ  sú t ‚ | j
 i d
 t j	 6d d 6d d 6ƒ } | d  d
 k j ƒ  s=t ‚ | d d !d k j ƒ  s\t ‚ | d d	 !d k j ƒ  s{t ‚ t  j | d  ƒ j ƒ  sšt ‚ | j
 t j	 d d g d
 d d g ƒ } t j | | ƒ | j
 t j	 d d g d
 d t ƒ| d  d
 k j ƒ  st ‚ | d d !d
 k j ƒ  s.t ‚ | d d	 !d
 k j ƒ  sMt ‚ d  S(   Nid   R   i   R   i   i
   R   i   i   iÿÿÿÿiþÿÿÿiýÿÿÿR   (   R   R   R	   R   R
   R   R   R   R   R   R   R   R   R   R   R   (   R"   R#   R$   R&   R'   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace2×   s,    -	''"c         C   sW   t  j t d ƒ ƒ } t j | | j t ƒ  ƒ ƒ t j | | j t  j g  ƒ ƒ ƒ d  S(   Nt   abcd(   R   R   t   listR   R   R   t   dict(   R"   R8   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt    test_replace_with_empty_dictlikeù   s    c         C   sY   t  j d d d g ƒ } | j d t j ƒ } t  j d d d g ƒ } t j | | ƒ d  S(   Ni   i   i   t   2(   R   R   R   R	   R   R   R   (   R"   R8   R*   R7   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   test_replace_string_with_numberÿ   s    c         C   s[   t  j d d g ƒ } t  j d d g ƒ } | j i d d 6d d 6ƒ } t j | | ƒ d  S(   NRF   t   b(   R   R   R   R   R   (   R"   R8   R7   R*   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt(   test_replace_replacer_equals_replacement  s    c         C   sY   t  j d d d g ƒ } | j d t j ƒ } t  j d d d g ƒ } t j | | ƒ d  S(   Ni   i   i   u   2(   R   R   R   R	   R   R   R   (   R"   R8   R*   R7   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt    test_replace_unicode_with_number  s    c         C   sw   t  j d d d d d d g ƒ } | j d d g t j ƒ } t  j d t j d t j d d g ƒ } t j | | ƒ d  S(   Ni   i   i   t   4i   i   (   R   R   R   R	   R   R   R   (   R"   R8   R*   R7   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt$   test_replace_mixed_types_with_string  s    !'c         C   sÀ   t  j d d d d d g ƒ } | j d g d g ƒ } t  j d d d d d g ƒ } t j | | ƒ t  j d d d g ƒ } | j d g d g ƒ } t  j d d d g ƒ } t j | | ƒ d  S(   Ni    i   i   i   i   t   100000000000000000000t   100000000000000000001(   R   R   R   R   R   (   R"   R8   R*   R7   (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt"   test_replace_with_no_overflowerror  s    (   t   __name__t
   __module__R+   R9   R<   R?   RS   RV   RX   RZ   R^   R_   Rc   Re   Rg   Rh   Rj   Rm   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyR      s    	K				+					"					(   t   numpyR	   R   t   pandasR   t   pandas.util.testingt   utilt   testingR   t   commonR    R   (    (    (    s?   lib/python2.7/site-packages/pandas/tests/series/test_replace.pyt   <module>   s
   