
    .iϷ                    

   d dl mZ d dl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 d dlmZ d dlmZ d dlZd dlmZmZmZmZ d dlmZ d dlmZmZmZmZ  ej<                  g d	
      d        Zej<                  d        Z ej<                  d        Z!ej<                  d        Z" G d d      Z# G d de#      Z$ G d de#      Z%ejL                  jO                  d      ejL                  jO                  d       G d de#                    Z(ejL                  jS                  d eg d      jT                  e ejV                  dd      ff ejX                  ddd       jT                  e ejZ                  dd      ff ej\                  ddd       jT                  effgd! "      d#        Z/ejL                  jS                  d$ eg d      jT                   ejZ                  dd      ej`                  ff ejX                  ddd       jT                   ejV                  dd      ej`                  ff ej\                  ddd       jT                   ejZ                  dd       ejV                  dd      ej`                  ffgd% "      d&        Z1ejL                  jS                  d' ejX                  d(d)*      jd                   ejf                  d(d)*      jd                  g      d+        Z4ejL                  jS                  d' ejX                  d(d)*      jd                   ejf                  d(d)*      jd                  g      d,        Z5ejL                  jS                  d-d.d/g      ejL                  jS                  d0 ejl                  d1d2g       ejn                  d3d4gd5       ed1d2gd6      g      ejL                  jS                  d7e8ejr                  ejr                  ejt                  ejv                  ejx                  ejz                  g      d8                      Z>ejL                  jS                  d0 ejl                  d1d2g       ejn                  d3d4gd5       ed1d2gd6      g      ejL                  jS                  d9d3d4gd:d;g e	d1d<=      gd4z  g      d>               Z?ejL                  jS                  d7e8e@ejr                  ejt                  g      d?        ZAejL                  jS                  d@dAdBg      dC        ZBy)D    )annotationsN)NaT	Timestamp)	to_offset)np_version_gt2)PeriodDtype)DatetimeIndexPeriodPeriodIndexTimedeltaIndex)DatetimeArrayNumpyExtensionArrayPeriodArrayTimedeltaArray)DBWMEQEYE)paramsc                    | j                   S )z:Fixture returning parametrized frequency in string format.)param)requests    c/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/arrays/test_datetimelike.pyfreqstrr   #   s     ==    c                   t        j                         5  t        j                  ddt               t	        t        |             j                  } t        j                  t        d      d|       }ddd       |S # 1 sw Y   S xY w)z
    A fixture to provide PeriodIndex objects with different frequencies.

    Most PeriodArray behavior is already tested in PeriodIndex tests,
    so here we just test that the PeriodArray behavior matches
    the PeriodIndex behavior.
    ignorezPeriod with BDay freq)messagecategory
2000-01-01d   )startperiodsfreqN)
warningscatch_warningsfilterwarningsFutureWarningr   r   _freqstrpdperiod_ranger   )r   pis     r   period_indexr/   )   su     
	 	 	" W5	
 i01::__9\#:CgVW IW Is   AA;;Bc                J    t        j                  t        d      d| d      }|S )z
    A fixture to provide DatetimeIndex objects with different frequencies.

    Most DatetimeArray behavior is already tested in DatetimeIndex tests,
    so here we just test that the DatetimeArray behavior matches
    the DatetimeIndex behavior.
    r"   r#   ns)r$   r%   r&   unit)r,   
date_ranger   )r   dtis     r   datetime_indexr5   =   s'     --%stC Jr   c                     t        g d      S )a  
    A fixture to provide TimedeltaIndex objects with different frequencies.
     Most TimedeltaArray behavior is already tested in TimedeltaIndex tests,
    so here we just test that the TimedeltaArray behavior matches
    the TimedeltaIndex behavior.
    1 Day3 Hoursr   )r    r   r   timedelta_indexr;   M   s     566r   c                     e Zd ZU ded<   ej
                  d        Zd Zej                  j                  d e
j                  dd       e
j                  ddd	
       e
j                  dd       e
j                  ddd      g      d        Zej                  j                  dddg      ej                  j                  dddg      d               Zd Zej                  j                  ddd edddd      j$                  g      d        Zd Zej                  j+                  d      d        Zd  Zd! Zd" Zd# Zd$ Zej                  j                  d%d&d'g      d(        Zd) Zej                  j                  d*g d+      d,        Zd- Zd. Z d/ Z!d0 Z"d1 Z#d2 Z$ej                  j                  d*e
jJ                  e
jL                  e'jP                  e)e*g      d3        Z+d4 Z,ej                  j                  dddg      d5        Z-d6 Z.ej                  j                  d*e)e'jP                  e
jJ                  e
jL                  g      d7        Z/d8 Z0d9 Z1d: Z2d; Z3y<)=SharedTestsz2type[DatetimeIndex | PeriodIndex | TimedeltaIndex]	index_clsc                    t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }|S | j	                  |d      j
                  }|S )	z5Fixture returning DatetimeArray with daily frequency.
   i8dtype      ʚ;r   r&   )nparange	array_clsr   r>   _data)selfdataarrs      r   arr1dzSharedTests.arr1d\   sg     yy4(2-4u<>>[(..C.0C 
 ..C.066C
r   c                   |}| j                  |      }t        j                  t        d      5  ||d d k(   d d d        t        j                  t        d      5  ||dg   k   d d d        y # 1 sw Y   7xY w# 1 sw Y   y xY w)NzLengths must matchmatch   r   )r>   pytestraises
ValueError)rL   rO   rN   idxs       r   test_compare_len1_raisesz$SharedTests.test_compare_len1_raisesf   s     nnS!]]:-AB 	3r7N	 ]]:-AB 	3s8O	 			 		 	s   	A.
A:.A7:Bresult2020   r%   UTC)r%   tzz0 days2020Q1Qr%   r&   c                n    t        j                  |      }t        ||k(        sJ t        ||k7        rJ y N)r,   Categoricalallany)rL   rY   expecteds      r   test_compare_with_Categoricalz)SharedTests.test_compare_with_Categoricals   s;     >>&)6X%&&&v)****r   reverseTFas_indexc                   t        j                  ||      }|rt        j                  |      }||}}|r||}}t        j                  |j
                  t              }| }	||k(  }
