ó
šxŠ\c           @   sØ  d  d l  m Z m  Z  m Z d  d l Z d  d l Z d  d l Z d  d l m Z m	 Z
 d  d l m Z m Z d  d l m Z d  d l m Z d  d l m Z m Z d  d l m Z m Z d  d	 l m Z d  d l Z d  d
 l m Z m Z m Z m Z m  Z  d  d l! j" j# j	 Z	 d  d l$ j% j& Z' d e( f d „  ƒ  YZ) d e( f d „  ƒ  YZ* d e( f d „  ƒ  YZ+ d e( f d „  ƒ  YZ, d e( f d „  ƒ  YZ- d e( f d „  ƒ  YZ. d „  Z/ e j0 j1 d d d e2 ƒ d „  ƒ Z3 d S(   iÿÿÿÿ(   t   datet   datetimet	   timedeltaN(   t   iNaTt   period(   t   DAYSt   MONTHS(   t   INVALID_FREQ_ERR_MSG(   t   DateParseError(   t   dateutil_gettzt   maybe_get_tz(   t	   iteritemst	   text_type(   t   np_datetime64_compat(   t   NaTt   Periodt	   Timedeltat	   Timestampt   offsetst   TestPeriodConstructionc           B   sõ   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 e j j d	 e ƒ d
 „  ƒ Z e j j d	 e ƒ d „  ƒ Z e j j d e ƒ e j j d e d d ƒ ƒ d „  ƒ ƒ Z d „  Z d „  Z d „  Z d „  Z RS(   c      	   C   s  t  d d d ƒ} t  d ƒ } | | k s0 t ‚ t  d d d ƒ} t  d ƒ } t  d d d ƒ} | | k sr t ‚ | | k s„ t ‚ t  d d d ƒ} t  d d d ƒ} t j t | j | ƒ | | k sÐ t ‚ t  j d	 ƒ } t  t j ƒ  d d	 ƒ} t  j d
 ƒ } | | k st ‚ | | k s*t ‚ t  d d d ƒ} t  d d d ƒ} | | k s`t ‚ t  d d d' ƒ} | | k s„t ‚ t  d d d d d d d d ƒ } t  d d d ƒ} | | k sÉt ‚ t  d d d d d d d d ƒ } | | k süt ‚ t  d ƒ } t  t d d d d d d d ƒ d d ƒ} | | k sDt ‚ t  t d ƒ d d ƒ} | | k snt ‚ t  d ƒ } t  t d d d d d d d  ƒ d d! ƒ} | | k s¶t ‚ t  t d" ƒ d d! ƒ} | | k sàt ‚ t j t t  d# d$ ƒt j t t  d% d d& ƒd  S((   Ns   1/1/2005t   freqt   Ms   Jan 2005t   2005t   At   at   mt   Qt   qt   1982t   mint   MINt   Mini   t   yeariÕ  t   monthi   t   dayt   Ds   3/1/2005t   ds   2007-01-01 09:00:00.001i×  i	   i    iè  t   Ls   2007-01-01 09:00:00.001Zs   2007-01-01 09:00:00.00101iò  t   Us   2007-01-01 09:00:00.00101Zt   ordinaliý s   2007-1-1t   X(   R   i   (	   R   t   AssertionErrort   pytestt   raisest
   ValueErrort   __ne__t   nowR   R   (   t   selft   i1t   i2t   i3t   i4t   i5t   expected(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_construction   sR    !!**	c      	   C   s  t  d d d ƒ} t  d d d ƒ} | | j d ƒ k s? t ‚ t  d d d ƒ} | | j d ƒ k sl t ‚ t  d d d ƒ} | | j d ƒ k s™ t ‚ t  d d d ƒ} | | k s½ t ‚ t  d d	 d
 d d d d d ƒ } t  d d d ƒ} | | k st ‚ d  S(   Ns   3/10/12R   t   BR#   s   3/11/12s   3/12/12t   bR    iÜ  R!   i   R"   i
   (   R   t   asfreqR)   (   R/   R0   R1   R2   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_construction_bdayQ   s    !c         C   sÌ  t  d d d d d d ƒ } t  d d d ƒ} | | k s? t ‚ t  d d d d d d ƒ } t  d	 d d ƒ} | | k s~ t ‚ t  d
 ƒ } t  d d d d d d ƒ } t  d ƒ } | | k sÃ t ‚ | | k sÕ t ‚ t  d ƒ } | | k só t ‚ t  d ƒ } | | k st ‚ t  d ƒ } | | k s/t ‚ t  d ƒ } | | k sMt ‚ t  d ƒ } | | k skt ‚ t  d ƒ } | | k s‰t ‚ t  d ƒ } | j d k sªt ‚ t  d ƒ } | | k sÈt ‚ d  S(   NR    iÕ  t   quarteri   R   R   s   1/1/2005i   s   9/1/2005t   2005Q1t   2005q1t   05Q1t   05q1t   1Q2005t   1q2005t   1Q05t   1q05t   4Q1984iÀ  t   4q1984(   R   R)   R    (   R/   R0   R1   R2   t   lower(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_construction_quarterc   s6    c         C   s½  t  d d d ƒ} t  d d d ƒ} | | k s6 t ‚ t  d d d ƒ} | | k sZ t ‚ t  d d d ƒ} | | k s~ t ‚ t  d d d d ƒ } | j d k s¨ t ‚ t  t d d	 d	 ƒ d d ƒ} t  d d d ƒ} | | k sê t ‚ t  t d d	 d	 ƒ d d ƒ} t  t d d	 d	 ƒ d d ƒ} t  t j d
 ƒ d d ƒ} t  t d ƒ d d ƒ} t  t d ƒ d d ƒ} | | k sƒt ‚ | | k s•t ‚ | | k s§t ‚ | | k s¹t ‚ d  S(   Ns   2007-01R   R   t   200701iý R'   iI  i×  i   s
   2007-01-01s   2007-01-01 00:00:00Zs   2007-01-01 00:00:00.000Z(   R   R)   R    R   R    t   npt
   datetime64R   (   R/   R5   R0   R1   R2   R3   R4   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_construction_month‡   s*    c      
   C   s¦  t  d d t j ƒ  ƒt  d d d ƒk s0 t ‚ t  d d t j ƒ  ƒt  d d d ƒk s` t ‚ t  d d t j ƒ  ƒt  d d d ƒk s t ‚ t  d d t j ƒ  ƒt  d d d ƒk sÀ t ‚ t  d d t j ƒ  ƒt  d d d ƒk sð t ‚ t  d	 d
 d d d t j d d ƒ ƒ t  d	 d
 d d d d ƒ k s8t ‚ t  d	 d
 d d d t j d d ƒ ƒ t  d	 d
 d d d d ƒ k s€t ‚ t  d	 d
 d d d d d t j ƒ  ƒ t  d	 d
 d d d d d d ƒ k sÎt ‚ t  d	 d d d d d d t j ƒ  ƒ t  d	 d d d d d d d ƒ k st ‚ t  d d d ƒ} t  d	 d
 d d d d d t j d ƒ ƒ | k sdt ‚ t  d	 d
 d d d d d d ƒ | k s‘t ‚ t  d	 d d d d d d t j d ƒ ƒ t  d	 d d d d d d d ƒ k sât ‚ t  d d t j ƒ  ƒt  d d d ƒk st ‚ t  d d d t j ƒ  ƒ } t  d d d d ƒ } | | k sTt ‚ | j	 d k sit ‚ | j	 d k s~t ‚ t  t
 d d d ƒ d d ƒ} t  d d d ƒ} | | k sÀt ‚ t  t d d d ƒ d d ƒ} t  t
 d d d ƒ d d ƒ} t  t j d ƒ d d ƒ} t  t d ƒ d d ƒ} t  t d  ƒ d d ƒ} | | k sYt ‚ | | k skt ‚ | | k s}t ‚ | | k st ‚ t  d! ƒ } t  t
 d d d d" d# d# d$ ƒ d d% ƒ} | | k s×t ‚ t  t d& ƒ d d% ƒ} | | k st ‚ t  d' ƒ } t  t
 d d d d" d# d# d( ƒ d d) ƒ} | | k sIt ‚ t  t d* ƒ d d) ƒ} | | k sst ‚ t j t t  d d ƒt j t t  d+ d d, ƒd  S(-   Ns   1/1/2005R   R   R   R   s   3/10/12R7   R#   R    iÕ  R;   i   t   startingMonthi   R   i   R!   i   R"   iÜ  i
   s
   2005-03-01t   3Dt   3Biý R'   iI  i×  RH   s
   2007-01-01s   2007-01-01 00:00:00Zs   2007-01-01 00:00:00.000Zs   2007-01-01 09:00:00.001i	   i    iè  R%   s   2007-01-01 09:00:00.001Zs   2007-01-01 09:00:00.00101iò  R&   s   2007-01-01 09:00:00.00101Zs   2007-1-1R(   (   R   R   t   MonthEndR)   t   YearEndt   BusinessDayt   Dayt
   QuarterEndt   BDayR    R   R    RI   RJ   R   R*   R+   R,   (   R/   R5   R0   R1   R2   R3   R4   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_constructor_offsets¤   sx    $$$*$*-***	c         C   s`  t  j t ƒ  t t j ƒ  ƒ Wd  QXt  j t ƒ  t t j ƒ  j ƒ  ƒ Wd  QXt  j t ƒ  t d d d ƒWd  QXt  j t ƒ  t d d d d ƒ Wd  QXt  j t ƒ  t d d d d d d ƒ Wd  QXt  j t ƒ  t d d ƒ Wd  QXt  j t ƒ  t d	 d
 ƒ Wd  QXt  j t ƒ  t d d
 ƒ Wd  QXt  j t ƒ  t d d
 ƒ Wd  QXd  S(   Ngš™™™™™ù?R   R#   R'   i   t   valuei   R!   s   -2000R   t   0s	   1/1/-2000(   R*   R+   R,   R   R   R.   R    R   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_invalid_argumentsð   s$    c         C   s   t  d d d ƒ} t  d d d d d d ƒ | k s9 t ‚ t  d  ƒ t k sQ t ‚ t  d d d	 ƒ} t  | d d
 ƒ} t  d d d
 ƒ} | | k s™ t ‚ d  S(   Ns   2007-01R   t   2MR    i×  R!   i   s
   2007-01-01R#   R   t   2007(   R   R)   t   NoneR   (   R/   R5   t   pt   resultt   exp(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_constructor_corner  s    'c         C   së   t  d ƒ } | j d k s! t ‚ t  d ƒ } | j d k sB t ‚ t  d ƒ } | j d k sc t ‚ t  d ƒ } | j d k s„ t ‚ t  d	 ƒ } | j d
 k s¥ t ‚ t  d ƒ } | j d
 k sÆ t ‚ t  d ƒ } | j d k sç t ‚ d  S(   Ns
   2007-01-01R#   s   2007-01-01 07t   Hs   2007-01-01 07:10t   Ts   2007-01-01 07:10:15t   Ss   2007-01-01 07:10:15.123R%   s   2007-01-01 07:10:15.123000s   2007-01-01 07:10:15.123400R&   (   R   R   R)   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_constructor_infer_freq  s    c         C   s#  t  d d d ƒ} t  d d d ƒ} | j | j k s< t ‚ | j d k sQ t ‚ | j d k sf t ‚ | j t j d ƒ k s„ t ‚ | j t j ƒ  k sŸ t ‚ | d j | j d k s¿ t ‚ d | j | j d k sß t ‚ | d j | j d k sÿ t ‚ d	 | j | j d k st ‚ d  S(
   Nt   1989R   t   2AR   s   2A-DECs   A-DECi   i   iÿÿÿÿ(   R   R'   R)   t   freqstrR   R   RP   (   R/   t   result1t   result2(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_multiples)  s       R!   c         C   sª   d | } t  d d | ƒ} d t | ƒ k s4 t ‚ | j d d d ƒ} t  | d | ƒ} | | k sm t ‚ | j d d d ƒ} t  | d | ƒ} | | k s¦ t ‚ d  S(   Ns   Q-%st   1989Q3R   R#   t   howt   endRM   (   R   t   strR)   t   to_timestamp(   R/   R!   R   R^   t   stampR\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_cons_quarterly7  s    
c         C   s   d | } t  d d | ƒ} | j d d d ƒt d d ƒ } t  | d | ƒ} | | d	 k sf t ‚ t | t  ƒ s{ t ‚ d  S(
   Ns   A-%sRd   R   R#   Rk   Rl   t   daysi   i   (   R   Rn   R   R)   t
   isinstance(   R/   R!   R   R^   Ro   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_cons_annualE  s    
"R"   t   numi
   i   c         C   sl   d | } d | } t  | d | ƒ} t  | d d ƒj | ƒ } | | k sS t ‚ t | t  ƒ sh t ‚ d  S(   Ns
   2011-02-%ds   W-%sR   R#   (   R   R9   R)   Rr   (   R/   Rt   R"   t   daystrR   R]   R5   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_cons_weeklyP  s    

c         C   sU   t  d d d ƒ} t  j | j d d ƒ} | | k s< t ‚ t | t  ƒ sQ t ‚ d  S(   Ns   2011-01R   R   (   R   t   _from_ordinalR'   R)   Rr   (   R/   R\   t   res(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_from_ordinal[  s    c         C   sô   t  d d d ƒ} | t k s$ t ‚ t  d d d ƒ} | t k sH t ‚ t  t d d ƒ} | t k sl t ‚ t  t d d ƒ} | t k s t ‚ t  t d d ƒ} | t k s´ t ‚ t  d ƒ } | t k sÒ t ‚ t  t ƒ } | t k sð t ‚ d  S(	   NR   R   R   t   nats   W-SUNR#   RM   t   1D1H(   R   R   R)   R   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_cons_nata  s    c      	   C   s­  t  d d d ƒ} t  d d d ƒ} | j | j k s< t ‚ | j t j d ƒ k sZ t ‚ | j d k so t ‚ | j t j ƒ  k sŠ t ‚ | j d k sŸ t ‚ | d } | j | d j k sÅ t ‚ | j | j k sÝ t ‚ | j d k sò t ‚ | d } | j | d j k st ‚ | j | j k s0t ‚ | j d k sEt ‚ d } t j t	 d | ƒ t  d d d	 ƒWd  QXd
 } t j t	 d | ƒ t  d d d ƒWd  QXd  S(   Ns   2011-01R   t   3MR   i   i   s;   Frequency must be positive, because it represents span: -3Mt   matchs   -3Ms:   Frequency must be positive, because it represents span: 0Mt   0M(
   R   R'   R)   R   R   RO   Rf   R*   R+   R,   (   R/   t   p1t   p2R]   t   msg(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_cons_multw  s*    

c         C   s   t  d d d ƒt  d d d ƒt  d d d ƒf t  d d d d ƒ t  d d d d ƒ t  d d d d ƒ f g } x)| D]!\ } } } | j | j k s t ‚ | j | j k sµ t ‚ | j t j d ƒ k sÓ t ‚ | j d	 k sè t ‚ | j t j d ƒ k st ‚ | j d	 k st ‚ | j t j ƒ  k s6t ‚ | j d k sKt ‚ | d } | j | d j k sqt ‚ | j | j k s‰t ‚ | j d	 k sžt ‚ | d } | j | d j k sÄt ‚ | j | j k sÜt ‚ | j d	 k sñt ‚ | d } | j | d j k st ‚ | j | j k s/t ‚ | j d	 k sDt ‚ | d } | j | d j k sjt ‚ | j | j k s‚t ‚ | j d	 k sv t ‚ qv Wd
 } t j t	 d | ƒ t  d d d ƒWd  QXt j t	 d | ƒ t  d d d ƒWd  QXt j t	 d | ƒ t  d d d d ƒ Wd  QXt j t	 d | ƒ t  d d d d ƒ Wd  QXd } t j t	 d | ƒ t  d d d ƒWd  QXt j t	 d | ƒ t  d d d d ƒ Wd  QXd } t j t	 d | ƒ t  d d d ƒWd  QXd } t j t	 d | ƒ t  d d d ƒWd  QXd  S(   Ns   2011-01R   R{   t   1H1DR`   R'   i   i   t   25Hs<   Frequency must be positive, because it represents span: -25HR~   s   -1D1Hs   -1H1Ds:   Frequency must be positive, because it represents span: 0Dt   0D0Hs   Invalid frequency: 1W1Dt   1W1Ds   Invalid frequency: 1D1Wt   1D1W(
   R   R'   R)   R   R   t   HourRf   R*   R+   R,   (   R/   R\   R€   R   t   p3R]   R‚   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_cons_combined–  sf    



(   t   __name__t
   __module__R6   R:   RG   RK   RU   RX   R_   Rc   Ri   R*   t   markt   parametrizeR   Rp   Rs   R   t   rangeRv   Ry   R|   Rƒ   R‹   (    (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyR      s"   	;		$		L				*
			t   TestPeriodMethodsc           B   s°   e  Z d  „  Z d „  Z e j j d d d d g ƒ d „  ƒ Z e j j d d d d	 g ƒ d
 „  ƒ Z d „  Z	 d „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s1   t  d ƒ } t j | ƒ } | | k s- t ‚ d  S(   Nt   2000Q1(   R   t   tmt   round_trip_pickleR)   (   R/   R\   t   new_p(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_round_tripÛ  s    c         C   sÜ   t  t d d d ƒƒ t  t d d d ƒƒ k s6 t ‚ t  t d d d ƒƒ t  t d d d ƒƒ k sl t ‚ t  t d d d ƒƒ t  t d d d ƒƒ k s¢ t ‚ t  t d d d ƒƒ t  t d d d ƒƒ k sØ t ‚ d  S(	   Ns   2011-01R   R   s
   2011-01-01R#   R}   RY   s   2011-02(   t   hashR   R)   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt	   test_hashà  s    !!!t   tzstrs   Europe/Brusselss
   Asia/Tokyos
   US/Pacificc         C   s\  t  d d d ƒj d | ƒ } t d d d ƒj | ƒ } t j | ƒ j | ƒ } | | k sc t ‚ | j | j	 k s{ t ‚ | j | j k s“ t ‚ t  d d d ƒj d | ƒ } t d d d ƒj | ƒ } t j | ƒ j | ƒ } | | k sö t ‚ | j | j	 k st ‚ | j | j k s&t ‚ t  d d d ƒj d d d | ƒ } t d d d ƒj | ƒ } t j | ƒ j | ƒ } | | k st ‚ | j | j	 k s§t ‚ | j | j k s¿t ‚ t  d d d ƒj d d d | ƒ } t d d d ƒj | ƒ } t j | ƒ j | ƒ } | | k s(t ‚ | j | j	 k s@t ‚ | j | j k sXt ‚ d  S(	   Ns   1/1/2005R   R   t   tzt   UTCt   3HR   s
   31/12/2005(
   R   Rn   R   t
   tz_convertt   pytzt   timezonet	   normalizeR)   Rš   t   tzinfo(   R/   R™   R\   R^   t   exp_zone(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_to_timestamp_tz_argð  s0    $$s   dateutil/Europe/Brusselss   dateutil/Asia/Tokyos   dateutil/US/Pacificc         C   s2  t  | ƒ } t d d d ƒj d | ƒ } t d d d ƒj | ƒ } | | k sW t ‚ | j t | j d d ƒ d ƒ k s‚ t ‚ | j | j k sš t ‚ t d d d ƒj d d d | ƒ } t d d d ƒj | ƒ } | | k së t ‚ | j t | j d d ƒ d ƒ k st ‚ | j | j k s.t ‚ d  S(	   Ns   1/1/2005R   R   Rš   R›   t   /i   Rœ   (	   R
   R   Rn   R   R   R)   Rš   R	   t   split(   R/   R™   Rš   R\   R^   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt!   test_to_timestamp_tz_arg_dateutil  s    +$+c         C   s=   t  d d d ƒj d d ƒ } | j t d ƒ k s9 t ‚ d  S(   Ns   1/1/2005R   R   Rš   s   dateutil/Europe/Brusselss   Europe/Brussels(   R   Rn   Rš   R	   R)   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt-   test_to_timestamp_tz_arg_dateutil_from_string$  s    	c         C   sÞ   t  d d d ƒ} | j d d ƒ t d ƒ k s6 t ‚ t d ƒ t d d	 ƒ } | j d d
 ƒ | k sm t ‚ t  d d d ƒ} | j d d ƒ t d ƒ k s£ t ‚ t d ƒ t d d	 ƒ } | j d d
 ƒ | k sÚ t ‚ d  S(   Ns   2011-01R   R   Rk   Rb   s
   2011-01-01s
   2011-02-01i   t   nst   ER}   s
   2011-04-01(   R   Rn   R   R)   R   (   R/   R\   R5   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_to_timestamp_mult)  s    $$c      	   C   s¾  t  d d d ƒ} | j d d ƒ } d d d g } xP | D]H } | | j d	 d | ƒk sa t ‚ | | j d
 d | ƒk s: t ‚ q: W| j d d ƒ } d d d g } xP | D]H } | | j d	 d | ƒk sÕ t ‚ | | j d
 d | ƒk s® t ‚ q® Wd d d d d d	 d d d g	 } d „  } x t | ƒ D] \ } }	 t  d d |	 ƒ} | j ƒ  j |	 ƒ }
 |
 | k svt ‚ | j | j d d ƒ k s—t ‚ | j | | ƒ k s1t ‚ q1Wt  d d d ƒ} | j d d d ƒ}
 t d d d ƒ t d d ƒ } |
 | k st ‚ | j d d d ƒ}
 |
 | k s5t ‚ | j d d d ƒ}
 t d d d ƒ t d d ƒ } |
 | k s{t ‚ | j d d d ƒ}
 |
 | k s¢t ‚ | j d d ƒ }
 t d d d ƒ t d d ƒ } |
 | k såt ‚ t	 d d d ƒ } | j d d d ƒ}
 |
 | k st ‚ | j d d d ƒ}
 |
 | k sEt ‚ | j d d d ƒ}
 |
 | k slt ‚ | j d d d ƒ}
 |
 | k s“t ‚ | j d d d ƒ}
 |
 | k sºt ‚ d  S(    NR   R   R   Rk   Rb   t   st   StarTt   BEGInR#   RM   R©   t   eRl   t   FINIsHR   R   t   WR7   R`   R   c         S   s   t  |  |  j j j d ƒ S(   Ni   (   R   R   t
   start_timeRV   (   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   _exE  s    t   1985iÂ  i   R¨   Rœ   Ra   t   2TiÁ  t   startt   5S(
   R   Rn   R)   t	   enumeratet	   to_periodR±   t   end_timeR   R   R   (   R/   R\   t   start_tst   aliasesR   t   end_tst   from_lstR²   t   it   fcodeR]   R5   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_to_timestamp4  sX    !%!%!	!c         C   sL   t  d ƒ } d t | ƒ k s$ t ‚ t  d ƒ } d t | ƒ k sH t ‚ d  S(   Ns   Jan-2000s   2000-01s
   2000-12-15(   R   t   reprR)   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt	   test_reprt  s    c         C   s4   t  d d d ƒ} t t ƒ t | ƒ k s0 t ‚ d  S(   NRz   R   R   (   R   RÁ   R   R)   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_repr_nat{  s    c         C   s(   t  d ƒ } t | ƒ d k s$ t ‚ d  S(   Ns   2000-01-01 12:15:02.123s&   Period('2000-01-01 12:15:02.123', 'L')(   R   RÁ   R)   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_millisecond_repr  s    c         C   s(   t  d ƒ } t | ƒ d k s$ t ‚ d  S(   Ns   2000-01-01 12:15:02.123567s)   Period('2000-01-01 12:15:02.123567', 'U')(   R   RÁ   R)   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_microsecond_repr„  s    c         C   sL   t  d d d ƒ} | j d ƒ } | d k s3 t ‚ t | t ƒ sH t ‚ d  S(   Ns   2000-1-1 12:34:12R   Rb   s   %Y-%m-%d %H:%M:%Ss   2000-01-01 12:34:12(   R   t   strftimeR)   Rr   R   (   R/   R\   Rx   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_strftime‰  s    (   RŒ   R   R–   R˜   R*   RŽ   R   R£   R¦   R§   Rª   RÀ   RÂ   RÃ   RÄ   RÅ   RÇ   (    (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyR‘   Ú  s   		"			@				t   TestPeriodPropertiesc           B   s¿   e  Z d  Z e j j d d d d d g ƒ d „  ƒ Z d „  Z d „  Z d	 „  Z	 d
 „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   s5   Test properties such as year, month, weekday, etc....R   R   R   R#   R`   c         C   s¢   t  d d | ƒ} | j s! t ‚ t | j t ƒ s9 t ‚ t  d d | ƒ} | j s[ t ‚ t  d d | ƒ} | j s| t ‚ t  d d | ƒ} | j sž t ‚ d  S(   Ns   2000-01-01 00:00:00R   s   1999-01-01 00:00:00s   2004-01-01 00:00:00s   2100-01-01 00:00:00(   R   t   is_leap_yearR)   Rr   t   bool(   R/   R   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_is_leap_year”  s    c         C   s   t  d d d d ƒ } | j d k s* t ‚ | j d k s? t ‚ t | t  ƒ sT t ‚ t  d d d d ƒ } | j d k s~ t ‚ | j d k s“ t ‚ t | t  ƒ s¨ t ‚ t  d d d d	 ƒ } | j d k sÒ t ‚ | j d
 k sç t ‚ t | t  ƒ sü t ‚ d  S(   NR'   iÿÿÿÿR   s   Q-DECi±  i   iþÿÿÿi   R   i   (   R   R    R)   R;   Rr   R!   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt    test_quarterly_negative_ordinals¤  s    c         C   sF   t  d d d ƒ} | j t j ƒ  k s- t ‚ | j d k sB t ‚ d  S(   NR   R   R   Ra   (   R   R   R   t   MinuteR)   Rf   (   R/   R0   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_freq_str´  s    c         C   s§  i	 d d d d d d g d 6d d	 d
 d d g d 6d d d d d d g d 6d d d d d d d g d 6d d d d  g d! 6d" d# d$ d% d& g d' 6d( d) d* g d+ 6d, d- d. g d/ 6d0 d1 d2 g d3 6} t  } x× t | ƒ D]É \ } } xi | D]a } t j t d4 | ƒ t d5 d6 | ƒWd  QXt j t d4 | ƒ t d7 d8 d6 | ƒ Wd  QXqé Wt d5 d6 | ƒ} t d7 d8 d6 | ƒ } t | t ƒ sŠt ‚ t | t ƒ sÖ t ‚ qÖ Wd  S(9   Nt   MTHt   MONTHt   MONTHLYt   MthR!   t   monthlyR   t   BUSt   BUSINESSt
   BUSINESSLYt   WEEKDAYt   busR7   t   DAYt   DLYt   DAILYRR   t   Dlyt   DailyR#   t   HRt   HOURt   HRLYt   HOURLYt   hrR‰   t   HRlyR`   t   minutet   MINUTEt   MINUTELYt   minutelyRa   t   sect   SECt   SECONDt   SECONDLYt   secondRb   t   MILLISECONDt   MILLISECONDLYt   millisecondR%   t   MICROSECONDt   MICROSECONDLYt   microsecondR&   t
   NANOSECONDt   NANOSECONDLYt
   nanosecondt   NR~   s   2016-03-01 09:00R   R'   i   (   R   R   R*   R+   R,   R   Rr   R)   (   R/   t   casesR‚   R^   t   freqsR   R€   R   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_deprecated_freq¹  s(    c         C   sÃ   d d d d d d d g } t  d d	 d	 ƒ } x5 | D]- } t d
 d | ƒ} | j | k s4 t ‚ q4 Wt d
 d d ƒj t  d d	 d ƒ k s’ t ‚ t d
 d d ƒj t  d d d ƒ k s¿ t ‚ d  S(   NR   R   R   R#   R`   Ra   Rb   iÜ  i   t   2012R   R7   i   R°   iÛ  i   i   (   R   R   R±   R)   (   R/   t   freq_lstt   xpt   fR\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_start_timeÒ  s    -c         C   sP  t  d d d ƒ} d „  } | d d d ƒ } | | j k sB t ‚ t  d d d ƒ} | d d	 d ƒ } | | j k s{ t ‚ t  d d d
 ƒ} | d d d ƒ } | | j k s´ t ‚ t  d d d ƒ} | d d d ƒ } | | j k sí t ‚ t  d d d ƒ} | d d d d ƒ } | | j k s)t ‚ t  d d d ƒ} | d d d ƒ } | | j k sbt ‚ t  d d d ƒ} | d d d ƒ } | | j k s›t ‚ t  d d d ƒ} | d d d ƒ } | | j k sÔt ‚ t  d d d ƒ} | d d d d ƒ } | | j k st ‚ t  d d d ƒ} | d d d d ƒ } | | j k sLt ‚ d  S(   NRú   R   R   c          W   s   t  t  t |  Œ  ƒ j d ƒ S(   Ni   (   R   R   RV   (   t   args(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyR²   Þ  s    iÝ  i   R   iÜ  i   R   i   R#   R`   R7   i   R°   t   15Di   R{   R„   (   R   R¹   R)   (   R/   R\   R²   Rü   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_end_timeÛ  s>    	c         C   sC   d „  } t  d d ƒ } | d d d ƒ } | j | k s? t ‚ d  S(   Nc          W   s   t  t  t |  Œ  ƒ j d ƒ S(   Ni   (   R   R   RV   (   Rÿ   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyR²   
  s    s   2013-1-1s   W-SATiÝ  i   i   (   R   R¹   R)   (   R/   R²   R\   Rü   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_anchor_week_end_time	  s    	c         C   s.   t  d d d d ƒ } | j d k s* t ‚ d  S(   NR   R   R    i×  (   R   R    R)   (   R/   t   a_date(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_annually  s    c         C   s¼   t  d d d d d d ƒ } t  d d d d d d ƒ } t  d d d d d d ƒ } xd t d	 ƒ D]V } xM | | | f D]< } | | j d k s“ t ‚ | | j | d k st t ‚ qt Wq^ Wd  S(
   NR   s   Q-DECR    i×  R;   i   s   Q-JANs   Q-JUNi   (   R   R   t   qyearR)   R;   (   R/   t
   qedec_datet
   qejan_datet
   qejun_datet   xt   qd(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_quarterly  s    c         C   sN  t  d d d d d d ƒ } x,t d ƒ D]} | | } | j d k sM t ‚ d | d k oh d k n r… | j d k s-t ‚ n¨ d	 | d k o  d
 k n r½ | j d k s-t ‚ np d | d k oØ d k n rõ | j d k s-t ‚ n8 d | d k od k n r-| j d	 k s-t ‚ n  | j | d k s( t ‚ q( Wd  S(   NR   R   R    i×  R!   i   i   i   i   i   i   i   i	   i
   i   (   R   R   R    R)   R;   R!   (   R/   t   m_dateR	  t   m_ival_x(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_monthly!  s    
    c      	   C   s×   t  d d d d d d d d ƒ } | j d k s6 t ‚ | j d k sK t ‚ | j d k s` t ‚ | j d k su t ‚ | d j d	 k sŽ t ‚ | j d
 k s£ t ‚ t  d d d d d d d d ƒ j d k sÓ t ‚ d  S(   NR   R°   R    i×  R!   i   R"   i   i4   i   iÜ  i   i   (   R   R    R)   R;   R!   t   weekt   days_in_month(   R/   t   w_date(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_weekly1  s    !c         C   s  t  d d d d d d d d ƒ } | j d k s6 t ‚ | j d k sK t ‚ | j d k s` t ‚ | j d k su t ‚ | d j d	 k sŽ t ‚ | j d
 k s£ t ‚ t  d d d d d d d d ƒ } | j d k sÙ t ‚ t } t j	 t
 d | ƒ$ t  d d d d d d d d ƒ Wd  QXd  S(   NR   R°   R    i×  R!   i   R"   i   i4   i   iÜ  i   i   R~   t   WK(   R   R    R)   R;   R!   R  R  R   R*   R+   R,   (   R/   R  R^   R‚   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_weekly_legacy>  s    !!c      	   C   sÌ  t  d d d d d d d d ƒ } | j d k s6 t ‚ | j d k sK t ‚ | j d k s` t ‚ | j d k su t ‚ | j d k sŠ t ‚ | j d k sŸ t ‚ | j d	 k s´ t ‚ t  d d d d
 d d d d ƒ j d k sä t ‚ t  d d d d d d d d ƒ } | j d k st ‚ | j d k s/t ‚ | j d k sDt ‚ | j d k sYt ‚ | j d k snt ‚ | j d k sƒt ‚ | j d	 k s˜t ‚ t  d d d d
 d d d d ƒ j d k sÈt ‚ d  S(   NR   R7   R    i×  R!   i   R"   i    i   iÜ  i   i   R#   (	   R   R    R)   R;   R!   R"   t   weekdayt	   dayofyearR  (   R/   t   b_datet   d_date(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_dailyO  s(    !!c         C   sG  t  d d d d d d d d d d	 ƒ } t  d d
 d d d d d d d d	 ƒ } xò | | g D]ä } | j d k sv t ‚ | j d k s‹ t ‚ | j d k s  t ‚ | j d k sµ t ‚ | j d	 k sÊ t ‚ | j d k sß t ‚ | j d	 k sô t ‚ | j	 d k s	t ‚ t  d d d d d d d d d d	 ƒ j	 d k s[ t ‚ q[ Wd  S(   NR   R`   R    i×  R!   i   R"   t   houri    t   2Hi   iÜ  i   i   (
   R   R    R)   R;   R!   R"   R  R  R  R  (   R/   t   h_date1t   h_date2t   h_date(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_hourlyi  s    ''c         C   s  t  d d d d d d d d d d	 d
 d	 ƒ } | j d k sB t ‚ | j d k sW t ‚ | j d k sl t ‚ | j d	 k s t ‚ | j d k s– t ‚ | j d	 k s« t ‚ | j d	 k sÀ t ‚ | j	 d k sÕ t ‚ t  d d d d d d d d d d	 d
 d	 ƒ j	 d k st ‚ d  S(   NR   R   R    i×  R!   i   R"   R  i    Rä   i   R#   iÜ  i   i   (
   R   R;   R)   R!   R"   R  R  R  Rä   R  (   R/   t   t_date(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_minutelyz  s    $	$c         C   sK  t  d d d d d d d d d d	 d
 d	 d d	 ƒ } | j d k sH t ‚ | j d k s] t ‚ | j d k sr t ‚ | j d k s‡ t ‚ | j d	 k sœ t ‚ | j d k s± t ‚ | j d	 k sÆ t ‚ | j	 d	 k sÛ t ‚ | j
 d	 k sð t ‚ | j d k st ‚ t  d d d d d d d d d d	 d
 d	 d d	 ƒ j d k sGt ‚ d  S(   NR   R   R    i×  R!   i   R"   R  i    Rä   Rì   i   iÜ  i   i   (   R   R    R)   R;   R!   R"   R  R  R  Rä   Rì   R  (   R/   t   s_date(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_properties_secondlyŠ  s    $$(   RŒ   R   t   __doc__R*   RŽ   R   RË   RÌ   RÎ   Rù   Rþ   R  R  R  R  R  R  R  R  R  R!  R#  (    (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyRÈ   ‘  s"   *						.									t   TestPeriodFieldc           B   s   e  Z d  „  Z RS(   c         C   s)   t  j t t j d t j d ƒ d ƒ d  S(   Niÿÿÿÿi   i    (   R*   R+   R,   t	   libperiodt   get_period_field_arrRI   t   empty(   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt2   test_get_period_field_array_raises_on_out_of_rangeŸ  s    (   RŒ   R   R)  (    (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyR%    s   t   TestComparisonsc           B   s¡   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s^   t  d d ƒ |  _ t  d d ƒ |  _ t  d d ƒ |  _ t  d d ƒ |  _ t  d d ƒ |  _ d  S(   Ns   2000-01R   s   2000-02s   2000-03s
   2012-01-01R#   (   R   t   january1t   january2t   februaryt   marchR"   (   R/   t   method(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   setup_method¦  s
    c         C   s   |  j  |  j k s t ‚ d  S(   N(   R+  R,  R)   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt
   test_equal­  s    c         C   s-   t  j t j ƒ  |  j |  j k Wd  QXd  S(   N(   R*   R+   R   t   IncompatibleFrequencyR+  R"   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_equal_Raises_Value°  s    c         C   s1   |  j  d k s t ‚ |  j  |  j k s- t ‚ d  S(   Ni   (   R+  R)   R-  (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_notEqual´  s    c         C   s   |  j  |  j k s t ‚ d  S(   N(   R-  R+  R)   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_greater¸  s    c         C   s-   t  j t j ƒ  |  j |  j k Wd  QXd  S(   N(   R*   R+   R   R2  R+  R"   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_greater_Raises_Value»  s    c         C   s'   t  j t ƒ  |  j d k Wd  QXd  S(   Ni   (   R*   R+   t	   TypeErrorR+  (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_greater_Raises_Type¿  s    c         C   s   |  j  |  j k s t ‚ d  S(   N(   R+  R,  R)   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_greaterEqualÃ  s    c         C   sQ   t  j t j ƒ  |  j |  j k Wd  QXt  j t ƒ  |  j d k GHWd  QXd  S(   Ni   (   R*   R+   R   R2  R+  R"   R7  (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_greaterEqual_Raises_ValueÆ  s    c         C   s   |  j  |  j k s t ‚ d  S(   N(   R+  R,  R)   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_smallerEqualÍ  s    c         C   s-   t  j t j ƒ  |  j |  j k Wd  QXd  S(   N(   R*   R+   R   R2  R+  R"   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_smallerEqual_Raises_ValueÐ  s    c         C   s'   t  j t ƒ  |  j d k Wd  QXd  S(   Ni   (   R*   R+   R7  R+  (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_smallerEqual_Raises_TypeÔ  s    c         C   s   |  j  |  j k  s t ‚ d  S(   N(   R+  R-  R)   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_smallerØ  s    c         C   s-   t  j t j ƒ  |  j |  j k  Wd  QXd  S(   N(   R*   R+   R   R2  R+  R"   (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_smaller_Raises_ValueÛ  s    c         C   s'   t  j t ƒ  |  j d k  Wd  QXd  S(   Ni   (   R*   R+   R7  R+  (   R/   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_smaller_Raises_Typeß  s    c         C   sL   |  j  |  j |  j g } |  j |  j |  j  g } t | ƒ | k sH t ‚ d  S(   N(   R.  R+  R-  t   sortedR)   (   R/   t   periodst   correctPeriods(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt	   test_sortã  s    c         C   sþ   t  d d d ƒ} t  d d d ƒ} t d ƒ } t d ƒ } x» | | f | | f | | f | | f | | f | | f g D]} \ } } | | k  s˜ t ‚ | | k s« t ‚ | | k s¾ t ‚ | | k sÐ t ‚ | | k sã t ‚ | | k sy t ‚ qy Wd  S(   NR   R   R#   s
   2011-01-01(   R   R   R)   (   R/   t   p_natR\   Rz   t   tt   leftt   right(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_nat_compè  s    '"(   RŒ   R   R0  R1  R3  R4  R5  R6  R8  R9  R:  R;  R<  R=  R>  R?  R@  RD  RI  (    (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyR*  ¤  s"   																t   TestArithmeticc        	   B   s¯  e  Z d  „  Z d „  Z d „  Z d „  Z d „  d „  d „  g Z d d d	 g Z e j	 j
 d
 e d e ƒe j	 j
 d e d e ƒd „  ƒ ƒ Z d „  Z e j	 j
 d d d d d g ƒ d „  ƒ Z e j	 j
 d e e g ƒ e j	 j
 d d d d d g ƒ e j	 j
 d e j j d f e j j d f e j j d% f e j j d f g ƒ d „  ƒ ƒ ƒ Z d „  Z d „  Z d „  Z d „  Z e j	 j
 d d  d! d" g ƒ d# „  ƒ Z d$ „  Z RS(&   c      	   C   sy   t  d d d ƒt  d d d ƒ} } | | } | d | j k sH t ‚ t j t j ƒ  | t  d d d ƒWd  QXd  S(   Nt   2011R   R   RZ   i   s   2007-01R   (   R   R   R)   R*   R+   R   R2  (   R/   RG  RH  R]   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_sub_deltaû  s
    %
c      	   C   sr   t  d d d d d d d d ƒ } t  d d d d d d d d ƒ } | d | k sX t ‚ d | | k sn t ‚ d  S(	   NR   R#   R    iØ  R!   i   R"   i   (   R   R)   (   R/   t   per1t   per2(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_add_integer  s    !!c         C   sØ   t  d d d ƒ} | t t k s( t ‚ t | t k s> t ‚ | t t k sT t ‚ t | t k sj t ‚ t  d d d ƒ} | t t k s’ t ‚ t | t k s¨ t ‚ | t t k s¾ t ‚ t | t k sÔ t ‚ d  S(   Ns   2011-01R   R   R   (   R   R   R)   (   R/   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_add_sub_nat	  s    c      	   C   s¸   t  d d d d d d d d ƒ } t  d d d d d d d d ƒ } d	 } t j t d
 | ƒ | d Wd  QXt j t d
 | ƒ d | Wd  QXt j t d
 | ƒ | | Wd  QXd  S(   NR   R#   R    iØ  R!   i   R"   i   s   unsupported operand type\(s\)R~   Rm   (   R   R*   R+   R7  (   R/   RM  RN  R‚   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_add_invalid  s    !!c         C   s   |  S(   N(    (   R	  (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   <lambda>$  s    c         C   s   t  j |  g ƒ S(   N(   t   pdt   Series(   R	  (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyRR  $  s    c         C   s   t  j |  g ƒ S(   N(   RS  t   Index(   R	  (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyRR  $  s    t   identityRT  RU  t   lboxt   idst   rboxc      	   C   s¸   t  d ƒ } t d d d ƒ} d } t j t d | ƒ | | ƒ | | ƒ Wd  QXt j t d | ƒ | | ƒ | | ƒ Wd  QXt j t d | ƒ | | ƒ | | ƒ Wd  QXd  S(   Nt   2017R   R   sd   cannot add|unsupported operand|can only operate on a|incompatible type|ufunc add cannot use operandsR~   (   R   R   R*   R+   R7  (   R/   RY  RW  t   tst   perR‚   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_add_timestamp_raises'  s    c      	   C   sž   t  d d d ƒ} t  d d d ƒ} | j } | | d | k sG t ‚ | | d | k sa t ‚ d } t j t j d | ƒ | t  d	 d d
 ƒWd  QXd  S(   Ns
   2011-01-01R   R#   s
   2011-01-15iòÿÿÿi   s0   Input has different freq=M from Period\(freq=D\)R~   s   2011-02R   (   R   R   R)   R*   R+   R   R2  (   R/   RM  RN  t   offR‚   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_sub<  s    	t   ni   i   i   i   c         C   s   t  j d d | | ƒ ƒ} t  j d d | | ƒ ƒ} t  j t | ƒ d | j j ƒt  j t | ƒ d | j j ƒ} | | | k sŒ t ‚ d  S(   Nt   19910905R   t   19920406(   RS  R   Rm   R   t   baseR)   (   R/   t   tick_classesR`  R€   R   R5   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_sub_n_gt_1_ticksH  s
    "R    s   offset, kwd_nameR!   RL   R  c         C   s»   | d  k	 r i d | 6n i  } d } d } t j | d | | | |  ƒ} t j | d | | | |  ƒ}	 t j | d |	 j j ƒt j | d | j j ƒ}
 |	 | |
 k s· t ‚ d  S(   Ni   Ra  Rb  R   (   R[   RS  R   R   Rc  R)   (   R/   t   offsett   kwd_nameR`  R    t   kwdst   p1_dt   p2_dR€   R   R5   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_sub_n_gt_1_offsetsS  s    
!!c         C   sª  x8d d d g D]'} t  d d | ƒ} t  d d | ƒ} | t j d ƒ | k sY t ‚ t j d ƒ | | k sx t ‚ x¼ t j d ƒ t j d ƒ t j ƒ  t j d	 d
 ƒ t	 d	 ƒ g D]{ } t
 j t j ƒ  | | Wd  QXt | t j ƒ rt
 j t ƒ  | | Wd  QXq¸ t
 j t j ƒ  | | Wd  QXq¸ Wq Wxˆd d d g D]w} t  d d | ƒ} t  d d | ƒ} | t j d ƒ | k s”t ‚ t j d ƒ | | k s³t ‚ t  d d | ƒ} | t j d ƒ | k sät ‚ t j d ƒ | | k st ‚ x¼ t j d ƒ t j d ƒ t j ƒ  t j d	 d
 ƒ t	 d	 ƒ g D]{ } t
 j t j ƒ  | | Wd  QXt | t j ƒ rt
 j t ƒ  | | Wd  QXqCt
 j t j ƒ  | | Wd  QXqCWqKWxád
 d d g D]Ð} t  d d | ƒ} t  d d | ƒ} | t j d ƒ | k st ‚ t j d ƒ | | k s>t ‚ t  d d | ƒ} | t j d ƒ | k sot ‚ t j d ƒ | | k sŽt ‚ t  d d | ƒ} | t j d d
 ƒ | k sÂt ‚ t
 j t ƒ  t j d d
 ƒ | Wd  QXt  d d | ƒ} | t j d3 d ƒ | k s t ‚ t
 j t ƒ  t j d4 d ƒ | Wd  QXt  d d | ƒ} | t	 d ƒ | k sxt ‚ t	 d ƒ | | k s”t ‚ t  d d | ƒ} | t	 d d ƒ | k sÅt ‚ t	 d d ƒ | | k sät ‚ x¿ t j d ƒ t j d ƒ t j ƒ  t j d  d! ƒ t	 d d" ƒ g D]{ } t
 j t j ƒ  | | Wd  QXt | t j ƒ rt
 j t ƒ  | | Wd  QXq't
 j t j ƒ  | | Wd  QXq'WqÖWxùd# d$ d% g D]è} t  d& d | ƒ} t  d' d | ƒ} | t j d ƒ | k st ‚ t j d ƒ | | k s"t ‚ t  d( d | ƒ} | t j d) ƒ | k sSt ‚ t j d) ƒ | | k srt ‚ t  d( d | ƒ} | t j d) d! ƒ | k s¦t ‚ t
 j t ƒ  t j d) d! ƒ | Wd  QXt  d* d | ƒ} | t j d d ƒ | k st ‚ t
 j t ƒ  t j d d ƒ | Wd  QXt  d+ d | ƒ} | t	 d, d- ƒ | k s_t ‚ t	 d, d- ƒ | | k s~t ‚ t  d. d | ƒ} | t	 d/ d  d, d0 ƒ | k sµt ‚ t	 d/ d  d, d0 ƒ | | k sÚt ‚ xÅ t j d ƒ t j d ƒ t j ƒ  t j d1 d ƒ t	 d d" d, d2 ƒ g D]{ } t
 j t j ƒ  | | Wd  QXt | t j ƒ r}t
 j t ƒ  | | Wd  QXq#t
 j t j ƒ  | | Wd  QXq#WqºWd  S(5   NR   Re   t   3ARK  R   t   2013i   i   im  R#   R   RY   R}   s   2011-03s   2011-05s   2012-03i   t   2DRM   s
   2011-04-01s
   2011-04-06i   s
   2011-04-02i   s
   2011-04-03i  R«   s
   2011-03-30iþÿÿÿt   hoursi0   i   t   hi   R`   R  Rœ   s   2011-04-01 09:00s   2011-04-03 09:00s   2011-04-01 12:00i   s   2011-04-01 10:00s   2011-04-01 11:00t   minutesix   s   2011-04-05 12:00Rq   i´   i€  i   i€Q i€Q (   R   R   RP   R)   t	   YearBegint
   MonthBeginRÍ   RI   t   timedelta64R   R*   R+   R   R2  Rr   R7  RO   RR   R‰   (   R/   R   R\   R^   t   o(    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_add_offseth  sÂ    """"%%c         C   s–  xd d d g D]
} t  d d | ƒ} xF t j d ƒ g D]2 } | | t k sW t ‚ | | t k s; t ‚ q; Wx¦ t j d ƒ t j d ƒ t j ƒ  t j	 d d	 ƒ t
 d ƒ g D]e } | | t k sÍ t ‚ t | t j	 ƒ r t j t ƒ  | | Wd  QXq± | | t k s± t ‚ q± Wq WxZd
 d d g D]I} t  d d | ƒ} x… t j d ƒ t j d ƒ g D]e } | | t k st ‚ t | t j	 ƒ r´t j t ƒ  | | Wd  QXqe| | t k set ‚ qeWx¦ t j d ƒ t j d ƒ t j ƒ  t j	 d d	 ƒ t
 d ƒ g D]e } | | t k s*t ‚ t | t j	 ƒ r]t j t ƒ  | | Wd  QXq| | t k st ‚ qWq.Wxd	 d d g D]} t  d d | ƒ} x¸ t j d ƒ t j d ƒ t j	 d d	 ƒ t j	 d$ d ƒ t
 d ƒ t
 d d ƒ g D]e } | | t k st ‚ t | t j	 ƒ rDt j t ƒ  | | Wd  QXqõ| | t k sõt ‚ qõWx© t j d ƒ t j d ƒ t j ƒ  t j	 d d ƒ t
 d d ƒ g D]e } | | t k s½t ‚ t | t j	 ƒ rðt j t ƒ  | | Wd  QXq¡| | t k s¡t ‚ q¡Wq‹Wxd d d g D]p} t  d d | ƒ} x£ t j d ƒ t j d ƒ t j	 d d ƒ t j	 d d ƒ t
 d d ƒ t
 d  d d d! ƒ g D]G } | | t k s­t ‚ t | t j	 ƒ s‘| | t k sØt ‚ q‘q‘Wx¯ t j d ƒ t j d ƒ t j ƒ  t j	 d" d ƒ t
 d d d d# ƒ g D]e } | | t k sAt ‚ t | t j	 ƒ rtt j t ƒ  | | Wd  QXq%| | t k s%t ‚ q%WqWd  S(%   NR   Re   Rl  R   R   i   i   im  R#   R   RY   R}   i   Rn  RM   i   i   i  R«   iþÿÿÿRo  i0   i   Rp  i   R`   R  Rœ   i   Rq  ix   Rq   i´   i€  i   i€Q (   R   R   RP   R   R)   Rr  Rs  RÍ   RI   Rt  R   Rr   R*   R+   R7  RO   RR   R‰   (   R/   R   R\   Ru  (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_add_offset_naté  s~    %**c      
   C   s   x¿ d d d g D]® } t  d d | ƒ} | t j d ƒ t  d d | ƒk sS t ‚ xh t j d ƒ t j d ƒ t j ƒ  t j d	 d
 ƒ t	 d	 ƒ g D]' } t
 j t j ƒ  | | Wd  QXq“ Wq Wxê d d d g D]Ù } t  d d | ƒ} | t j d ƒ t  d d | ƒk st ‚ | t j d ƒ t  d d | ƒk s@t ‚ xh t j d ƒ t j d ƒ t j ƒ  t j d	 d
 ƒ t	 d	 ƒ g D]' } t
 j t j ƒ  | | Wd  QXq€WqÒ Wxœd
 d d g D]‹} t  d d | ƒ} | t j d ƒ t  d d | ƒk st ‚ | t j d ƒ t  d d | ƒk s-t ‚ | t j d d
 ƒ t  d d | ƒk s[t ‚ | t j d3 d ƒ t  d d | ƒk s‰t ‚ | t	 d ƒ t  d d | ƒk s±t ‚ | t	 d d ƒ t  d d | ƒk sÜt ‚ xk t j d ƒ t j d ƒ t j ƒ  t j d  d! ƒ t	 d d" ƒ g D]' } t
 j t j ƒ  | | Wd  QXqWq¿Wx«d# d$ d% g D]š} t  d& d | ƒ} | t j d ƒ t  d' d | ƒk s¡t ‚ | t j d( ƒ t  d) d | ƒk sÌt ‚ | t j d( d! ƒ t  d) d | ƒk sút ‚ | t j d d ƒ t  d* d | ƒk s(t ‚ | t	 d+ d, ƒ t  d- d | ƒk sSt ‚ | t	 d. d  d+ d/ ƒ t  d0 d | ƒk s„t ‚ xq t j d ƒ t j d ƒ t j ƒ  t j d1 d ƒ t	 d d" d+ d2 ƒ g D]' } t
 j t j ƒ  | | Wd  QXqÍWq^Wd  S(4   NR   Re   Rl  RK  R   i   t   2009i   im  R#   R   RY   R}   s   2011-03s   2011-01i   s   2010-03Rn  RM   s
   2011-04-01i   s
   2011-03-27i   s
   2011-03-31s
   2011-03-30i  R«   iþÿÿÿs
   2011-04-03Ro  i0   i   Rp  i   R`   R  Rœ   s   2011-04-01 09:00s   2011-03-30 09:00i   s   2011-04-01 06:00s   2011-04-01 08:00Rq  ix   s   2011-04-01 07:00Rq   i´   s   2011-03-28 06:00i€  i   i€Q (   R   R   RP   R)   Rr  Rs  RÍ   RI   Rt  R   R*   R+   R   R2  RO   RR   R‰   (   R/   R   R\   Ru  (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_sub_offset@  sb    +++++(+++c         C   sŸ  x¼ d d d g D]« } t  d d | ƒ} x0 t j d ƒ g D] } | | t k s; t ‚ q; Wx] t j d ƒ t j d ƒ t j ƒ  t j	 d d	 ƒ t
 d ƒ g D] } | | t k s› t ‚ q› Wq WxÈ d
 d d g D]· } t  d d | ƒ} x< t j d ƒ t j d ƒ g D] } | | t k st ‚ qWx] t j d ƒ t j d ƒ t j ƒ  t j	 d d	 ƒ t
 d ƒ g D] } | | t k sft ‚ qfWqÏ Wxþ d	 d d g D]í } t  d d | ƒ} xo t j d ƒ t j d ƒ t j	 d d	 ƒ t j	 d$ d ƒ t
 d ƒ t
 d d ƒ g D] } | | t k st ‚ qWx` t j d ƒ t j d ƒ t j ƒ  t j	 d d ƒ t
 d d ƒ g D] } | | t k sgt ‚ qgWqšWxd d d g D]ü } t  d d | ƒ} xx t j d ƒ t j d ƒ t j	 d d ƒ t j	 d d ƒ t
 d d ƒ t
 d  d d d! ƒ g D] } | | t k st ‚ qWxf t j d ƒ t j d ƒ t j ƒ  t j	 d" d ƒ t
 d d d d# ƒ g D] } | | t k swt ‚ qwWq›Wd  S(%   NR   Re   Rl  R   R   i   i   im  R#   R   RY   R}   i   Rn  RM   i   i   i  R«   iþÿÿÿRo  i0   i   Rp  i   R`   R  Rœ   i   Rq  ix   Rq   i´   i€  i   i€Q (   R   R   RP   R   R)   Rr  Rs  RÍ   RI   Rt  R   RO   RR   R‰   (   R/   R   R\   Ru  (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_sub_offset_nat|  sH    %**R   R   RY   R}   c         C   sœ   t  d d | ƒ} | d t k s( t ‚ d | t k s> t ‚ | d t k sT t ‚ | t  d d | ƒt k sv t ‚ t  d d | ƒ| t k s˜ t ‚ d  S(   NR   R   i   s   2011-01(   R   R   R)   (   R/   R   R\   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_nat_ops«  s    "c         C   sç   t  d d d ƒ} | t j ƒ  } t  d d d ƒ} | | k sF t ‚ | t j d ƒ } t  d d d ƒ} | | k s} t ‚ d } t j t j d | ƒ | t j d ƒ Wd  QXt j t j d | ƒ | t j d ƒ Wd  QXd  S(	   Ns
   2011-04-01R   R#   s
   2011-04-02i   s
   2011-03-30s-   Input cannot be converted to Period\(freq=D\)R~   (	   R   R   RR   R)   R*   R+   R   R2  R‰   (   R/   R\   R]   R^   R‚   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_ops_offset´  s    N(   RŒ   R   RL  RO  RP  RQ  t   boxesRX  R*   RŽ   R   R]  R_  Re  t   Truet   FalseRS  R   RP   RS   RO   R[   t   WeekRk  Rv  Rw  Ry  Rz  R{  R|  (    (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyRJ  ù  s.   				'	*'		W	<	/'	c          C   s[   t  d ƒ }  t j t ƒ  d |  _ Wd  QX|  j } t j t ƒ  d | |  _ Wd  QXd  S(   Nt   2014Q1i   i   (   R   R*   R+   t   AttributeErrorR'   R   (   R\  R   (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_period_immutableÆ  s    	t   reasons%   Parses as Jan 1, 0007 on some systemst   strictc          C   s=   t  d d ƒ }  |  j d k s$ t ‚ |  j d k s9 t ‚ d  S(   Ns
   0001-01-07R#   i   i   (   R   R    R)   R"   (   RM  (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   test_small_year_parsingÒ  s    (4   R   R    R   t   numpyRI   R*   Rž   t   pandas._libs.tslibsR   R   R&  t   pandas._libs.tslibs.ccalendarR   R   t   pandas._libs.tslibs.frequenciesR   t   pandas._libs.tslibs.parsingR   t   pandas._libs.tslibs.timezonesR	   R
   t   pandas.compatR   R   t   pandas.compat.numpyR   t   pandasRS  R   R   R   R   R   t   pandas.core.indexes.periodt   coret   indexest   pandas.util.testingt   utilt   testingR“   t   objectR   R‘   RÈ   R%  R*  RJ  Rƒ  RŽ   t   xfailR  R†  (    (    (    sE   lib/python2.7/site-packages/pandas/tests/scalar/period/test_period.pyt   <module>   s4   (ÿ Æ·ÿ Uÿ Î	