
    .iWy                        d dl mZ d dlmZmZ d dlZd dlZd dlmZm	Z	 d dl
mZ d dlZd dlmZ  G d d      Z G d d	e      Z G d
 de      Z G d de      Z G d de      Z G d de      Zy)    )annotations)datetime	timedeltaN)IS64is_platform_windows)np_version_gt2c                  ,    e Zd ZddgZg dZed        Zy)CoercionBaseindexseries)	objectint64float64
complex128bool
datetime64datetime64tztimedelta64periodc                    t        |       NNotImplementedErrorselfs    a/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/indexing/test_coercion.pymethodzCoercionBase.method'   s    !$''    N)__name__
__module____qualname__klassesdtypespropertyr    r   r   r
   r
      s'    !G
F ( (r   r
   c                  Z   e Zd ZU dZg Zded<   d Zd Zej                  j                  ddefdefd	efg      d
        Zej                  j                  ddej                  fd	ej                   fdefg      d        Zej                  j                  ddej                   fdej                   fdefg      d        Zej                  j'                  d      d        Zej                  j'                  d      d        Zej                  j'                  d      d        Zej                  j'                  d      d        Zej                  j'                  d      d        Zej                  j'                  d      d        Zej                  j'                  d      d        Zy)TestSetitemCoercionsetitemz	list[str]r"   c                    t        j                  ddg      }t        |j                        |d d  t        j                  ddg      }t	        j
                  ||       y )Na   )pdSerieslistvaluestmassert_series_equal)r   serexpecteds      r   0test_setitem_series_no_coercion_from_values_listzDTestSetitemCoercion.test_setitem_series_no_coercion_from_values_list3   sH    iia!cjj!A99c1X&
sH-r   c                   |j                         }d||<   t        j                  g d|      }t        j                  ||       |j
                  j                  |k(  sJ |j                         }d|j                  |<   t        j                  g d|      }t        j                  ||       |j
                  j                  |k(  sJ y)z-test index's coercion triggered by assign key   )r+            r6   r   N)copyr,   r-   r0   r1   r   dtypeloc)r   original_seriesloc_keyexpected_indexexpected_dtypetempexps          r    _assert_setitem_index_conversionz4TestSetitemCoercion._assert_setitem_index_conversion<   s     ##% Wii~>
tS)zz>111##%ii~>
tS)zz>111r   zval,exp_dtypexr6   皙?c                0   t        j                  g dt        j                  t        d      t                    }|j
                  j                  t        k(  sJ t        j                  g t        d      |t              }| j                  ||||       y )Nr+   r7   r8   r9   abcdr<   r:   )r,   r-   Indexr.   r   r   r<   rD   r   val	exp_dtypeobj	exp_indexs        r   test_setitem_index_objectz-TestSetitemCoercion.test_setitem_index_objectP   sl     iiBHHT&\,PQyy&(((HH1tF|1S1@	--c3	9Mr   c                    t        j                  g d      }|j                  j                  t        j
                  k(  sJ t        j                  dddd|g      }| j                  ||||       y )NrH   r   r+   r7   r8   )r,   r-   r   r<   npr   rK   rD   rL   s        r   test_setitem_index_int64z,TestSetitemCoercion.test_setitem_index_int64Z   sY     ii%yy"((***HHaAq#./	--c3	9Mr   gffffff@c                    t        j                  g dg d      }|j                  j                  t        j
                  k(  sJ t        j                  dddd|g      }| j                  ||||       y )NrH   )rF    @@ffffff@r:   rF   rV   rW   rX   )r,   r-   r   r<   rS   r   rK   rD   )r   rM   rN   requestrO   rP   s         r   test_setitem_index_float64z.TestSetitemCoercion.test_setitem_index_float64d   s\     ii,@Ayy"**,,,HHc3S#67	--c3	9Mr   Test not implementedreasonc                    t         r   r   r   s    r   test_setitem_series_periodz.TestSetitemCoercion.test_setitem_series_periodn       !!r   c                    t         r   r   r   s    r   test_setitem_index_complex128z1TestSetitemCoercion.test_setitem_index_complex128r   r`   r   c                    t         r   r   r   s    r   test_setitem_index_boolz+TestSetitemCoercion.test_setitem_index_boolv   r`   r   c                    t         r   r   r   s    r   test_setitem_index_datetime64z1TestSetitemCoercion.test_setitem_index_datetime64z   r`   r   c                    t         r   r   r   s    r   test_setitem_index_datetime64tzz3TestSetitemCoercion.test_setitem_index_datetime64tz~   r`   r   c                    t         r   r   r   s    r   test_setitem_index_timedelta64z2TestSetitemCoercion.test_setitem_index_timedelta64   r`   r   c                    t         r   r   r   s    r   test_setitem_index_periodz-TestSetitemCoercion.test_setitem_index_period   r`   r   N)r   r    r!   r   r"   __annotations__r4   rD   pytestmarkparametrizer   