t        j                  |
|       ||k7  }
t        j                  |
|	       |sp|sm||k  }
t        j                  |
|	       ||k  }
t        j                  |
|       ||kD  }
t        j                  |
|	       ||k\  }
t        j                  |
|       y y y )N)orderedrB   )	r,   rd   CategoricalIndexrH   onesshapebooltmassert_numpy_array_equal)rL   rO   rj   ri   rl   otherleftrightrn   zerosrY   s              r   test_compare_categorical_dtypez*SharedTests.test_compare_categorical_dtype   s     ug6''.EUe%Dwwu{{$/
##FD1
##FE2x E\F''6U]F''5E\F''6U]F''5  (wr   c                   t        j                  dd      dz  dz  dz  }t         j                  j                  d      j	                  |       | j
                  t        u rt        |d      }n| j                  |      j                  }| j                  j                  |      }g d	}|j                  |      }|j                  |      }t        j                  | j                  |      |       t        j                  g d	      }|j                  |      }|j                  |      }t        j                  | j                  |      |       y )
Nr#   rA   rB   rD   rE   rF      	period[D])rS      ^   )rH   rI   randomdefault_rngshufflerJ   r   r>   rK   _simple_newtakerq   assert_index_equalarray)rL   rM   rN   rW   takersrY   rg   s          r   	test_takezSharedTests.test_take   s    yyD)B.5=
		a ((.>>[(d+6C..&,,Cnn((-&!88F#
dnnV4h?*%&!88F#
dnnV4h?r   
fill_valuery   g       @i  rS      c                    d|j                   j                   d}t        j                  t        |      5  |j                  ddgd|       d d d        y # 1 sw Y   y xY w)Nvalue should be a '' or 'NaT'. GotrQ   r   rS   T
allow_fillr   )_scalar_type__name__rT   rU   	TypeErrorr   )rL   r   rO   msgs       r   test_take_fill_raisesz!SharedTests.test_take_fill_raises   sZ    #E$6$6$?$?#@P]]9C0 	GJJ1v$:JF	G 	G 	Gs   AAc                    |}|j                  ddgdd       }|d   t        u sJ |j                  ddgdt        j                        }|d   t        u sJ |j                  ddgdt              }|d   t        u sJ y )NrS   Tr   r   )r   r   rH   nan)rL   rO   rN   rY   s       r   test_take_fillzSharedTests.test_take_fill   s    2q'dtDayC2q'drvvFayC2q'dsCayCr   8ignore:Period with BDay freq is deprecated:FutureWarningc                B   |j                  ddgdt        |d               }|ddg   }t        j                  ||       d|j                  j
                   d}t        j                  t        |      5  |j                  ddgdd       d d d        y # 1 sw Y   y xY w)	Nr   rS   Tr   r   r   rQ   foo)	r   strrq   assert_equalr   r   rT   rU   r   rL   rO   rY   rg   r   s        r   test_take_fill_strzSharedTests.test_take_fill_str   s    
 RGU2YP"a>
)#E$6$6$?$?#@P]]9C0 	CJJAw4EJB	C 	C 	Cs   5BBc                \   |}| j                  |      }|j                  dt              }|}|j                  |d d |dd  |g      }|j	                  t
              }| j                  t        j                  |d d |dd  |g            }t        j                  | j                  |      |       y )Nr   r   rS   )
r>   insertr   _concat_same_typeastypeobjectrH   concatenaterq   r   )rL   rO   rN   rW   rY   arr2rg   s          r   test_concat_same_typez!SharedTests.test_concat_same_type   s    nnS!jjC &&CR#ab'3'?@zz&!>>"..$s)T!"Xt1L"MN
dnnV4h?r   c                   |j                  |d         }|j                  j                  j                  }t	        ||      sJ |j                  t
              }t	        ||      sJ d| j                  j                   d}t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   y xY w)Nr   z'value' should be a .rQ   r   )_unbox_scalar_ndarrayrC   type
isinstancer   scalar_typer   rT   rU   rV   r   s        r   test_unbox_scalarzSharedTests.test_unbox_scalar   s    $$U1X.>>'',,&(+++$$S)&(+++$T%5%5%>%>$?qA]]:S1 	'&	' 	' 	's   B66B?c                ~    |j                  |d          |j                  |d d        |j                  t               y )Nr   rS   )_check_compatible_withr   rL   rO   s     r   test_check_compatible_withz&SharedTests.test_check_compatible_with   s6    $$U1X.$$U2AY/$$S)r   c                R    |j                  t        |d               }||d   k(  sJ y )Nr   )_scalar_from_stringr   )rL   rO   rY   s      r   test_scalar_from_stringz#SharedTests.test_scalar_from_string   s,    **3uQx=9q!!!r   c                    d}t        j                  t        |      5  |j                  d       d d d        y # 1 sw Y   y xY w)Nz)does not support operation 'not a method'rQ   znot a method)rT   rU   r   _reduce)rL   rO   r   s      r   test_reduce_invalidzSharedTests.test_reduce_invalid   s6    9]]9C0 	*MM.)	* 	* 	*	   9Amethodpadbackfillc                   t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }nF| j                  t        u rdnd	}| j                  j                  |t        j                  |            }t        |d
<   |dk(  r|d   n|d   }|j                  |      }|d
   |k(  sJ |d
   t        u sJ y )Nr@   rA   rB   rD   rE   rF   rz   M8[ns]m8[ns]r{   r   r[      )r   )	rH   rI   rJ   r   r   _from_sequencerC   r   _pad_or_backfill)rL   r   rM   rN   rC   r   rY   s          r   %test_fillna_method_doesnt_change_origz1SharedTests.test_fillna_method_doesnt_change_orig   s    yy4(2-4u<>>[(..[.9C $- ?HXE..//BHHUO/LCA%SVCF
%%V%4ayJ&&& 1v}}r   c                   t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }nF| j                  t        u rdnd	}| j                  j                  |t        j                  |            }|j                  |d
         }|d
