
    .iK                        d dl Zd dl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mZ d dlmZ d dlmZmZmZmZmZmZmZ d dlmZ  G d d	      Zej<                  j?                  d
 ej@                  d dgejB                        ejD                  df ej@                  ddg      ejD                  df e
jF                  ddg      e
jF                  df e
jH                  ddgd      edf e
jJ                  ddgd      ee
jL                  jN                  jN                  jQ                  d      fe
jR                  jU                  g d      edf e
jH                  ddg      edf e
jV                  dg      ed fg      d!        Z,ej<                  j?                  d" ej@                  g d#      g      d$        Z-d% Z.ej<                  j?                  d& e
jF                  ddg      d'f ej^                  d(d)gd*      d+f e
j@                  d e
j`                  gd,      d-f ejT                  d dg      d.f ed dg      d/f ej^                   ej@                  dd0gd            d+f ej^                   ej@                  d1d2gd3       ed            d+fg      d4        Z1d5 Z2ej<                  j?                  d6 ej@                  dd0gejB                         ej@                  dd0gejB                        d7f e
jF                  ddg       ej@                  ddge3      d8fe
jL                  jh                  jk                  d(d)gd9       ej@                   e
jl                  d(d9       e
jl                  d)d9      g      d8f e
j@                  d e
j`                  gd,       ej@                  d ejn                  g      d8f ejT                  g d       ej@                   e
jp                  d d       e
jp                  dd0      ge3      d8f ed dg       ej@                  d dgejB                        d8f ej^                   ej@                  d(d)gd3             ej@                  d(d)gd3      d7f ej^                   ej@                  d:d;gd3            js                  d<      ju                  d       ej@                   ed=d       ed>d      g      d8f ej^                   ej@                  d d?gd@      jw                  d        ejx                  d              ej@                  d d?gd       d7f e
jF                   edAd0dBC             ej@                   edAdB       edDdB      g      d8fg
      dE        Z=ej<                  j?                  dFd7d8g      ej<                  j?                  d" ej@                  g d#d       ej@                  g dGe3      g      dH               Z>ej<                  j?                  dFd7d8g      dI        Z?ej<                  j?                  dJg dKdLd g dMf ed(      j                  dN       ed(      j                  dN      e