IndexErrorrQ   rS   r   r   rT   rZ   xfailr_   rb   rd   rf   rh   rj   rl   r%   r   r   r'   r'   ,   s   F GY.2( [[3-!Z3-HNN [[1bhh-#rzz):S&MJNN [[1bjj/C+<sFmLNN [[45" 6" [[45" 6" [[45" 6" [[45" 6" [[45" 6" [[45" 6" [[45" 6"r   r'   c            	         e Zd ZdgZdZd Zej                  j                  ddde	fdde	fdde	fdde	fg      d	        Z
ej                  j                  dd
ddej                  fdde	fdde	fg      d        Zej                  j                  ddddej                  fdde	fdde	fg      d        Zej                  j                  d ej                   d      j#                  d      df ej                   dd      j#                  d      dfgddg      ej                  j                  d ej                   d      j#                  d       ej                   dd      j#                  d      dg      d               Zd Zej                  j                  d ej(                  dd      ddf ej                   d      j#                  d       ej                   d      j#                  d      e	fdde	fdde	fg      d         Zej                  j-                  d!"      d#        Zej                  j-                  d!"      d$        Zy%)&TestInsertIndexCoercionr   insertc                    |j                         }|j                  d|      }t        j                  ||       |j                  |k(  sJ y)z!test coercion triggered by insertr+   N)r;   ru   r0   assert_index_equalr<   r   originalvaluer3   rA   targetress          r   _assert_insert_conversionz1TestInsertIndexCoercion._assert_insert_conversion   s?    mmAu%
c8,yyN***r   z"insert, coerced_val, coerced_dtyper+   rF   FrE   c                    t        j                  t        d      t              }|j                  t        k(  sJ t        j                  d|dddgt              }| j                  ||||       y )NrI   rJ   r*   bcd)r,   rK   r.   r   r<   r}   )r   ru   coerced_valcoerced_dtyperO   rC   s         r   test_insert_index_objectz0TestInsertIndexCoercion.test_insert_index_object   sY     hhtF|62yyF"""hh[#sC8G&&sFCGr   )r+   r+   Nc                    |}t        j                  g d|      }||n|}t        j                  d|dddg|      }| j                  ||||       y )NrH   rJ   r+   r7   r8   r9   )r,   rK   r}   )r   any_int_numpy_dtyperu   r   r   r<   rO   rC   s           r   test_insert_int_indexz-TestInsertIndexCoercion.test_insert_int_index   sT     $hh|51)6)Bhh;1a0F&&sFCGr   )r+         ?Nc                    |}t        j                  g d|      }||n|}t        r|dk(  r|dk(  rt        j                  }t        j                  d|dddg|      }| j                  ||||       y )	N)r          @      @      @rJ   float32rF   r   r   r   r   )r,   rK   r   rS   r   r}   )r   float_numpy_dtyperu   r   r   r<   rO   rC   s           r   test_insert_float_indexz/TestInsertIndexCoercion.test_insert_float_index   sq     "hh+59)6)Bey0[C5G JJMhh[#sC8N&&sFCGr   fill_val,exp_dtype
2012-01-01sdatetime64[ns]
US/Easterntzdatetime64[ns, US/Eastern]r   r   idsinsert_value
Asia/Tokyoc                   t        j                  g d|j                        j                  d      }|j                  |k(  sJ t        j                  d|j                         dddg|j                        j                  d      }| j                  ||||       |j                  r%t        j                  d      j                  d	      }|j                  d
|      }|j                  t              j                  d
|      }|j                  t        k(  sJ t        j                  ||       t        j                  dd      j                  d	      }|j                  d
|      }|j                  d
|j                  |j                  j                              }|j                  |j                  k(  sJ t        j                  ||       nt        j                  dd      j                  d	      }|j                  d
|      }|j                  t              j                  d
|      }|j                  t        k(  sJ t        j                  ||       d
}	|j                  d
|	      }|j                  t              j                  d
|	      }|d
   |	k(  sJ |j                  t        k(  sJ t        j                  ||       y )N)