k(  sJ |j                  |d   d      }|dk(  sJ |j                  |d
d       }t        j                  d
dgt         j                        }t        j                  ||       |j                  |d
d d      }t        j                  ddgt         j                        }t        j                  ||       |j                  t              }|dk(  sJ y )Nr@   rA   rB   rD   rE   rF   rz   r   r   rS   ry   ru   sider[   )rH   rI   rJ   r   r   r   rC   searchsortedr   intprq   rr   r   )rL   rM   rN   rC   rY   rg   s         r   test_searchsortedzSharedTests.test_searchsorted  sZ   yy4(2-4u<>>[(..[.9C $- ?HXE..//BHHUO/LC !!#a&){{!!#a&w!7{{ !!#a(+88QF"''2
##FH5!!#a(!988QF"''2
##FH5 !!#&||r   box)Nindexseriesc                "   |}|n,|dk(  r| j                  |      }nt        j                  |      }|j                  t	        |d               }|dk(  sJ |j                  t	        |d         d      }|dk(  sJ |j                  |dd D cg c]  }t	        |       c}      }t        j                  ddgt
        j                        }t        j                  ||       t        j                  t        t        j                  d|j                  j                    d	      
      5  |j                  d       d d d        t        j                  d|j                  j                    d      }	|s|	j#                  dd      }	t        j$                  d|      5  t        j                  t        |	
      5  |j                  t	        |d         dg       d d d        d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   #xY w# 1 sw Y   y xY w)Nr   rS   ry   ru   r   r[   rB   r   z/', 'NaT', or array of those. Got 'str' instead.rQ   r   z3', 'NaT', or array of those. Got str array instead.r   stringstring_storagebaz)r>   r,   Seriesr   r   rH   r   r   rq   rr   rT   rU   r   reescaper   r   replaceoption_context)
rL   rO   r   r   using_infer_stringrN   rY   xrg   r   s
             r   "test_searchsorted_castable_stringsz.SharedTests.test_searchsorted_castable_strings.  s    ;G^..%C ))C.C !!#c!f+.{{!!#c!f+G!<{{!!3q8"<a3q6"<=88QF"''2
##FH5]]))%e&8&8&A&A%B C8 8
 	$ U#	$ ii!%"4"4"="=!> ?8 8
 "++eX.C/@ 	7 7   #c!f+u!56	7	7 	7' #=	$ 	$ 7 7	7 	7s6   G(*G-H7 G9H-G69H	>HHc                   t        j                  t        dd      D cg c]  }t        j                  |z    c}d      }| j
                  t        u r| j                  |d      }n| j                  |d      j                  }|d    t        j                  |      }|d    t        j                  |      }|d    y c c}w )	NrS   r   rA   rB   z
period[ns]r1   rG   r   )rH   asarrayranger   _valuerJ   r   r>   rK   r,   Indexr   )rL   ni8valsrN   r   sers         r   'test_getitem_near_implementation_boundsz3SharedTests.test_getitem_near_implementation_bounds]  s     U1a[ASZZ!^AN>>[(..|.<C..d.399CAaiinA Bs   B>c                   t        |      j                  |j                  d d t        j                  f   |j
                        }|d d t        j                  f   }t        j                  ||       |}t        |      j                  |j                  d ddf   |j
                        }|d ddf   }t        j                  ||       |d   }|d   }||k(  sJ y )NrB   r[   r   )r   r   r   )r   r   r   rH   newaxisrC   rq   r   )rL   rO   rg   rY   arr2ds        r   test_getitem_2dzSharedTests.test_getitem_2dm  s    ;**NN1bjj=) + 
 q"**}%
) ;**5>>"1"a%+@*Trr1u
) u9!!!r   c                \   |j                   d dt        j                  f   }t        |      j	                  ||j
                        }t        |      }t        |      dk(  sJ |D ]E  }t        |t        |            sJ |j                  dk(  sJ |j
                  |j
                  k(  rEJ  y )Nr[   rB   rS   )
r   rH   r   r   r   rC   listlenr   ndim)rL   rO   data2dr   rY   r   s         r   test_iter_2dzSharedTests.test_iter_2d  s    BJJ/U''ekk'Be6{a 	*Aae---66Q;;77ekk)))	*r   c           
        |j                   d dt        j                  f   }t        |      j	                  ||j
                        }t        |      }t        |t              rbdt        |      j                   d|d   j                          d|d   j                          d|d   j                          d	|j
                   
}n7dt        |      j                   d|d    d|d    d|d    d	|j
                   
}||k(  sJ y )
Nr[   rB   <z>
[
['r   z'],
['rS   ry   z']
]
Shape: (3, 1), dtype: )r   rH   r   r   r   rC   reprr   r   r   
_repr_base)rL   rO   r   r   rY   rg   s         r   test_repr_2dzSharedTests.test_repr_2d  s$   BJJ/U''ekk'Bee^,DK(() *1X((*+ ,1X((*+ ,1X((*+ ,)).7  DK(() *1XJ 1XJ 1XJ )).7  !!!r   c                   t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }n| j	                  |d	      j
                  }|d
   |d<   t        j                  dd      dz  dz  dz  }|d
   |d<   t        j                  |j                  |       |dd  |d d |dd  |d d t        j                  |j                  |       y )Nr@   rA   rB   rD   rE   rF   rz   r   rG   rS   r   ry   )	rH   rI   rJ   r   r>   rK   rq   rr   asi8rL   rM   rN   rg   s       r   test_setitemzSharedTests.test_setitem  s    yy4(2-4u<>>[(..[.9C..C.066CQA99Rt,r1D85@qk
##CHHh7bc(BQ}!
##CHHh7r   c                p    t         gt        |      z  |d d  |j                         j                         sJ y rc   )r   r   isnare   r   s     r   test_setitem_list_of_natsz%SharedTests.test_setitem_list_of_nats  s.    53u:%azz|!!!r   c                   |j                         d d d   }|j                  j                  dv r|j                  d       }|}|t        u rt	        |      }n|t
        j                  u r)t        j                  |j                  t                    }nE|t        u r" |t        j                  |t                    }n ||      j                  t              }||d d  t        j                  ||       y )Nr   )mMrB   )copyrC   kind
_with_freqr   rH   r   r   r   r   r   rq   r   )rL   r   rO   rg   valss        r   test_setitem_object_dtypez%SharedTests.test_setitem_object_dtype  s     ::<"%>>*,**40H$;:DBHH_88DKK/0D''rzz$f56Dt9##F+Da
x(r   c                j   |j                         }|dd  |ddg<   |j                         }|dd  D cg c]  }t        |       c}|d d t        j                  ||       |j                         }|d   |d<   |j                         }t        |d         |d<   t        j                  ||       y c c}w )Nr   r   rS   ry   r   )r   r   rq   r   )rL   rO   rg   rY   r   s        r   test_setitem_strszSharedTests.test_setitem_strs  s     ::< :!Q&+BCj1c!f1r

) ::<Bib	Nq	
) 2s   B0c                   |j                         d d d   }t        |t              s|j                  d       }t	        j
                  |      }|rt	        j                  |      }|d d d   |d d  t        j                  ||       y )Nr   )	r   r   r   r   r,   rd   rm   rq   r   )rL   rO   rj   rg   cats        r   test_setitem_categoricalz$SharedTests.test_setitem_categorical  sp    ::<"%(K0**40HnnU#%%c*Ctt9a