j                  gd ed(      j                  dN       ej                  dOdN      gdPz  fg      dQ        ZCej<                  j?                  dRg dSg dTeDddUdVejn                  dWgfg dSg dTeDejn                  dUdVejn                  dWgfdUdVejn                  dWgg dXeEd g dYf ed(      j                  dN       ed(      j                  dN      e
j                  gd  edZ      j                  dN      fd  ed[      j                  dN      fd ed(      j                  dN      fgd ed(      j                  dN       ej                  dOdN      gdPz  fg      d\        ZFd] ZGej<                  j?                  d^g d#g dKd_ ej@                  g d#       ej@                  dd0ejn                  g      d_ e
j@                  g d#       e
j@                  g dK      d_g      ej<                  j?                  d`eDejn                  fe3dfg      da               ZHej<                  j?                  dbd e
j@                  g dK      idUgdVgejn                  ggfg d#g d#d_ddgd0d0gdPdPggfg      dc        ZIdd ZJ G de df      ZKy)g    N)HAS_PYARROW)np_version_gt2)DatetimeTZDtype)CategoricalIndexSeries	Timedelta	Timestamp
date_range)DatetimeArrayIntervalArrayNumpyExtensionArrayPeriodArraySparseArrayStringArrayTimedeltaArray)ArrowStringArrayc                      e Zd Zdefdefdefdefdefdefdefdefd	efd
efdefdefdefdefgZej                  j                  de      ej                  j                  dd d d d gg d      d               Zej                  j                  ddedfdedfdedfdedfg      ej                  j                  dd d d d  gg d      d!               Zej                  j                  de      d"        Zej                  j                  dg edefdef      d#        Zej                  j                  dd$ d% d& d' gg d      d(        Zd) Zd* Zd+ Zd, Zy-).TestToIterableint8int16int32int64uint8uint16uint32uint64float16float32float64datetime64[ns]zdatetime64[ns, US/Eastern]ztimedelta64[ns]zdtype, rdtypemethodc                 "    | j                         S Ntolistxs    _/var/www/app/trading-bot/venv/lib/python3.12/site-packages/pandas/tests/base/test_conversion.py<lambda>zTestToIterable.<lambda>6       ahhj     c                 "    | j                         S r#   to_listr&   s    r(   r)   zTestToIterable.<lambda>7       aiik r+   c                     t        |       S r#   listr&   s    r(   r)   zTestToIterable.<lambda>8   
    d1g r+   c                 4    t        | j                               S r#   r2   __iter__r&   s    r(   r)   zTestToIterable.<lambda>9       d1::<( r+   )r%   r.   r2   iter)idsc                    |}|dk(  rJt        |t        j                        r0t        j                  t
        d      5   |dg|       d d d        y  |dg|      } ||      d   }t        ||      sJ y # 1 sw Y   y xY wNr   zfloat16 indexes are not match   dtyper   )
issubclasspdIndexpytestraisesNotImplementedError
isinstance)selfindex_or_seriesr!   r@   rdtypetypsresults           r(   test_iterablezTestToIterable.test_iterable2   s{     I*S"((";2:TU &QCu%&5!1&&)))&s   A77B zdtype, rdtype, objobjectar>   categoryc                 "    | j                         S r#   r$   r&   s    r(   r)   zTestToIterable.<lambda>V   r*   r+   c                 "    | j                         S r#   r-   r&   s    r(   r)   zTestToIterable.<lambda>W   r/   r+   c                     t        |       S r#   r1   r&   s    r(   r)   zTestToIterable.<lambda>X   r3   r+   c                 4    t        | j                               S r#   r5   r&   s    r(   r)   zTestToIterable.<lambda>Y   r7   r+   c                 P    |} ||g|      } ||      d   }t        ||      sJ y )Nr?   r   )rG   )	rH   rI   r!   r@   rJ   objrK   rL   rM   s	            r(   !test_iterable_object_and_categoryz0TestToIterable.test_iterable_object_and_categoryJ   s4    2 U#1&&)))r+   c                     t        dg|      }t        t        |j                                     \  }}t	        ||      sJ t        t        |j                                     \  }}t	        ||      sJ y )Nr>   r?   )r   nextr8   itemsrG   )rH   r@   rJ   rL   _rM   s         r(   test_iterable_itemsz"TestToIterable.test_iterable_itemsh   sb    
 A3e$aggi)	6&&)))aggi)	6&&)))r+   c                 6   |}|dk(  rJt        |t        j                        r0t        j                  t
        d      5   |dg|       d d d        y  |dg|      }|j                  t              d   }t        |t              s|f}||v sJ y # 1 sw Y   y xY wr;   )
rA   rB   rC   rD   rE   rF   maptyperG   tuple)rH   rI   r@   rJ   rK   rL   rM   s          r(   test_iterable_mapz TestToIterable.test_iterable_mapt   s     I*S"((";2:TU &QCu%&5!tQ&%(YF&s   BBc                 "    | j                         S r#   r$   r&   s    r(   r)   zTestToIterable.<lambda>   r*   r+   c                 "    | j                         S r#   r-   r&   s    r(   r)   zTestToIterable.<lambda>   r/   r+   c                     t        |       S r#   r1   r&   s    r(   r)   zTestToIterable.<lambda>   r3   r+   c                 4    t        | j                               S r#   r5   r&   s    r(   r)   zTestToIterable.<lambda>   r7   r+   c                 |    t        t        d      t        d      g      } ||      d   }t        |t              sJ y )Nz
1999-12-31z
2000-12-31r   )r   r	   rG   )rH   r!   irM   s       r(   test_categorial_datetimelikez+TestToIterable.test_categorial_datetimelike   s:     i5y7NOP1&),,,r+   c                 >   t        d      t        d      g}t        |      j                  j                  |      }|j                  d| dk(  sJ t        ||d      D ]=  \  }}t        |t               sJ |j                  J ||k(  sJ |j                  |k(  r=J  y )N
2011-01-01
2011-01-02datetime64[]Tstrict	r	   r   dtas_unitr@   ziprG   tzunitrH   rv   valsserresexps         r(   test_iter_box_dt64z!TestToIterable.test_iter_box_dt64   s    ,'<)@ATloo%%d+yyk$q1111Cd3 	$HCc9---66>!>#::88t###		$r+   c                 `   t        dd      t        dd      g}t        |      j                  j                  |      }|j                  d| dk(  sJ t        ||d      D ]J  \  }}t        |t               sJ |j                  |j                  k(  sJ ||k(  sJ |j                  |k(  rJJ  y )	Nrk   
US/Easternru   rl   rm   z, US/Eastern]Tro   rq   rw   s         r(   test_iter_box_dt64tzz#TestToIterable.test_iter_box_dt64tz   s    l|4l|4
 Tloo%%d+yyk$}====Cd3 	$HCc9---66SVV####::88t###		$r+   c                 "   t        d      t        d      g}t        |      j                  j                  |      }|j                  d| dk(  sJ t        ||d      D ]/  \  }}t        |t               sJ ||k(  sJ |j                  |k(  r/J  y )Nz1 daysz2 daysztimedelta64[rn   Tro   )r   r   rr   rs   r@   rt   rG   rv   rw   s         r(   test_iter_box_timedelta64z(TestToIterable.test_iter_box_timedelta64   s    (#Yx%89Tloo%%d+yyl4&2222Cd3 	$HCc9---#::88t###	$r+   c                 ,   t        j                  dd      t        j                  dd      g}t        |      }|j                  dk(  sJ t	        ||d      D ]9  \  }}t        |t         j                        sJ |j                  dk(  sJ ||k(  r9J  y )	Nrk   Mfreqrl   z	Period[M]Tro   ME)rB   Periodr   r@   rt   rG   r   )rH   rx   rL   rz   r{   s        r(   test_iter_box_periodz#TestToIterable.test_iter_box_period   s    		,S1299\PS3TU4Lww+%%%AtD1 	HCc299---88t####::	r+   N)__name__
__module____qualname__intfloatr	   r   dtypesrD   markparametrizerN   rO   rX   r]   rb   ri   r|   r   r   r    r+   r(   r   r      s    
	#	#	#	#	3	3	3	E	E	E	9%	%y1	I&F" [[_f5[[ !(		
 2  	*	 6* [[vs#sA%a 		
 [[ !(		
 2  		*	&	* [[_f5	* 6	* [[F6FHc?FZ4EF   [[ !(		
 2  	-	-$$$r+   r   zarr, expected_type, dtyper>   r?   r   rP   brO   rQ   20172018
US/Centralr   zdatetime64[ns, US/Central]i  i  Yr   zY-DEC)r   r>      intervalr    l    d(	 zm8[ns]c                    |r|dk(  rt         rt        nt        }t        |       j                  }t        j                  |       j                  }t        |      |u sJ t        |      t        |      u sJ t        j                  ||       y )NrO   )
r   r   r   r   _valuesrB   rC   r`   tmassert_equal)arrexpected_typer@   using_infer_stringl_valuesr_valuess         r(   test_values_consistentr      sp    < ex/,7([c{""Hxx}$$H>]***>T(^+++OOHh'r+   r   r>   r      c                 t    t        |       }|j                  }t        |       }t        j                  ||       y r#   )r   arrayr   r   assert_extension_array_equal)r   ry   rM   expecteds       r(   test_numpy_arrayr      s.    
+CYYF"3'H##FH5r+   c                 ,   t        |       }|j                  }t        j                  |       j                  dk(  rt        |t              sJ y t        j                  |       j                  dk(  rt        |t              sJ y t        |t              sJ y )Nr?   r   m)	r   r   npr@   kindrG   r   r   r   )any_numpy_dtypery   rM   s      r(   test_numpy_array_all_dtypesr      st    

'CYYF	xx %%,&-000	/	"	'	'3	.&.111&"5666r+   z	arr, attr_codes20002001z	period[D]_ndarrayInt64_data_left_sparse_valuesr   z2000-01-01T12:00:00z2000-01-02T12:00:00M8[ns]c                     |} || d      j                   }|rt        | |      } t        ||      }t        j                  ||       sJ y )NFcopy)r   getattrr   shares_memory)r   attrrI   boxrM   s        r(   
test_arrayr      sL    2 C5!''Fc4 &FC(((r+   c                      t         j                  j                  dgddgg      } d}t        j                  t
        |      5  | j                   d d d        y # 1 sw Y   y xY w)NArP   r   z&MultiIndex has no single backing arrayr<   )rB   
MultiIndexfrom_productrD   rE   
ValueErrorr   )idxmsgs     r(   test_array_multiindex_raisesr   !  sP    
--
$
$sec3Z%8
9C
2C	z	- 		  s   AA!zarr, expected, zero_copyTFDz2000-01-01T06:00:00z2000-01-02T06:00:00UTC
2000-01-01
2000-01-02l     qai8z
2016-01-01z
US/Pacificperiodsru   z
2016-01-02c                 N   |s@| d   t         j                  u r+t        j                  dt         j                  gt              }|}t        j                  d       5   ||       }d d d        j                         }t        j                  ||       t        j                  |      }t        j                  ||       t        j                  |d      }t        j                  |d      }	t        j                  ||	      rJ t        sy |s<t        j                  t        d      5  t        j                  |d       d d d        y t        j                  |d      }
t        j                  |d      }t        j                  |
|      sJ y # 1 sw Y   -xY w# 1 sw Y   y xY w)	Nr   r?   Tr   z#Unable to avoid copy while creatingr<   F)rB   NAr   r   rO   r   assert_produces_warningto_numpyassert_numpy_array_equalasarraymay_share_memoryr   rD   rE   r   )r   r   	zero_copyindex_or_series_or_arrayusing_nan_is_nar   thingrM   
result_cp1
result_cp2result_nocopy1result_nocopy2s               r(   test_to_numpyr   (  sL   z s2w"%%/88QJf5
"C		#	#D	) C ^^F1ZZF1 %d+J%d+J"":z:::]]:-RS 	(HHU'	( 	(
 %e4%e4"">>BBB; *	( 	(s   	F&FFF$	as_series)rP   r   cc                    t        j                  | d      }|rt        |j                  d      }|j	                         }|rF| j
                  t        k(  r3|j
                  j                  dk(  rt        j                  | |      du sJ t        j                  | |      du sJ |j	                  d      }|rF| j
                  t        k(  r3|j
                  j                  dk(  rt        j                  | |      du sJ t        j                  | |      du sJ |j	                  d      }t        j                  | |      du sJ y )NFr   pyarrowT)
rB   rC   r   valuesr   r@   rO   storager   r   )r   r   r   rW   rM   s        r(   test_to_numpy_copyr     s   
 ((3U
#CSZZe, \\^Fcii61cii6G6G96TV,555V,444\\u\%Fcii61cii6G6G96TV,555V,444 \\t\$FC(E111r+   c                    d}t        j                  ddg|      }| rt        |      }|j                         }t	        j
                  t        d|      t        d|      gt              }t        j                  ||       |j                  d      }t        j                  ||       |j                  d      }t	        j
                  dd	gd      }t        j                  ||       y )
Nr~   r   r   r   r?   rO   r   z2000-01-01T05z2001-01-01T05)
rB   DatetimeIndexr   r   r   r   r	   rO   r   r   )r   ru   rW   rM   r   s        r(   test_to_numpy_dtyper     s    	B


FF+
3CSk \\^Fxx	6b	!9V#;<FH 1\\\)F1\\\)Fxx/:(KH1r+   z!values, dtype, na_value, expected)r>   r   Nr   )      ?       @        rL   z2000-01-01T00:00:00r   c                      | |      }|j                  ||      }t        j                  |      }t        j                  ||       y )Nr@   na_value)r   r   r   r   r   )rI   r   r@   r   r   rW   rM   s          r(   "test_to_numpy_na_value_numpy_dtyper     s>     &
!C\\\9Fxx!H1r+   z+data, multiindex, dtype, na_value, expected)r>   r   N   ))r   rP   )r   r   )r>   r   )r>   r   r   r   g      @))rP   r   )rP   r>   )rP   r   )r   r   )r>   r   r   r   20212022c                     t         j                  j                  |      }t        | |      }|j	                  ||      }t        j                  |      }t        j                  ||       y )N)indexr   )	rB   r   from_tuplesr   r   r   r   r   r   )data
multiindexr@   r   r   r   seriesrM   s           r(   (test_to_numpy_multiindex_series_na_valuer     sU    P MM%%j1ED&F__58_<Fxx!H1r+   c                  H   t        g d      } d}t        j                  t        |      5  | j	                  d       d d d        t        g dd      } t        j                  t        |      5  | j	                  d       d d d        y # 1 sw Y   OxY w# 1 sw Y   y xY w)Nr   z5to_numpy\(\) got an unexpected keyword argument 'foo'r<   T)foor   r?   )r   rD   rE   	TypeErrorr   )rL   r   s     r(   test_to_numpy_kwargs_raisesr     s    yA
BC	y	, 	

t
 	y(A	y	, 	

t
  
 s   B0BBB!r   )rP   r   zdtype, na_valuec                     t        j                  |       }|j                  ||      }t        j                  ddgddgd|gg|      }t        j                  ||       y )Nr   r>   r   r   r?   )rB   	DataFramer   r   r   r   r   )r   r@   r   dfrM   r   s         r(    test_to_numpy_dataframe_na_valuer    sW     
d	B[[ux[8Fxx!Q!Q!X7uEH1r+   zdata, expected_datac                     t        j                  |       }|j                  t        t        j
                        }t	        j                  |t              }t        j                  ||       y )Nr   r?   )	rB   r  r   r   r   nanr   r   r   )r   expected_datar  rM   r   s        r(   $test_to_numpy_dataframe_single_blockr    sH     
d	B[[urvv[6FxxU3H1r+   c                  8   t        j                  t        j                  ddt        j                  g            } t        j                  t        j                  ddt        j                  g            }| j                  d       t        j                  | |       y )Nr   r   r   )r   )rB   r  r   r   r  r   r   assert_frame_equal)rM   r   s     r(   .test_to_numpy_dataframe_single_block_no_mutater  2  sd    \\"((Cbff#567F||BHHc3%789H
OOSO!&(+r+   c                   `    e Zd Zej                  j                  dddg      d        Zd Zd Zy)TestAsArrayru   Nr   c                 B   t        t        dd|            }t        j                  d       5  t	        j
                  |t              }d d d        t	        j                  t        d|      t        d|      g      }t        j                  |       y # 1 sw Y   MxY w)Nr   r   r   r?   r   r   r   )
r   r
   r   r   r   r   rO   r   r	   r   )rH   ru   ry   rM   r   s        r(   test_asarray_object_dt64z$TestAsArray.test_asarray_object_dt64;  s    Zb9:''- 	3ZZ62F	3 88|+Y|-KL
 	##FH5	3 	3s   BBc                     t        t        ddd            }t        j                  ddgd      }t        j                  |      }t        j                  ||       y )	Nr   r   ns)r   rv   r   r   r   r?   r   r
   r   r   r   r   r   )rH   ry   r   rM   s       r(   test_asarray_tz_naivez!TestAsArray.test_asarray_tz_naiveH  sG    Z=>88\<8IC
##FH5r+   c                    d}t        t        dd|            }t        j                  ddgd      }t        j                  |d	      }t        j                  ||       t        j                  |d      }t        j                  ||       y )
Nr   r   r   r   z2000-01-01T06z2000-01-02T06r   r?   r    r  )rH   ru   ry   r   rM   s        r(   test_asarray_tz_awarez!TestAsArray.test_asarray_tz_awareP  sr    Zb9:88_o>hOC'78
##FH5 Cx0
##FH5r+   )	r   r   r   rD   r   r   r  r  r  r   r+   r(   r  r  :  s4    [[TD,#78
6 9
666r+   r  )Lnumpyr   rD   pandas.compatr   pandas.compat.numpyr   pandas.core.dtypes.dtypesr   pandasrB   r   r   r   r	   r
   pandas._testing_testingr   pandas.core.arraysr   r   r   r   r   r   r   pandas.core.arrays.string_arrowr   r   r   r   r   r   ndarrayCategoricalr   PeriodIndexcorer   PeriodDtypeIntervalIndexfrom_breaksTimedeltaIndexr   r   r   _from_sequencer   r   r   rO   arraysperiod_arrayr   r  Intervaltz_localize
tz_convertviewr@   r   r   r   rs   NaT
datetime64r   r   r   r   r   r  r  r  r  r   r+   r(   <module>r0     se	     % . 5      =a aH 	1a&	)2::w?	3*	rzz84	c
	#R^^Z@Bff-,?(	
 BNND$<c2GGNN!!--g6	

 
			%	%i	0-LBff-.	
 Bvh'	
):(;:( )!4 566 767 	c
	#X.	#	#	#VV$4K	H*U	1bee*G	,g6	"	"	"Aq6	*G4	aV	./(M((1a&@P)QR	
 )M((*,AB( &6	 	
0	)10	) 	1a&	)8288QF"((+KTR	c
	#XRXXsCj%GOGGNN''(8s'CBHHibiiS19299V#3NOP	

 
1bee*G	,hbhh266{.CUK%M%%i0BHHkbkk!Q'Q):;6J	

 
aV	hbhh1vRXX>F )M((662B()STBHHff%X6	
 )M((/1FGxX [Z%BHHl|<l|< 	
  *N))!]+48==hGbhhx( BHHa'x8	
 BNN:lA,OPBHHl|<l|< 		
]8;x#Cy;x#CL tUm4	HBHHYg.PV0WX2 52. tUm42 52* '	y!_5v&&s+Yv->-F-Fs-KRVVTf%%c*R]]0#67!;		
22 1 4#rvvs#	
 4FF#rvvs#	
 #rvvs#4	
 v&&s+Yv->-F-Fs-KRVVTIf%--c23If%--c23If%--c23
 f%%c*R]]0#67!;
	
-!$J2K$J2
 
l+bhhy!!Q(@Abhhy!(>? *eRVV_vtn,MN2 O2  ("((<()USEBFF8$	

 ),VaVaV$	
	22,!6 !6r+   