2011-01-01
2011-01-02
2011-01-03
2011-01-04r   nsr   r   r   r   r   r   r+   r   )r,   DatetimeIndexr   as_unitr<   dater}   	Timestampru   astyper   r0   rw   
tz_convert)
r   fill_valrN   r   rO   rC   tsresultr3   items
             r   test_insert_index_datetimesz3TestInsertIndexCoercion.test_insert_index_datetimes   s9   ( D

'$- 	 yyI%%%8==?L,U{{
 '$- 	 	&&sHc9E;;l+33C8BZZ2&Fzz&)00B7H>>V+++!!&(3l|<DDSIBZZ2&Fzz!R]]399<<%@AH>>SYY...!!&(3 l|<DDSIBZZ2&Fzz&)00B7H>>V+++!!&(3At$::f%,,Q5{d"""~~'''
fh/r   c                   t        j                  g d      }|j                  dk(  sJ t        j                  g d      }| j                  |t        j                  d      |d       t        j
                  d      j                  d      dfD ]d  }|j                  d|      }|j                  t              j                  d|      }|j                  t        k(  sJ t        j                  ||       f y )N)1 day2 day3 day4 daytimedelta64[us])r   10 dayr   r   r   r   r   r   r+   )r,   TimedeltaIndexr<   r}   	Timedeltar   r   ru   r   r   r0   rw   )r   rO   rC   r   r   r3   s         r   test_insert_index_timedelta64z5TestInsertIndexCoercion.test_insert_index_timedelta64  s     DEyy----  NO&&h'.?	
 \\,/77<a@ 	4DZZ4(Fzz&)00D9H>>V+++!!&(3		4r   z2012-01Mfreq	period[M]c                b   t        j                  g dd      }|j                  dk(  sJ t        j                  dd      |t        j                  dd      t        j                  dd      t        j                  dd      g}t	        |t         j                        rIt        j                  |d      }| j                  ||||       | j                  |t        |      ||       y |j                  d	|      }|j                  t              j                  d	|      }t        j                  ||       t	        |t         j                        s`|j                  d	t        |            }|j                  t              j                  d	t        |            }t        j                  ||       y y )
N)2011-012011-022011-032011-04r   r   r   r   r   r   r   r   )r,   PeriodIndexr<   Period
isinstancer}   strru   r   r   r0   rw   r   )	r   ru   r   r   rO   datarC   r   r3   s	            r   test_insert_index_periodz0TestInsertIndexCoercion.test_insert_index_period  sO    nnIPSTyyK''' IIic*IIic*IIic*IIic*
 fbii(..C0C**3]K **3FS-P ZZ6*Fzz&)00F;H!!&(3 fbll3As6{3::f-44QFD%%fh7	 4r   r[   r\   c                    t         r   r   r   s    r   test_insert_index_complex128z4TestInsertIndexCoercion.test_insert_index_complex128K  r`   r   c                    t         r   r   r   s    r   test_insert_index_boolz.TestInsertIndexCoercion.test_insert_index_boolO  r`   r   N)r   r    r!   r"   r   r}   rn   ro   rp   r   r   rS   r   r   r   r,   r   r   r   r   r   r   rr   r   r   r%   r   r   rt   rt      s   iGF+ [[,6N#vE6"#v		
HH [[,#rzz"E6"#v		
HH [[, #rzz"E6"#v	

H
H [[R\\,'//46FG\l;CCCH,	
 >*  
 [[BLL&..s3BLL,7??D	
(0
&(0T4  [[,RYYys+YD\*2237\*2237
 6N#v		
88> [[45" 6" [[45" 6"r   rt   c            	         e Zd ZdZ ej
                  g d      Zd Zd Zd Z	e
j                  j                  ddefdefd	efd
efg      d        Ze
j                  j                  ddej                  fdej                   fd	ej"                  fd
efg      d        Ze
j                  j                  ddej                   fdej                   fd	ej"                  fd
efg      d        Ze
j                  j                  ddej"                  fdej"                  fd	ej"                  fd
efg      d        Ze
j                  j                  ddefdefd	efd
ej*                  fg      d        Ze
j                  j                  d ej0                  d      j3                  d      df ej0                  dd      j3                  d      efgddg      d        Ze
j                  j7                  d      d        Ze
j                  j7                  d      d        Ze
j                  j7                  d      d        Ze
j                  j7                  d      d        Ze
j                  j                  d  ej@                  d!"      j3                  d#       e!d!"       ejD                  d!d$      g      d%        Z#d& Z$y')(TestWhereCoercionwhereTFTFc                    |j                         }|j                  ||      }t        j                  ||       |j                  |k(  sJ y)z test coercion triggered by whereN)r;   r   r0   assert_equalr<   )r   ry   condr/   r3   rA   r{   r|   s           r   _assert_where_conversionz*TestWhereCoercion._assert_where_conversionX  s?     ll4(
X&yyN***r   c                    du r |g d      }nIt        t        t        j                  f      rt	        j
                  d      }n |fddD              } ||d   |d   |d	   |d
   g|      }||fS )NT)TFTTr9   periodsc              3  (   K   | ]	  }|z    y wr   r%   ).0rE   r   s     r   	<genexpr>z3TestWhereCoercion._construct_exp.<locals>.<genexpr>g  s     >A1x<>s   )r6            r   r+   r7   r8   rJ   )r   r   rS   r   r,   
date_range)r   rO   klassr   rN   r/   rC   s      `   r   _construct_expz TestWhereCoercion._construct_expa  sx    t45F8R]]";<]]8Q7F>>>FSVVAYAq	:)Ls{r   c                     || j                         } ||d   ||d   |g|      }| j                  |||||       | j                  ||||      \  }}| j                  |||||       y )Nr   r7   rJ   )_condr   r   )r   rO   r   r   rN   r   rC   r/   s           r   	_run_testzTestWhereCoercion._run_testl  ss    TZZ SVXs1vx8	J%%c43	J))#uh	J%%c4iHr   r   r+   rF         ?      ?Tc                    |} |t        d      t              }|j                  t        k(  sJ | j                  ||||       y )NrI   rJ   )r.   r   r<   r   r   index_or_seriesr   rN   r   rO   s         r   test_where_objectz#TestWhereCoercion.test_where_objectu  s=    
  DL/yyF"""sHeY7r   c                    |} |g d      }|j                   t        j                  k(  sJ | j                  ||||       y )NrH   )r<   rS   r   r   r   r   r   rN   rY   r   rO   s          r   test_where_int64z"TestWhereCoercion.test_where_int64  s;    
  L!yyBHH$$$sHeY7r   zfill_val, exp_dtypec                    |} |g d      }|j                   t        j                  k(  sJ | j                  ||||       y )N)rF   皙@ffffff
@皙@)r<   rS   r   r   r   s          r   test_where_float64z$TestWhereCoercion.test_where_float64  s<    
  ()yyBJJ&&&sHeY7r   c                    |} |g dt         j                        }|j                  t         j                  k(  sJ | j                  ||||       y )N)r          @       @      @      @      @      @rJ   )rS   r   r<   r   r   s         r   test_where_complex128z'TestWhereCoercion.test_where_complex128  sB      4BMMJyyBMM)))sHeY7r   c                    |} |g d      }|j                   t        j                  k(  sJ | j                  ||||       y )Nr   )r<   rS   bool_r   r   s         r   test_where_series_boolz(TestWhereCoercion.test_where_series_bool  s<    
  ./yyBHH$$$sHeY7r   r   r   r   r   r   r   r   r   c                `   |} |t        j                  dddd      j                  d             }|j                  dk(  sJ |}|dk(  r;||j	                         |j                         fD ]  }| j                  ||||        y ||j	                         fD ]  }| j                  ||||        y )Nr   r9   Dr   )r   r   unitr   )r,   r   
_with_freqr<   to_pydatetimeto_datetime64r   )r   r   r   rN   r   rO   fvscalars           r   test_where_datetime64z'TestWhereCoercion.test_where_datetime64  s      MM,$GRRSWX
 yy,,,,((r//123C3C3EF >sFE9=> r//12 @sHeY?@r   r[   r\   c                    t         r   r   r   s    r   test_where_index_complex128z-TestWhereCoercion.test_where_index_complex128  r`   r   c                    t         r   r   r   s    r   test_where_index_boolz'TestWhereCoercion.test_where_index_bool  r`   r   c                    t         r   r   r   s    r   test_where_series_timedelta64z/TestWhereCoercion.test_where_series_timedelta64  r`   r   c                    t         r   r   r   s    r   test_where_series_periodz*TestWhereCoercion.test_where_series_period  r`   r   rz   	   daysusr   c                   t        j                  dd      }t        j                  g d      }t        j                  d||dg      }|j                  ||      }t        j                  ||       t        j                  dd      }t        j                  |d   |||d	   gt        
      }|d   |u sJ |j                  ||      }t        j                  ||       y )Nz1 Dayr9   r   )TFFTz4 DaysNaTr   r   r8   rJ   r+   )r,   timedelta_rangerS   arrayr   r   r0   rw   r   rK   r   )r   rz   tdir   r3   r   dtnats          r   test_where_index_timedelta64z.TestWhereCoercion.test_where_index_timedelta64  s    
   !4xx23$$gueX%FG4'
fh/ eT*88SVUE3q6:&I{e###4'
fh/r   c                   t        j                  ddd      }|j                  d      }t        j                  g d      }|d   |j
                  dz  z   }t        j                  ||d	   |g      }|j                  ||      }t        j                  ||       t        j                  ||j
                  dz  z   t        
      }|j                  ||      }t        j                  |d   |d	   |d   g      }t        j                  ||       t        j                  d      }t        j                  ||d	   |gt        
      }|j                  ||      }t        j                  ||       t        j                  dd      }	t        j                  |	|d	   |	gt        
      }|j                  ||	      }t        j                  ||       y )N
2016-01-01r8   QSr   r   Q)FTF
   r+   rJ   r   r7   r9   r  z
2020-04-21r   )r,   r   	to_periodrS   r  r   r   r   r0   rw   asarrayr   r   rK   r   )
r   dtipir   rz   r3   r   othertdpers
             r   test_where_index_periodz)TestWhereCoercion.test_where_index_period  sw   mmL!$?]]3xx,- 22%>>5"Q%"78$&
fh/ 

2",F;$&>>58RUE!H"=>
fh/ \\q!88RAO6:$#
fh/iic*88S"Q%-V<$$
fh/r   N)%r   r    r!   r   rS   r  r   r   r   r   rn   ro   rp   r   r   r   r   r   r   r   r   r   r   r,   r   r   r   rr   r   r  r  r  r   r   r   r  r   r%   r   r   r   r   T  s   FBHH/0E+	I [[
VsFmff%5f~F8	8 [[
RXXbjj)FBMM+BT6NS8	8 [[
RZZ3

+fbmm-DtVnU8	8 [["-- R]]#6N		
88 [[
VsFmff%5bhh7GH8	8 [[R\\,'//46FGR\\,<8@@EvN	
 >*  @@" [[45" 6" [[45" 6" [[45" 6" [[45" 6" [[	1		%	%d	+YA->qRU@VW0	0 0r   r   c                     e Zd ZdZd Zej                  j                  ddefdefdefdefg      d        Z	ej                  j                  d	de
j                  fde
j                  fde
j                  fdefg      d
        Zej                  j                  d	de
j                  fde
j                  fde
j                  fdefg      d        Zej                  j                  d	 ej                   d      j#                  d      df ej                   dd      j#                  d      efdefdefgg d      d        Zej                  j                  d	 ej                   dd      j#                  d      df ej                   d      j#                  d      ef ej                   dd      j#                  d      dfdefdefg      d        Zej                  j                  ddddd ej(                  ddd       ej                   dd      j#                  d       ej                   d      j#                  d       ej*                  d       ej,                  dd      g	      d        Zej                  j1                  d !      d"        Zej                  j1                  d !      d#        Zej                  j1                  d !      d$        Zej                  j1                  d !      d%        Zej                  j1                  d !      d&        Zej                  j                  ddddd ej(                  ddd       ej                   dd      j#                  d       ej                   d      j#                  d       ej*                  d       ej,                  dd'      g	      d(        Zej                  j1                  d !      d)        Zej                  j1                  d !      d*        Z y+),TestFillnaSeriesCoercionfillnac                    |j                         }|j                  |      }t        j                  ||       |j                  |k(  sJ y)z!test coercion triggered by fillnaN)r;   r#  r0   r   r<   rx   s          r   _assert_fillna_conversionz2TestFillnaSeriesCoercion._assert_fillna_conversion  s;    mmE"
X&yyN***r   zfill_val, fill_dtyper+   rF   r   Tc                    |} |dt         j                  ddgt              }|j                  t        k(  sJ  |d|ddgt              }| j	                  ||||       y )Nr*   r   r   rJ   )rS   nanr   r<   r%  r   r   r   
fill_dtyper   rO   rC   s          r   test_fillna_objectz+TestFillnaSeriesCoercion.test_fillna_object  s]    
  S"&&#s+6:yyF"""S(C-V<&&sHc:Fr   zfill_val,fill_dtypec                    |} |dt         j                  ddg      }|j                  t         j                  k(  sJ  |d|ddg      }| j	                  ||||       y )NrF   r   r   )rS   r'  r<   r   r%  r(  s          r   test_fillna_float64z,TestFillnaSeriesCoercion.test_fillna_float64"  s]    
  S"&&#s+,yyBJJ&&&S(C-.&&sHc:Fr   c                    |} |dt         j                  ddgt         j                        }|j                  t         j                  k(  sJ  |d|ddg      }| j	                  ||||       y )Nr   r   r   rJ   )rS   r'  r   r<   r%  r(  s          r   test_fillna_complex128z/TestFillnaSeriesCoercion.test_fillna_complex128.  sc      VRVVVV4BMMJyyBMM)))VXvv67&&sHc:Fr   r   r   datetime64[s]r   r   rE   )r   r   r   r   r   c                6   |} |t        j                  d      j                  d      t         j                  t        j                  d      j                  d      t        j                  d      j                  d      g      }|j                  dk(  sJ  |t        j                  d      j                  d      |t        j                  d      j                  d      t        j                  d      j                  d      g      }| j                  ||||       y )Nr   r   r   r   r/  )r,   r   r   r  r<   r%  r(  s          r   test_fillna_datetimez-TestFillnaSeriesCoercion.test_fillna_datetime?  s      \*2237\*2237\*2237	
 yyO+++\*2237\*2237\*2237	
 	&&sHc:Fr   datetime64[s, US/Eastern]r   c           	        |}d} |t        j                  d|      j                  d      t         j                  t        j                  d|      j                  d      t        j                  d|      j                  d      g      }|j                  dk(  sJ t        |dd       |}n|j                  |      } |t        j                  d|      j                  d      |t        j                  d|      j                  d      t        j                  d|      j                  d      g      }| j                  ||||       y )	Nr   r   r   r   r   r   r2  r   )r,   r   r   r  r<   getattrr   r%  )	r   r   r   r)  r   r   rO   r   rC   s	            r   test_fillna_datetime64tzz1TestFillnaSeriesCoercion.test_fillna_datetime64tz_  s   $  \b199#>\b199#>\b199#>	
 yy77778T4(0B$$R(B\b199#>\b199#>\b199#>	
 	&&sHc:Fr   r   r7   leftclosedr  r  r   c                >   t        j                  ddd      j                  dt        j                        }t        |j                  t         j                        sJ  ||      } ||d   ||d   |d   |d	   gt        
      }t        }| j                  ||||       y )Nr   g      @rightr7  r+   r   r7   r8   r9   rJ   )