x(r   c                   |d d }|d   }t        j                  t        d      5  ||d<   d d d        t        j                  t        d      5  t	               |d<   d d d        d}t        j                  t
        |      5  |d   g|g <   d d d        d	}t        j                  t
        |      5  |d d
 |dd d d d        y # 1 sw Y   xY w# 1 sw Y   sxY w# 1 sw Y   PxY w# 1 sw Y   y xY w)Nr@   r   zindex 12 is out of boundsrQ   r   zvalue should be a.* 'object'z<cannot set using a list-like indexer with a different lengthrS   z=cannot set using a slice indexer with a different length thanr[   )rT   rU   
IndexErrorr   r   rV   )rL   rO   rN   valr   s        r   test_setitem_raiseszSharedTests.test_setitem_raises  s    CRj!f]]:-HI 	CG	 ]]9,JK 	XCF	 M]]:S1 	1vhCG	 N]]:S1 	2AwC!H	 		 		 		 	
	 	s/   CC
C1	C'CCC$'C0c                ,   d|j                   j                   d}t        j                  t        |      5   |ddg      |d d d d d        t        j                  t        |      5   |ddg      |d d d d d        y # 1 sw Y   ;xY w# 1 sw Y   y xY w)	Nr   z ', 'NaT', or array of those. GotrQ   r   rS   ry   g        g      ?)r   r   rT   rU   r   )rL   rO   r   r   s       r   test_setitem_numeric_raisesz'SharedTests.test_setitem_numeric_raises  s    
 "%"4"4"="=!> ?, , 	 ]]9C0 	$QFE"1I	$ ]]9C0 	(S#JE"1I	( 	(	$ 	$	( 	(s   A>'B
>B
Bc                   t        j                  dd      dz  dz  dz  }| j                  t        u r| j                  |d      }n| j	                  |d	      j
                  }|t        j                  d
      z   }|t        j                  d
      z  }t        j                  ||       |t        j                  d
      z
  }|t        j                  d
      z  }t        j                  ||       y )Nr@   rA   rB   rD   rE   rF   rz   r   rG   rS   days)
rH   rI   rJ   r   r>   rK   r,   	Timedeltarq   r   r   s       r   test_inplace_arithmeticz#SharedTests.test_inplace_arithmetic  s    yy4(2-4u<>>[(..[.9C..C.066C1--r||##
X&1--r||##
X&r   c                    t        j                  t        d      5  |j                  dd       d d d        y # 1 sw Y   y xY w)Nzvalue should be arQ   rS   )r   )rT   rU   r   shiftr   s     r   test_shift_fill_int_deprecatedz*SharedTests.test_shift_fill_int_deprecated.  s6    ]]9,?@ 	)KKaK(	) 	) 	)s	   9Ac                   |}t        |      dz  dk(  r|d d }|t        |      dz     }|j                         }t        |      t        |      u sJ ||k(  sJ t        |t        |      dz  <   t	        |t
              s1|t        |      dz  dz
  t        |      dz  dz    j                         }|j                  d      t        u sJ |j                         }t        |      t        |      u sJ ||k(  sJ |d d j                         t        u sJ |d d j                  d      t        u sJ |j                  dd      }|j                  d       }t        |      t        |      u sJ ||k(  sJ |j                  d d      t        u sJ |j                  d      }t        |      j                  |g|j                  	      }t        j                  ||       |j                  dd      }t        |      j                  t        g|j                  	      }t        j                  ||       |j                  d      }t        j                  ||       |j                  dd      }t        j                  ||       y )
Nry   r   r   rS   F)skipna)axis)r  r  rB   )r   medianr   r   r   r
   meanreshaper   rC   rq   r   )rL   rO   rN   rg   rY   r   	expected2s          r   test_medianzSharedTests.test_median3  sK   s8a<1cr(Cs3x1}%F|tH~---!!! CHM(F+3s8q=1,s3x1}q/@AFFHHzzz'3...F|tH~---!!!2Aw~~3&&&2Aw~~U~+s222 {{2q!$'F|tH~---!!!{{U{3s:::!$I,,hZsyy,I	
	*!E2I,,cU#)),D	
	*!$
$!E2
$r   c                   t        j                  g dt         j                        }t        j                  |d      }| j                  t
        u r;| j	                  || j                        }| j	                  || j                        }nN| j                  j                  || j                        }| j                  j                  || j                        }t        j                  ||       y )NrS   ry   r[   rB   Int64)