r,   interval_rangeru   rS   r'  r   r<   IntervalDtyper   r%  )r   r   r   iirO   rC   r)  s          r   test_fillna_intervalz-TestFillnaSeriesCoercion.test_fillna_interval  s     sC8??266J"((B$4$4555b!r!uh1r!ubeDFS
&&sHc:Fr   r[   r\   c                    t         r   r   r   s    r   test_fillna_series_int64z1TestFillnaSeriesCoercion.test_fillna_series_int64  r`   r   c                    t         r   r   r   s    r   test_fillna_index_int64z0TestFillnaSeriesCoercion.test_fillna_index_int64  r`   r   c                    t         r   r   r   s    r   test_fillna_series_boolz0TestFillnaSeriesCoercion.test_fillna_series_bool  r`   r   c                    t         r   r   r   s    r   test_fillna_index_boolz/TestFillnaSeriesCoercion.test_fillna_index_bool  r`   r   c                    t         r   r   r   s    r   test_fillna_series_timedelta64z7TestFillnaSeriesCoercion.test_fillna_series_timedelta64  r`   r   Wc                >   t        j                  ddd      j                  dt         j                        }t	        |j
                  t         j                        sJ  ||      } ||d   ||d   |d   |d   gt        	      }t        }| j                  ||||       y )
Nr  r9   r   r  r+   r   r7   r8   rJ   )	r,   period_rangeru   r  r   r<   PeriodDtyper   r%  )r   r   r   r  rO   rC   r)  s          r   test_fillna_series_periodz2TestFillnaSeriesCoercion.test_fillna_series_period  s     __\13?FFq"&&Q"((BNN333b!r!uh1r!ubeDFS
&&sHc:Fr   c                    t         r   r   r   s    r   test_fillna_index_timedelta64z6TestFillnaSeriesCoercion.test_fillna_index_timedelta64  r`   r   c                    t         r   r   r   s    r   test_fillna_index_periodz1TestFillnaSeriesCoercion.test_fillna_index_period  r`   r   N)!r   r    r!   r   r%  rn   ro   rp   r   r*  rS   r   r   r,  r.  r,   r   r   r1  r5  Intervalr   r   r>  rr   r@  rB  rD  rF  rH  rM  rO  rQ  r%   r   r   r"  r"  
  sr    F+ [[
VsFmff%5f~FG	G [[
RZZ3

+fbmm-DtVnUG	G [["-- R]]#6N		
GG [[R\\,'//4oFR\\,<8@@EvNK&M		
 ?  	G	G, [[ \l;CCCH+ R\\,'//4f= \l;CCCH+ K&M	
"G#"G8 [[BKK1V,BLL,7??DBLL&..s3BLLa BIIlC(
	
GG [[45" 6" [[45" 6" [[45" 6" [[45" 6" [[45" 6" [[BKK1V,BLL,7??DBLL&..s3BLLa BIIlC(
	
GG [[45" 6" [[45" 6"r   r"  c                  *   e Zd ZU dgZdZi Zded<   ddged<   dd	ged
<   ddged<   ddged<   ddged<    ej                  d      j                  d       ej                  d      j                  d      ged<   dD ]Q  Z
de
 dZ ej                  de
      j                  d       ej                  de
      j                  d      gee<   S  ej                  d       ej                  d      ged<    ej                  ddg       d!        Z ej                  g d"       d#        Z ej                  g d"g d$%      d&        Zej                  d'        Zd( Zej(                  j+                  d)g d*d+      ej(                  j+                  d,d-d.gd+      d/               Zej(                  j+                  d)g d0d+      ej(                  j+                  d,g d0d+      d1               Zej(                  j1                  d23      d4        Zy5)6TestReplaceSeriesCoercionr   replacezdict[str, list]repr*   r   r   r9   r6   r   rF   r   r   r   r   r   TFr   r   r   r   r   )UTCr   zdatetime64[ns, ]r   r   r   r   dict)paramsc                    |j                   S r   paramr   rY   s     r   howzTestReplaceSeriesCoercion.how  s    }}r   )	r   r   r   r   r   r   datetime64[ns, UTC]r   r   c                    |j                   S r   r\  r^  s     r   from_keyz"TestReplaceSeriesCoercion.from_key  s     }}r   )	r   r   r   r   r   r   r   r   r   )rZ  r   c                    |j                   S r   r\  r^  s     r   to_keyz TestReplaceSeriesCoercion.to_key  s    2 }}r   c                    |dk(  r1t        t        | j                  |   | j                  |               }|S |dk(  r3t        j                  | j                  |   | j                  |         }|S t
        )z9
        Object we will pass to `Series.replace`
        rY  r   r:   )rY  ziprV  r,   r-   
ValueError)r   r_  rb  rd  replacers        r   rh  z"TestReplaceSeriesCoercion.replacer!  so    
 &=C 2DHHV4DEFH
 	 H_yy&!1(9KLH  r   c                x   t        j                  ddgd      }t        j                  | j                  |   |d      }|j	                  |      }|j
                  |k(  sJ |j                  d      r|j                  d      ry |dv ry |d	k(  r|d
v s	|dk(  rV|dv rRt        r
t               rt        j                  d| d|        t        j                  | j                  |   |d|      }n%t        j                  | j                  |   |d      }|j                  |      }t        j                  ||d       y )Nr8   r9   xxxnameyyyr   rl  r   )r   r`  r   r   r   )r   r   z32-bit platform buggy: z -> )r   rl  r<   Fcheck_dtype)r,   rK   r-   rV  r   r<   
startswithr   r   rn   skiprU  r0   r1   r   rd  rb  rh  r   rO   rC   r   s           r   test_replace_seriesz-TestReplaceSeriesCoercion.test_replace_series.  s   !Qe,ii*%eDjj"yyH$$$z*v/@/@/LNN	!f&9$3G)G.05hZtF8LM ))DHHV,EXVC ))DHHV,EFCX&
vs>r   rd  )r   r   r   r   r   r   )indirectrb  r`  r   c                   t        j                  ddgd      }t        j                  | j                  |   |d      j                  j                  d      }|j                  |k(  sJ t        j                  | j                  |   |d      }|r|dk(  r|j                  d	k(  sJ |j                  |k(  sJ |j                  |      }t        j                  ||d
       y )Nr8   r9   xyzrk  rm  rn  r   r   stringFro  )
r,   rK   r-   rV  dtr   r<   rU  r0   r1   )	r   rd  rb  rh  using_infer_stringr   rO   rC   r   s	            r   test_replace_series_datetime_tzz9TestReplaceSeriesCoercion.test_replace_series_datetime_tzJ  s     !Qe,ii*%eDGGOOPTUyyH$$$ii(EB&H"499(((99&&&X&
vs>r   )r   r`  r   c                x   t        j                  ddgd      }t        j                  | j                  |   |d      j                  j                  d      }|j                  |k(  sJ t        j                  | j                  |   |d      }t        |j                  t         j                        r@t        |j                  t         j                        r|j                  |j                        }n ||k(  r|j                  j                  d      }|j                  |      }t        j                  ||d	       y )
Nr8   r9   rw  rk  rm  rn  r   Fro  )r,   rK   r-   rV  ry  r   r<   r   DatetimeTZDtyper   rU  r0   r1   rs  s           r   %test_replace_series_datetime_datetimez?TestReplaceSeriesCoercion.test_replace_series_datetime_datetimeb  s     !Qe,ii*%eDGGOOPTUyyH$$$ii(EBcii!3!34IIr)):
 **SYY'Cx&&..&CX&
vs>r   r[   r\   c                    t         r   r   r   s    r   test_replace_series_periodz4TestReplaceSeriesCoercion.test_replace_series_period}  r`   r   N)r   r    r!   r"   r   rV  rm   r,   r   r   r   keyr   rn   fixturer_  rb  rd  rh  rt  ro   rp   r{  r~  rr   r  r%   r   r   rT  rT    s   jGFC#JCMq6CL3ZC	N(C-CK\"**3/\"**3/C
 $ 
t1%BLL"-55c:BLL"-55c:
C
 +bll73\R\\'5JKCV^^FH-. / V^^

 V^^



010 ^^
 
?8 [[O  
 [[*,HITX  ??  [[O  
 [[O  
??" [[45" 6"r   rT  )
__future__r   r   r   numpyrS   rn   pandas.compatr   r   pandas.compat.numpyr   pandasr,   pandas._testing_testingr0   r
   r'   rt   r   r"  rT  r%   r   r   <module>r     sy    "
   /  ( (&\", \"~F"l F"Rs0 s0lL"| L"^f" f"r   