rH   r   int64r,   rJ   r   example_dtyper   rq   assert_extension_array_equal)rL   rN   rM   rg   rY   s        r   test_from_integer_arrayz#SharedTests.test_from_integer_arrayc  s    hhy1xx7+>>[(~~c1C1C~DH^^D0B0B^CF~~44S@R@R4SH^^224t?Q?Q2RF
''9r   N)4r   
__module____qualname____annotations__rT   fixturerO   rX   markparametrizer,   r3   timedelta_ranger-   rh   rw   r   r   timer   r   r)   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   rH   r   r   r   r   r   r  r  r	  r  r  r  r   r:   r   r   r=   r=   Y   s   AA^^  [[BMM&!,BMM&!6Bx3BOOHac:		
++
 [[Yu6[[Z$76 8 76B@, [[\AsIdAq"4M4R4R+STG UG

  [[BCC
@
'*
"*
 [[Xz':; <": [[U$=>,7 ?,7\ "&*":8""
 [[HHIIHH	
	)	)(*& [[Z$7) 8)( [[UT288RXXryy$IJ( K(' )
.%`
:r   r=   c                     e Zd ZeZeZeZdZ	e
j                  d        Zd Zd Zd Zd Zd Zd Zd	 Zd
 Ze
j*                  j-                  d      d        Zd Ze
j*                  j3                  dej4                        d        Ze
j*                  j3                  dej8                        d        Zd Zd Zd Z d Z!d Z"y)TestDatetimeArrayr   c                V    |}t        j                  dd||d      }|j                  }|S )zc
        Fixture returning DatetimeArray with parametrized frequency and
        timezones
        z2016-01-01 01:01:00r   r1   r%   r&   r^   r2   )r,   r3   rK   )rL   tz_naive_fixturer   r^   r4   dtas         r   rO   zTestDatetimeArray.arr1dv  s2     mm!17r
 ii
r   c                h   | j                  |      }|j                  d      }|t        j                  d      z
  }|j	                  d       }t        j                  ||       |j                  }|j                  d      }|j                  j	                  d       }t        j                  ||       y )N2minrG   rS   )minutes)	r>   roundr,   r  r   rq   r   rK   assert_datetime_array_equal)rL   rO   r4   rY   rg   r.  s         r   
test_roundzTestDatetimeArray.test_round  s    nnU#'a00&&t,
fh/ii'>>,,T2
&&vx8r   c                   |j                   }t        rd nd}t        j                  |      }|j                  }||u sJ t        j                  ||       t        j                  ||      }||u sJ t        j                  ||       t        j                  |d      }|j                  }||u sJ t        j                  ||       t        j                  |d|      }||u sJ t        j                  ||       t        j                  |d      }t        s||usJ t        j                  ||       t        j                  |t              }t        j                  t        |      t              }t        j                  ||       t        j                  |d      }||j                  usJ t        j                  ||      rJ |j                  j                         }t        j                  ||       dt        fD ]S  }t        j                  ||      }t        j                  |      j                  |      }t        j                  ||       U y )NFr   datetime64[ns]rB   rC   r   r  float64rK   r   rH   r   r   rq   rr   r   r   r   r   may_share_memoryr   r   r   )rL   r5   rN   
copy_falserY   rg   rC   s          r   test_array_interfacez&TestDatetimeArray.test_array_interface  s   ""+T
 C<<!!!
##FH5#J/!!!
##FH5 C'78<<!!!
##FH5#%5JG!!!
##FH5#%56)))
##FH5 Cv.88DIV4
##FH5 Cw/SXX%%%&&sF33388==?
##FH5  % 	:EZZ51Fzz#--e4H''9	:r   c                *   |}| j                  |      }t        j                  t        |            }t        j                  |t              }t        j                  ||       t        j                  |t              }t        j                  ||       y NrB   )r>   rH   r   r   r   rq   rr   )rL   rO   rN   r4   rg   rY   s         r   test_array_object_dtypez)TestDatetimeArray.test_array_object_dtype  si    nnU#88DI&#V,
##FH5 #V,
##FH5r   c                ,   |}| j                  |d      }t        rd nd}|j                  j                  d      }t	        j
                  |d      }t        j                  ||       t	        j
                  |d      }t        j                  ||       t	        j
                  |d|      }|j                  |j                  u sJ |j                  J t	        j
                  |d|      }|j                  |j                  u sJ |j                  J y )NFr6  r   rB   r7  r8  )	r>   r   r   viewrH   r   rq   rr   baserL   rO   rN   r4   r<  rg   rY   s          r   test_array_tzzTestDatetimeArray.test_array_tz  s    nnUn/+T
88==*#X.
##FH5#%56
##FH5 #XJ?{{hmm+++{{&&&#%5JG{{hmm+++{{&&&r   c                   |}| j                  |      }t        rd nd}|j                  }t        j                  |d      }t        j                  ||       t        j                  |t        j                        }t        j                  ||       t        j                  |d|      }|j                  |j                  usJ |j                  J y )NFrA   rB   r8  )	r>   r   r   rH   r   rq   rr   r  rC  rD  s          r   test_array_i8_dtypez%TestDatetimeArray.test_array_i8_dtype  s    nnU#+T
88#T*
##FH5#RXX.
##FH5 #T
;{{(--///{{"""r   c                   t        j                  ddgd      }t        j                  ||j                        }|j
                  |u sJ t        j                  |d d |j                        }|j
                  j                  |u sJ y )Nr"   z
2000-01-02r   rB   r   )rH   r   r   r   rC   r   rC  )rL   rN   r.  s      r   test_from_array_keeps_basez,TestDatetimeArray.test_from_array_keeps_base  ss    hhl38D**3cii@||s"""**3r7#))D||  C'''r   c                    |}| j                  |      }t        |      t        |      k(  sJ t        j                  |      }t	        |t
              sJ t        |      t        |      k(  sJ y rc   )r>   r   r,   r   r   r	   )rL   rO   rN   r4   dti2s        r   test_from_dtizTestDatetimeArray.test_from_dti  s`    nnU#CyDI%%% xx}$...DzT#Y&&&r   c                    |}| j                  |      }|j                  d      }t        |t        j                        sJ |j
                  dk(  sJ t        |      t        |      k(  sJ y NOr>   r   r   rH   ndarrayrC   r   )rL   rO   rN   r4   asobjs        r   test_astype_objectz$TestDatetimeArray.test_astype_object  s^    nnU#

3%,,,{{c!!!E{d3i'''r   3ignore:PeriodDtype\[B\] is deprecated:FutureWarningc                   |}|j                   }t        t        |            j                  }|j	                  |      }|j	                  |      }t        |t              sJ t        j                  ||j                          y )NrG   )	rK   r   r   r+   	to_periodr   r   rq   r   )rL   r5   r   r4   rN   rg   rY   s          r   test_to_periodz TestDatetimeArray.test_to_period  sg    iii01::==g=.G,&+...
/r   c                8   |j                  dd      }|j                  d nt        }t        j                  |d      5  |j                  d      }|j                  d      j                  dd      }d d d        t        j                         y # 1 sw Y    xY w)NrS   r   zwill drop timezone informationrQ   r   )r  r^   UserWarningrq   assert_produces_warningrV  assert_period_array_equal)rL   rO   r   warnrY   rg   s         r   test_to_period_2dz#TestDatetimeArray.test_to_period_2d  s    a$xx't[''4TU 	;__S)Fs+33Ar:H	; 	$$VX6	; 	;s   3BBpropnamec                    | j                  |      }|}|j                  |j                  k(  sJ t        ||      }t        j                  t        ||      |j
                        }t        j                  ||       y r?  )r>   r&   getattrrH   r   rC   rq   rr   rL   rO   r^  r4   rN   rY   rg   s          r   test_bool_propertiesz&TestDatetimeArray.test_bool_properties#  sd     nnU#xx388###h'88GC2&,,G
##FH5r   c                    | j                  |      }|}t        ||      }t        j                  t        ||      |j                        }t        j                  ||       y r?  )r>   r`  rH   r   rC   rq   rr   ra  s          r   test_int_propertiesz%TestDatetimeArray.test_int_properties/  sL    nnU#h'88GC2&,,G
##FH5r   c                |   |}| j                  |      }|j                  |j                        }|j                  ddgd|      }|d   |k(  sJ d|j                  j
                   d}t        j                  t        |      5  |j                  ddgd||z
         d d d        t        j                  t        |      5  |j                  ddgdt        d	             d d d        |j                  d nd
}|j                  |      }d}t        j                  t        |      5  |j                  ddgd|       d d d        t        j                  }	d|j                  j
                   d}t        j                  t        |      5  |j                  ddgd|	       d d d        t        j                  dd      }	t        j                  t        |      5  |j                  ddgd|	       d d d        |j                  w|j                  d      }	|j                  ddgd|	      }|j                  ddgd|	j                  |j                  j                              }
t!        j"                  ||
       y y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   \xY w# 1 sw Y   xY w# 1 sw Y   xY w)Nr   rS   Tr   r   r   r   rQ   2014Q1z
US/Easternz:Cannot compare tz-naive and tz-aware datetime-like objectsr   r1   zAustralia/Melbourne)r>   tz_localizer^   r   r   r   rT   rU   r   r
   r   r   rH   timedelta64
tz_convertrC   rq   r   )rL   rO   fixed_now_tsrN   r4   nowrY   r   r^   valuerg   s              r   test_take_fill_validz&TestDatetimeArray.test_take_fill_valid9  s   nnU#&&svv.2q'dsCayC#E$6$6$?$?#@P]]9C0 	EHHb!W#)HD	E ]]9C0 	LHHb!W&:JHK	L VV'T\&&r*J]]9C0 	?HHb!W#H>	? 

#E$6$6$?$?#@P]]9C0 	AHHb!W%H@	A ud+]]9C0 	AHHb!W%H@	A 66 !,,-BCEXXr1g$5XIFxxQ ++CIILL9   H
 OOFH- 5	E 	E	L 	L	? 	?	A 	A
	A 	As<   I> J'JJ%J2>JJJ"%J/2J;c                    |}|j                   |j                  d      }n|j                  d       }t        j                  t        d      5  |j                  ||g       d d d        y # 1 sw Y   y xY w)Nr]   zto_concat must have the samerQ   )r^   rg  rT   rU   rV   r   )rL   rO   rN   rs   s       r   test_concat_same_type_invalidz/TestDatetimeArray.test_concat_same_type_invalidi  sb    66>OOE*EOOD)E]]:-KL 	0!!3,/	0 	0 	0s   A**A3c                l   t        j                  dddd|      j                  }t        j                  dddd|      j                  }t        j                  ||g      }t        j
                  g d      j                  d      j                  |      j                  }t        j                  ||       y )N2000ry   r   z
US/Centralr,  h)2000-01-01 00:00:00z2000-01-02 00:00:00rs  z2000-01-01 01:00:00)
r,   r3   rK   r   r   to_datetimerg  as_unitrq   r3  )rL   r2   abrY   rg   s         r   $test_concat_same_type_different_freqz6TestDatetimeArray.test_concat_same_type_different_frequ  s    MM&!#,TRXXMM&!#,TRXX00!Q8NN [&WT]U 	 	&&vx8r   c                F   |}|j                  d      }t        j                  |D cg c]  }|j                  d       c}t              }|r9t	        j                  |t	        j
                  t        j                              }t        j                  ||       y c c}w )Nz%Y %brB   na_value	strftimerH   r   r   r,   StringDtyper   rq   r   )rL   rO   r   rN   rY   tsrg   s          r   test_strftimezTestDatetimeArray.test_strftime  sm    g&88C@bR[[1@Oxx0OPH
) A   Bc                T   t        dt        g      j                  }|j                  d      }t	        j
                  dt        j                  gt              }|r9t        j
                  |t        j                  t        j                              }t        j                  ||       y )N
2019-01-01%Y-%m-%drB   rz  )r	   r   rK   r}  rH   r   r   r   r,   r~  rq   r   rL   r   rN   rY   rg   s        r   test_strftime_natz#TestDatetimeArray.test_strftime_nat  sl    \3/066j)88\2662&Axx0OPH
)r   N)#r   r!  r"  r	   r>   r   rJ   r   r   r  rT   r$  rO   r4  r=  r@  rE  rG  rI  rL  rS  r%  r)   rW  r]  r&  	_bool_opsrb  
_field_opsrd  rm  ro  rx  r  r  r:   r   r   r*  r*  p  s    IIKM^^
 
9+:Z6'*#"('( [[ VW	0 X	07 [[Z)@)@A	6 B	6 [[Z)A)AB6 C6..`
09***r   r*  c                      e Zd ZeZeZej                  Z	dZ
d Zd Zd Zd Zej                   j#                  dej$                        d        Zd Zd	 Zy
)TestTimedeltaArrayr   c                    t        ddg      }|j                  }t        |      t        |      k(  sJ t        j                  |      }t        |t               sJ t        |      t        |      k(  sJ y )Nr8   r9   )r   rK   r   r,   r   r   )rL   tdirN   tdi2s       r   test_from_tdiz TestTimedeltaArray.test_from_tdi  se    gy12iiCyDI%%% xx}$///DzT#Y&&&r   c                    t        ddg      }|j                  }|j                  d      }t        |t        j
                        sJ |j                  dk(  sJ t        |      t        |      k(  sJ y )Nr8   r9   rO  )r   rK   r   r   rH   rQ  rC   r   )rL   r  rN   rR  s       r   rS  z%TestTimedeltaArray.test_astype_object  sc    gy12ii

3%,,,{{c!!!E{d3i'''r   c                    |}|j                   }|j                         }|j                         }t        j                  ||       y rc   )rK   to_pytimedeltarq   rr   rL   r;   r  rN   rg   rY   s         r   test_to_pytimedeltaz&TestTimedeltaArray.test_to_pytimedelta  s<    ii%%'##%
##FH5r   c                    |}|j                   }|j                         }|j                         }t        j                  ||j                         y rc   )rK   total_secondsrq   rr   valuesr  s         r   test_total_secondsz%TestTimedeltaArray.test_total_seconds  s@    ii$$&""$
##FHOO<r   r^  c                    |}|j                   }t        ||      }t        j                  t        ||      |j                        }t        j                  ||       y r?  )rK   r`  rH   r   rC   rq   rr   )rL   r;   r^  r  rN   rY   rg   s          r   rd  z&TestTimedeltaArray.test_int_properties  sG    iih'88GC2&,,G
##FH5r   c                   |j                   }t        rd nd}t        j                  |      }|j                  }||u sJ t        j                  ||       t        j                  ||      }||u sJ t        j                  ||       t        j                  |d      }|j                  }||u sJ t        j                  ||       t        j                  |d|      }||u sJ t        j                  ||       t        j                  |d      }t        s||usJ t        j                  ||       t        j                  |t              }t        j                  t        |      t              }t        j                  ||       t        j                  |d      }||j                  usJ t        j                  ||      rJ |j                  j                         }t        j                  ||       dt        fD ]S  }t        j                  ||      }t        j                  |      j                  |      }t        j                  ||       U y )NFr6  ztimedelta64[us]rB   r8  r  r9  r:  )rL   r;   rN   r<  rY   rg   rC   s          r   r=  z'TestTimedeltaArray.test_array_interface  s   ##+T
 C<<!!!
##FH5#J/!!!
##FH5 C'89<<!!!
##FH5#%6ZH!!!
##FH5#%67)))
##FH5 Cv.88DIV4
##FH5 Cw/SXX%%%&&sF33388==?
##FH5  % 	:EZZ51Fzz#--e4H''9	:r   c                   |}|j                   }t        j                  d      }|j                  ddgd|      }|d   |k(  sJ |}d|j                  j
                   d}t        j                  t        |	      5  |j                  ddgd|       d d d        |j                  d
      }t        j                  t        |	      5  |j                  ddgd|       d d d        t        j                  dd      }t        j                  t        |	      5  |j                  ddgd|       d d d        y # 1 sw Y   xY w# 1 sw Y   fxY w# 1 sw Y   y xY w)NrS   r  r   Tr   r   r   r   rQ   r   r   r1   )rK   r,   r  r   r   r   rT   rU   r   rV  rH   
datetime64)	rL   r;   rj  r  rN   td1rY   rl  r   s	            r   rm  z'TestTimedeltaArray.test_take_fill_valid  sI   iill"2q'dsCayC#C$4$4$=$=#>oN]]9C0 	@HHaVH?	@ &&s+]]9C0 	@HHaVH?	@ eT*]]9C0 	AHHb!W%H@	A 	A	@ 	@
	@ 	@
	A 	As$   <D7EE7E EEN)r   r!  r"  r   r>   r   rJ   r,   r  r   r  r  rS  r  r  rT   r%  r&  r  rd  r=  rm  r:   r   r   r  r    sf    II,,KM'(6= [[Z)B)BC6 D6+:ZAr   r  r   rT  c                     e Zd ZeZeZeZ eg d      j                  Z
ej                  d        Zd Zd Zd Zej"                  j%                  ddd	g      d
        Zd Zd Zej"                  j%                  dej,                        d        Zej"                  j%                  dej0                        d        Zd Zd Zd Zy)TestPeriodArrayr   rG   c                    |j                   S )zW
        Fixture returning DatetimeArray from parametrized PeriodIndex objects
        )rK   )rL   r/   s     r   rO   zTestPeriodArray.arr1d   s    
 !!!r   c                    | j                  |      }|}t        |      t        |      k(  sJ t        j                  |      }t	        |t
              sJ t        |      t        |      k(  sJ y rc   )r>   r   r,   r   r   r   )rL   rO   r.   rN   pi2s        r   test_from_pizTestPeriodArray.test_from_pi'  s`    ^^E"CyDH$$$ hhsm#{+++CyDI%%%r   c                    | j                  |      }|}|j                  d      }t        |t        j                        sJ |j
                  dk(  sJ t        |      t        |      k(  sJ y rN  rP  )rL   rO   r.   rN   rR  s        r   rS  z"TestPeriodArray.test_astype_object1  s^    ^^E"

3%,,,{{c!!!E{d2h&&&r   c                   |}t         j                  }d|j                  j                   d}t	        j
                  t        |      5  |j                  ddgd|       d d d        t        j                  dd	      }t	        j
                  t        |      5  |j                  ddgd|       d d d        y # 1 sw Y   ZxY w# 1 sw Y   y xY w)
Nr   r   rQ   r   rS   Tr   r   r1   )
r   r   r   r   rT   rU   r   r   rH   rh  )rL   rO   rN   rl  r   s        r   rm  z$TestPeriodArray.test_take_fill_valid9  s    

#E$6$6$?$?#@P]]9C0 	AHHb!W%H@	A ud+]]9C0 	AHHb!W%H@	A 	A	A 	A
	A 	As   B8C8CChowSEc                    | j                  |      }|}t        |j                  |            j                  }|j                  |      }t	        |t
              sJ t        j                  ||       y )N)r  )r>   r	   to_timestamprK   r   r   rq   r   )rL   r  rO   r.   rN   rg   rY   s          r   test_to_timestampz!TestPeriodArray.test_to_timestampG  sa    ^^E" S!9:@@!!c!*&-000
)r   c                `   t        j                  dddd      j                  }|j                         }|j	                         }|j
                  dk(  sJ t        j                  ||j                  d             |d d d   }|j                         }|j	                         }|j
                  dk(  sJ t        j                  ||j                  d             |j                  d      }|j	                         }|j
                  dk(  sJ t        j                  ||j                  d             y )	Nz
2021-10-18r[   r   r1   )r%   r&   r2   usry   2B)	r,   r3   rK   rV  r  r&   rq   r  ru  )	rL   r.  parrrY   dta2parr2result2parr3result3s	            r    test_to_timestamp_roundtrip_bdayz0TestPeriodArray.test_to_timestamp_roundtrip_bdayR  s    mmL!#DIOO}}""${{c!!!
''D0AB3Q3x $$&||t###
''d1CDd#$$&||s"""
''T1BCr   c                    t        j                  ddd      }|j                          |j                  j                         }|d   t	        ddd      k(  sJ y )N1500Yr[   )r&   r%   r   i  rS   )r,   r-   r  rK   r   )rL   r.   r.  s      r   test_to_timestamp_out_of_boundsz/TestPeriodArray.test_to_timestamp_out_of_boundse  sK    __V#q9
hh##%1v4A....r   r^  c                    | j                  |      }|}t        ||      }t        j                  t        ||            }t	        j
                  ||       y rc   r>   r`  rH   r   rq   rr   rL   rO   r^  r.   rN   rY   rg   s          r   rb  z$TestPeriodArray.test_bool_propertiesl  sH     ^^E"h'88GB12
##FH5r   c                    | j                  |      }|}t        ||      }t        j                  t        ||            }t	        j
                  ||       y rc   r  r  s          r   rd  z#TestPeriodArray.test_int_propertiesw  sF    ^^E"h'88GB12
##FH5r   c                   |}t        j                  |      }t        j                  t        |      t              }t        j                  ||       t        j                  |t              }t        j                  ||       t        j                  |d      }t        j                  ||j                         t        j                  |d      }t        j                  ||      sJ t        j                  |dd      }t        j                  |dd      }t        j                  ||      rJ d}t        j                  t        |      5  t        j                  |d       d d d        t        j                  |d      }t        j                  |      j                  d      }t        j                  ||       y # 1 sw Y   [xY w)	NrB   r  Tr8  zEfloat\(\) argument must be a string or a( real)? number, not 'Period'rQ   r9  S20)rH   r   r   r   r   rq   rr   r   r;  rT   rU   r   r   )	rL   rO   rN   rY   rg   r  result_copy1result_copy2r   s	            r   r=  z$TestPeriodArray.test_array_interface  sU    C88DIV4
##FH5 Cv.
##FH5 Cw/
##FCHH5**S0""67333xx7>xx7>&&|\BBB W]]9C0 	-JJs),	- Cu-::c?))%0
##FH5	- 	-s   G  G	c                F   |}|j                  d      }t        j                  |D cg c]  }|j                  d       c}t              }|r9t	        j                  |t	        j
                  t        j                              }t        j                  ||       y c c}w )Nz%YrB   rz  r|  )rL   rO   r   rN   rY   perrg   s          r   r  zTestPeriodArray.test_strftime  sm    d#883?CS\\$/?vNxx0OPH
) @r  c                V   t        t        dt        gd            }|j                  d      }t	        j
                  dt        j                  gt              }|r9t        j
                  |t        j                  t        j                              }t        j                  ||       y )Nr  rz   rB   r  rz  )r   r   r   r}  rH   r   r   r   r,   r~  rq   r   r  s        r   r  z!TestPeriodArray.test_strftime_nat  sm    +|S&9MNj)88\2662&Axx0OPH
)r   N)r   r!  r"  r   r>   r   rJ   r
   r   rC   r  rT   r$  rO   r  rS  rm  r%  r&  r  r  r  r  rb  r  rd  r=  r  r  r:   r   r   r  r    s     IIK-33M^^" "&'A [[US#J/* 0*D&/ [[Z)>)>?6 @6 [[Z)?)?@6 A66@**r   r  zarr,casting_natsr7   r   r1   r"   r[   r   ra   c                ,    t        |       j                  S rc   r   r   r   s    r   <lambda>r        $q'"" r   )idsc                    t        |       j                  t        | d   | d   g| j                        }|D ]-  }| j	                         } || d<   t        j                  | |       / y )NrS   ry   rB   r   )r   r   r   rC   r   rq   r   )rN   casting_natsrg   nats       r   test_casting_nat_setitem_arrayr    sa      Cy''c!fc!f(=SYY'OH 'hhjA
X&'r   zarr,non_casting_natsc                ,    t        |       j                  S rc   r  r  s    r   r  r    r  r   c                    d}|D ]+  }t        j                  t        |      5  || d<   d d d        - y # 1 sw Y   8xY w)Nzwvalue should be a '(Timestamp|Timedelta|Period)', 'NaT', or array of those. Got '(timedelta64|datetime64|int)' instead.rQ   r   )rT   rU   r   )rN   non_casting_natsr   r  s       r   test_invalid_nat_setitem_arrayr    sN    (	6 
   ]]9C0 	CF	 		 	s   4=	rN   rq  r{   r\   c                   t         | d<   | j                         }| j                         }t        j                  |d         sJ | j                  d      }|d   dk(  sJ | j                  dd      }|d   dk(  sJ | j                  | d   j                               }|d   |d   k(  sJ | j                  | d   j                  d	            }|d   |d   k(  sJ t        j                  | |       y )
Nr   r  rB   l         )rC   r{  rS   rz  Fr6  )r   r   to_numpyrH   isnanrq   r   rN   originalrY   s      r   test_to_numpy_extrar    s     CFxxzH\\^F88F1I\\\(F!9,,,,\\!\4F!9>>\\3q6??#4\5F!9q	!!!\\3q6???#>\?F!9q	!!!OOC"r   c                    t         | d<   | j                         }d| _        | j                  t              }|j
                  j                  sJ | j                  d      }|j
                  j                  sJ t        j                  | |       y )Nr   TrB   r  )	r   r   	_readonlyr  r   flags	writeablerq   r   r  s      r   test_to_numpy_extra_readonlyr    su     CFxxzHCM\\\'F<<!!!! \\\(F<<!!!!OOC"r   rj   TFr  z
2020-01-01z
2020-02-01rS   ry   )r2   rG   klassc                    |s| j                   } | j                   ||             }t        j                  ddg|j                        }t        j                  ||       y )Nr   rS   rB   )rK   r   rH   r   rC   rq   rr   )r  r  rj   rY   rg   s        r   ,test_searchsorted_datetimelike_with_listliker    sL    .   v/FxxAfll3H1r   argrv  rw  zEurope/London)r^   c                    d}t        j                  t        |      5  | j                  |       d d d        y # 1 sw Y   y xY w)Nz [Unexpected type|Cannot compare]rQ   )rT   rU   r   r   )r  r  r   s      r   :test_searchsorted_datetimelike_with_listlike_invalid_dtyper  =  s:     -C	y	, !C ! ! !r   c                    ddgdz  } | |      }t        |d      }t        |D cg c]  }t        |       c}      }t        j                  ||       y c c}w )Nr_   2020Q2ry   r`   rG   )r   r
   rq   r   )r  stringsrM   rY   srg   s         r   +test_period_index_construction_from_stringsr  O  sV     "Q&G>DC(Fw7!F1I78H&(+ 8s   ArC   r   r   c                   t        j                  g d|       }t        |      }t        t        d|    }|j                  ||       }|j                  ||       }t        j                  ||       t        j                  t        j                  d|    } ||      j                  } ||      j                  }t        j                  ||       t        t        d|    } ||      } ||      }t        j                  ||       y )Nr  rB   )r   r   )rH   r   r   r   r   r   rq   r  r,   rt  to_timedeltar   r	   r   r   )rC   rM   rN   clsrY   rg   funcidx_clss           r   test_from_pandas_arrayr  Y  s     88IU+D
d
#C"n
=e
DC51F!!$e!4H##FH5nn@GD#Y__FDzHOOFH% '.A%HGS\Ft}H&(+r   )C
__future__r   r   r'   numpyrH   rT   pandas._libsr   r   pandas._libs.tslibsr   pandas.compat.numpyr   pandas.core.dtypes.dtypesr   pandasr,   r	   r
   r   r   pandas._testing_testingrq   pandas.core.arraysr   r   r   r   r$  r   r/   r5   r;   r=   r*  r  r%  r)   r  r&  rK   rh  r3   r  r-   r  r   r  _valuesr'  r  r  rt  r  r   r   r   r   rd   rm   r  r  tupler  r  r:   r   r   <module>r     s5   " 	    * . 1     89 :
  &   7 7T: T:nk* k*\	wA wAt WXRSX*k X* T YX*v  67==."..-.	

 BMM,<BB-"--t,-	
 
qs	;	A	AC6J
 	#  ''  67==R]]5$'4	

 BMM,<BBR^^E4(#**5	

 BOOL!#>DDR]]5$'t)DcjjQ	
 	#!  $%$ 	fa(0061-55##, 	fa(0061-55## dE]3l34AS)\<0s; 


		


2 4*2 l34AS)\<0s; 	QFS#J<O!L MPQ QR!! 4"))"DE, F, 8X"67, 8,r   