
    I jG              	       *   S SK r S SKrS SKrS SKrS SKJr  S SKJr  S SK	r
S SK	JrJrJrJrJrJrJrJrJr  S SKJr  \R0                  R2                  /rS rS rS rS	 rS
 rS r S r!S r"S r#S r$\R0                  RK                  S5      S 5       r&S r'S r(\R0                  RK                  S5      S 5       r)S r*\R0                  RW                  SS\RX                  " S\RZ                  S9/5      S 5       r.S r/\R0                  RW                  S\R`                  \Rb                  \2SS/5      S 5       r3S  r4S! r5\R0                  RW                  SS\RX                  " S\RZ                  S9/5      S" 5       r6S*S# jr7S*S$ jr8S% r9S& r:S' r;S( r<S) r=g)+    N)	Timestamp)is_platform_windows)		DataFrameDatetimeIndexHDFStoreIndexSeries_testingbdate_range
date_rangeread_hdf)_test_decoratorsc                 4  ^  U 4S jn[        [        R                  " S[        R                  S9[	        SSS9S9n[
        R                  " X!" SU5      5        [        [        S5      S[        S5       Vs/ s H  nS	U 3PM
     snS
9n[
        R                  " X!" SU5      5        [        S[        R                  " S5      R                  S5      -  [        [        S5      5      [        [        S5       Vs/ s H  nSU 3PM
     sn5      S9n[
        R                  " X!" SU5      5        [        [        S5      [        S5      S.5      nUR                  T SSS9  [        T SS/S9n[
        R                  " XDR                  S:     U5        g s  snf s  snf )Nc                 F   > UR                   " T4SU 0UD6  [        TU 5      $ )Nkey)to_hdfr   )r   objkwargstemp_h5_paths      y/root/GenerationalWealth/GenerationalWealth/venv/lib/python3.13/site-packages/pandas/tests/io/pytables/test_round_trip.py	roundtrip'test_conv_read_write.<locals>.roundtrip   s&    

<3S3F3c**    
   dtype
2020-01-01periodsindexseriesfloat64i_r   r!   string_series皙?x         ABCDr*   i-columnsr!   frame   ABtableTr   appendzindex>2)where   )r	   nparanger#   r   tmassert_series_equalranger   reshaper   listassert_frame_equalr   r   r!   )r   r   oidfresults   `     r   test_conv_read_writerF      sW   + 	
		"BJJ'z,PR/S	A 1i!45uRy	E"I1NIqBqc(I1NOA1i;<biin$$W--d6l#uRy1y!r!Xy12	A
 !Yw23 
qa1	2BIIlI5lGI;?F"XX\*F3 2O 2s   5F7Fc                     S/S-  n[        SU0US9nU R                  SUS/S9  U R                  S5      n[        R                  " X#5        g )N2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaar   ar    rD   )data_columns)r   r7   selectr<   rA   )temp_hdfstoredatarD   rE   s       r   test_long_stringsrN   6   sR    :?D	C;d	+Br6!!$'F"%r   c                    U n[        [        S5      5      nUR                  S S R                  USSSS9  UR                  SS  R                  USSSS9  [        R
                  " [        US5      U5        UR                  S S R                  USSSS9  UR                  SS  R                  USSSS9  [        R
                  " [        US5      U5        g )N   r   rD   Tr5   r   r7   formatFr   r>   ilocr   r<   rA   r   r   pathrD   s      r   test_apirW   A   s     D	59	BGGCRL$tGDGGBCL$tGD(4.3 GGCRL$uWEGGBCL$tGD(4.3r   c                    U n[        [        S5      5      nUR                  S S R                  USSS9  UR                  SS  R                  USSSS9  [        R
                  " [        US5      U5        UR                  S S R                  USSSS9  UR                  SS  R                  USSS9  [        R
                  " [        US5      U5        g )	NrP   r   rD   Tr6   r5   rQ   FrS   rU   s      r   test_api_appendrY   Q   s    D	59	BGGCRL$t4GGBCL$tGD(4.3 GGCRL$uWEGGBCL$t4(4.3r   c                    [        [        S5      5      nUR                  U SSSS9  [        R                  " [        U S5      U5        UR                  U SSSS9  [        R                  " [        U S5      U5        UR                  U SSS9  [        R                  " [        U S5      U5        UR                  U SS9  [        R                  " [        U S5      U5        g )	NrP   rD   FfixedrQ   fr6   )r   )r   r>   r   r<   rA   r   r   rD   s     r   
test_api_2r^   _   s    	59	BIIlU7IC(<6;IIlU3I?(<6;IIlUI3(<6;IIlI%(<6;r   c                    [        [        S5      5      nU R                  SUR                  S S SSS9  U R                  SUR                  SS  SSS9  [        R
                  " U R                  S5      U5        U R                  S5        U R                  SUR                  S S SSS9  U R                  SUR                  SS  SSS9  [        R
                  " U R                  S5      U5        U R                  S5        U R                  SUR                  S S SSS9  U R                  SUR                  SS  SSS9  [        R
                  " U R                  S5      U5        U R                  S5        U R                  SUR                  S S SSS9  U R                  SUR                  SS  SS S9  [        R
                  " U R                  S5      U5        g )NrP   rD   r   Tr5   )r7   rR   F)r   r>   r7   rT   r<   rA   rK   remove)rL   rD   s     r   
test_api_3ra   n   s   	59	Brwws|DIrwwrs|DI-..t4b9 rwws|E'Jrwwrs|DI-..t4b9 rwws|E'Jrwwrs|DI-..t4b9rwws|E'Jrwwrs|DF-..t4b9r   c                    U n[        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9nSn[        R                  " [        US	9   UR                  US
SSS9  S S S 5        [        R                  " [        US	9   UR                  US
SSS9  S S S 5        Sn[        R                  " [        US	9   UR                  US
SSS9  S S S 5        [        R                  " [        US	9   UR                  US
SSS9  S S S 5        SnSU S3n[        R                  " [        US	9   [        US
5        S S S 5        g s  snf ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       N}= f! , (       d  f       g = f)Nr'   r(   r)   r,   r*   r-   r.   zCan only append to TablesmatchrD   Tr\   rQ   r[   z)invalid HDFStore format specified \[foo\]fooF zFile z does not exist)r   r:   r;   r?   r   r@   r>   pytestraises
ValueErrorr   	TypeErrorFileNotFoundErrorr   )r   rV   rC   rD   msgs        r   test_api_invalidrm      so   D	biin$$W--d6l#uRy1y!r!Xy12
B &C	z	-
		$Dc	: 
. 
z	-
		$Dg	> 
. 7C	y	,
		$De	< 
- 
y	,
		$Du	= 
- D$
'C	(	4t 
5	4/ 2
 
.	- 
.	-
 
-	, 
-	, 
5	4sB   E7E<;F1F%F/!G <
F

F
F,/
F= 
Gc                    [        [        R                  " S[        R                  S9[	        SSS9S9U S'   U R                  S5      nU S   n[        R                  " X5        U R                  S5      nU S   n[        R                  " X5        [        R                  " [        SS	9   U R                  S
5        S S S 5        g ! , (       d  f       g = f)Nr   r   r   r   r    rI   z/az'No object named b in the file'rc   b)r	   r:   r;   r#   r   getr<   r=   rg   rh   KeyError)rL   leftrights      r   test_getrt      s    
		"BJJ'z,PR/SM# S!D#E4'T"D$E4'	x'H	I# 
J	I	Is   (C
Cc                     [        [        R                  R                  S5      R	                  S5      5      n[        U[        R                  U 5        g )Nr9   )2   d   )r   r:   randomdefault_rngstandard_normal_check_roundtripr<   rA   r]   s     r   test_put_integerr|      s8    	299((+;;IF	GBR..=r   c                 `   [        S/ SQ0SS9nU R                  SU5        [        R                  " UR                  U S   R                  5        [        S/ SQ0SS9nU R                  SU5        [        R                  " UR                  U S   R                  5        [
        R                  " S5      n[        R                  " [        US	9   U R                  SU5        S S S 5        [        [        R                  " S
/S/S//SS9S/S9nU R                  SU5        [        R                  " UR                  U S   R                  5        UR                  R                  S   S:X  d   e[        S Vs0 s H:  nU[        [        R                  R                  S5      R!                  S5      US9_M<     sn5      nSUS'   SUS'   US   R#                  S5      US'   US   S:  US'   [%        S5      R'                  S5      US'   [%        S5      R'                  S5      US'   [%        S5      R'                  S 5      US!'   [%        S"5      US#'   U R                  S$U5        U R)                  S$5      R                  R+                  5       nUR,                   Vs/ s H  n[/        U5      PM     snUl        U(       a  S%OS&n[        SSS'S
S(S
SS
S)S
S*S
S+S
US
S,SS-S
S.S
0S/S09n	UR1                  5       nU	R1                  5       n	[        R                  " Xi5        g ! , (       d  f       GN<= fs  snf s  snf )1NrI      r9      f8r   df_f8i8df_i8zdCannot serialize the column [a] because its data contents are not [float] but [integer] object dtyperc   r   r9   r   f4r3   r/   df_f4r   float32)r   r#   int32int64int16int8r1   re   string      ?float322bool20130101stime_s_1z20130101 00:00:00time_s_2z20130101 00:00:00.000mstime_msz20130102 00:00:00.000000000time_nsdf_mixed_dtypes1strobjectr#   r   r   r   r   zdatetime64[s]zdatetime64[ms]zdatetime64[ns]count)name)r   r7   r<   r=   dtypesreescaperg   rh   ri   r:   arrayrT   r	   rx   ry   integersastyper   as_unitrK   value_countsr!   r   
sort_index)
rL   using_infer_stringdf1df2rl   crE   rC   	str_dtypeexpecteds
             r   "test_table_values_dtypes_roundtripr      s   
S)$D
1C#&3::}W'='D'DE
S)$D
1C#&3::}W'='D'DE ))	%C
 
z	-Wc* 
.
 BHHqcA3_D9C5
IC#&3::}W'='D'DE::??1***  O	
N vbii++A.77:!DDN	
C CMC
O*o,,Y7C
Oi.1$CK
+33C8C
O 34<<SAC
O67??EC	N<=C	N+S1!!"45<<IIKF$*LL1LqCFL1FL+IqqQAQAQqQaa	
 H   F""$H6,a 
.	-	
  2s   L3AL&L+
L#z(ignore::pandas.errors.PerformanceWarningc           	      l   [        [        S5      S[        S5       Vs/ s H  nSU 3PM
     snS9n[        U[        R                  U S9  [        [
        R                  " S[
        R                  S9[        SSS9S	9n[        U[        R                  U S9  [        UR                  [        UR                  5      5      n[        U[        R                  U S9  [        UR                  [        [
        R                  " UR                  5      5      5      n[        U[        R                  U S
S9  g s  snf )Nr   r#   r$   r%   rV   r   r   r   r    F)rV   check_index_type)r	   r>   r{   r<   r=   r:   r;   r#   r   r!   r   valuesasarray)r   rC   r   tsts2ts3s         r   test_seriesr      s    uRy	E"I1NIqBqc(I1NOAQ..\B	
		"BJJ'z,PR/S
B R//lC
5?
+CS"00|D
E"**RXX"67
8CR##, 2Os   D1c                     [         R                  R                  S5      R                  S5      n[	        [         R                  R                  S5      R                  S5      US9n[        U[        R                  U S9  g )Nr9   r   r    r   )r:   rx   ry   rz   r	   r{   r<   r=   )r   r!   r   s      r   test_float_indexr     sY    II!!!$44R8Eryy$$Q'77;5IAQ..\Br   c                 X   [         R                  " S5      n/ SQn[         R                  R                  S5      R	                  S5      R                  S5      n[        XCUS9n[        R                  " U5         [        U[        R                  U S9  S S S 5        g ! , (       d  f       g = f)Nr   ))g        r   )       @      @)g      @g      @r9   r*   )r   r   )r!   r/   r   )r:   r;   rx   ry   rz   r?   r   r<   assert_produces_warningr{   rA   )r   performance_warningcolidxrM   DFs         r   test_tuple_indexr     sw    
))B-C
.C99  #33B7??HD	4C	0B		#	#$7	8R22F 
9	8	8s   8B
B)c                    [         R                  R                  S5      R                  S5      nS n[	        USS/5      n[        X2U S9  [	        U[        R                  R                  5       S/5      n[        X2U S9  [	        USS/5      n[        X2U S9  [	        U[        R                  R                  5       S/5      n[        X2U S9  [	        USS/5      n[        X2U S9  [	        U[        R                  R                  5       S/5      n[        X2U S9  [	        USS/5      n[        X2U S9  [	        U[        R                  R                  5       S/5      n[        X2U S9  [	        USS/5      n[        X2U S9  [	        US	S
/5      n[        X2U S9  [	        US	S/5      n[        X2U S9  [        SS/SS9n[	        XS9n[        X2U S9  UR                  R                  S5      Ul
        [        X2U S9  g )Nr9   c                 ,    [         R                  " XSS9$ )NT)r   )r<   r=   )lhsrhss     r   <lambda>"test_index_types.<locals>.<lambda>)  s    B223dSr   r   yr   rI   gGz?ro   r   g{Gz?r1   z
2012-01-01z
2012-01-02M8[ns]r   r    r   )r:   rx   ry   rz   r	   r{   datetimetodaydater   r!   r   )r   r   funcserdtis        r   test_index_typesr   %  s   YY""1%55a8FSD
!S
"CS\2
(++113Q7
8CS\2
#q
"CS\2
(----/5
6CS\2
!S
"CS\2
(++113Q7
8CS\2
#q
"CS\2
(----/5
6CS\2
$
%CS\2
!T
#CS\2
!Q
 CS\2
|4H
EC

#CS\2		!!#&CIS\2r   c                 f   [        SS5      n[        [        R                  R	                  S5      R                  [        U5      5      US9n [        U[        R                  U S9  g ! [         a?    [        5       (       a.  UR                  [        R                  R                  S5      5        e f = f)Nz1/1/1940z1/1/1960r9   r    r   z'known failure on some windows platforms)r   r	   r:   rx   ry   rz   lenr{   r<   r=   OverflowErrorr   applymarkerrg   markxfail)r   requestdrr   s       r   test_timeseries_preepochr   T  s    	Z	,B			%%a(88RA	LBR33,G   !!"KL 	s   A' 'A	B0compressionFT)marksc                    [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       Vs/ s H  nSU 3PM
     sn5      S9n[        R                  UR                  S'   [        R                  UR                  S	'   [        U[        R                  XS
9  [        U[        R                  XS
9  [        [        R                  R                  S5      R                  S5      [	        [        S5      5      [!        SSSS9S9n[        U[        R                  XS
9  [#        U5       n[        R                  R                  S5      R                  [%        U5      5      US'   X5S'   US   nUR&                  R)                  5       (       d   e S S S 5        US S n[	        / 5      Ul        [        US S [        R                  US9  g s  snf ! , (       d  f       NE= f)Nr'   r(   r)   r,   r*   r-   r.   )r   r   )r1   r   rV   r   r9   )r   r+   z
2000-01-01r   r4   )r   freqre   rD   r   r   )r   r:   r;   r?   r   r@   r>   nanrT   _check_roundtrip_tabler<   rA   r{   rx   ry   rz   r   r   r   _mgris_consolidatedr!   )r   r   rC   rD   tdfstorereconsr   s           r   
test_framer   a  s    
biin$$W--d6l#uRy1y!r!Xy12
B FFBGGDMFFBGGDM
B!! 
B!! 
		a 009d6l#r<C
 R"" 
,	5II))!,<<SWE5	dt{{**,,,, 
  Ra&Cb	CIS!Wb33,GE 2. 
 	s   G,A%G11
G?c                 t   [        [        S9n[        S[        S9n[        5       n[        / SQS9n[        / SQS9n[        U[        R
                  U S9  [        U[        R
                  U S9  [        U[        R                  U S9  [        U[        R                  U S9  [        U[        R                  U S9  g )	Nr   myseries)r   r   rI   ro   r   r    )der\   r   r   )r	   r   r   r{   r<   r=   rA   )r   s0s1df0r   r   s         r   test_empty_series_framer     s    	f	B	Zv	.B
+C
/
*C
O
,CR//lCR//lCS"//lCS"//lCS"//lCr   r   zm8[ns]r   c                 H    [        U S9n[        U[        R                  US9  g )Nr   r   )r	   r{   r<   r=   )r   r   r   s      r   test_empty_seriesr     s    UAQ..\Br   c                    [        SS5       Vs/ s H  oR                  5       PM     nn[        [        R                  R                  S5      R                  [        U5      S45      US9n[        U[        R                  U S9  g s  snf )Nz1/1/2000z	1/30/2000r9   r+   r    r   )r   r   r   r:   rx   ry   rz   r   r{   r<   rA   )r   xrngr0   s       r   test_can_serialize_datesr     sn    ([A
BA668AC
B
		a 00#c(A?sE UB11E Cs   Bc                 @   Un[        U[        R                  U S9  [        UR                  [        R                  U S9  [        US   [        R                  U S9  [        U 5       nX4S'   US   n[        R                  " XS5        S S S 5        g ! , (       d  f       g = f)Nr   r3   r0   )r{   r<   rA   Tr=   r   )r   r    multiindex_dataframe_random_datar0   r   r   s         r   test_store_hierarchicalr     s}     -EUB11EUWWb33,GU3Z!7!7lK 
,	5gw
f, 
 		s   & B
Bc                    S nU" 5       nU" 5       n[        U[        R                  US9  [        U[        R                  US9  [        U5       nX5S'   [        R                  " US   U5        XES'   [        R                  " US   U5        S S S 5        [        US   [        R                  UU S9  [        US   [        R                  UU S9  [        US   [        R                  UU S9  g ! , (       d  f       Nf= f)Nc                  R   [        S[        R                  " S5      R                  S5      -  [	        [        S5      5      [	        [        S5       V s/ s H  n SU  3PM
     sn 5      S9nSUS	'   S
US'   US   S:  US'   US   S:  US'   SUS'   SUS'   UR                  5       $ s  sn f )Nr'   r(   r)   r,   r*   r-   r.   re   obj1barobj2r3   r   bool1r4   bool2r   int1r9   int2)r   r:   r;   r?   r   r@   r>   _consolidate)rC   rD   s     r   	_make_one#test_store_mixed.<locals>._make_one  s    "))C.((11$v,'5959a2aS956

 6
6
gk7gk76
6
   6s   B$r   r   r   r   r   r   )r{   r<   rA   r   r=   )r   r   r  r   r   r   s         r   test_store_mixedr    s    ! +C
+CS"//lCS"//lC	,	5e
eElC0e
eElC0	 
  F
	 G
	 F
	' 
 	s   =C,,
C:c                     0 nU(       a  SUS'   [        US40 UD6 nXS'   US   nU" Xp40 UD6  S S S 5        g ! , (       d  f       g = f)Nblosccomplibwr   )r   )r   
comparatorrV   r   r   optionsr   	retrieveds           r   r{   r{     sN    G$		$	'w	'5e%L	9,V, 
(	'	's	   8
Ac                     0 nU(       a  SUS'   [        US40 UD6 nUR                  SU SS9  US   nU" X`5        S S S 5        g ! , (       d  f       g = f)Nr  r  r	  r   r5   )rR   )r   put)r   r
  rV   r   r  r   r  s          r   r   r     sT    G$		$	'w	'5		%W	-%L	9"	 
(	'	's   A
Ac                     SS/n[        [        R                  R                  S5      R	                  [        U5      5      U5      n[        U[        R                  U S9  g )Nu   σu   σσr9   r   )	r	   r:   rx   ry   rz   r   r{   r<   r=   )r   unicode_valuesr   s      r   test_unicode_indexr    sO    /N
		a 00^1DE	A Q..\Br   c                 N   Sn[        SU/05      nU R                  SUSSS9  U R                  S5      n[        R                  " X25        [        SU/SS/S	.5      nU R                  S5        U R                  SUSSS9  U R                  S5      n[        R                  " X25        g )
Nu   Δr3   rD   r5   zutf-8)rR   encodingrI   ro   r2   )r   r  rp   r<   rA   r`   )rL   charrD   rE   s       r   test_unicode_longer_encodedr    s    D	C$=	!BdBwAt$F&%	#tC:6	7BdBwAt$F&%r   c                     [        / SQ/ SQ/ SQS.5      n[        [        R                  " S[        R                  S9[        SSS9S9nUR                  S S	 US
'   [        U[        R                  U S9  g )Nr~   )r   r   r   r   r   r   r   r   r    r   r   r   )
r   r	   r:   r;   r#   r   r!   r{   r<   rA   )r   rD   r   s      r   test_store_datetime_mixedr    s`    	O	PB	
		"BJJ'z,PR/S
B hhrlBsGR..\Br   c                     [        SS/SS/S.5      nUR                  U SSS9  [        U S5      n[        R                  " X5        UR                  U5      (       d   eUR                  U5      (       d   eg )	Nr   r9   r   r   )r4   r3   rD   r5   r   rR   )r   r   r   r<   rA   equals)r   rD   others      r   test_round_trip_equalsr  &  so    	!QsCj1	2BIIlWI5\4(E"$99U<<r   c           
         [         R                  " S5        [        R                  " SS5         [	        S[        S5      [        [        S5      5      S9R                  SS	/5      nUR                  5       nUR                  U S
SS9  [        U S
5      n[        R                  " X25        S S S 5        g ! , (       d  f       g = f)Npyarrowzfuture.infer_stringTr   r,   r   r.   r3   r4   rD   r5   r  )rg   importorskippdoption_contextr   r@   r>   	set_indexcopyr   r   r<   rA   )r   rD   r   rE   s       r   test_infer_string_columnsr$  1  s    
	"			0$	7q$v,d59oFPP#J
 779
		,D	9,-
f/ 
8	7	7s   A;B22
C )F)>r   r   numpyr:   rg   pandas._libs.tslibsr   pandas.compatr   pandasr   r   r   r   r   r	   r
   r<   r   r   r   pandas.utilr   tdr   
single_cpu
pytestmarkrF   rN   rW   rY   r^   ra   rm   rt   r|   r   filterwarningsr   r   r   r   r   parametrizeparamskip_if_windowsr   r   r   r#   r   r   r   r   r  r{   r   r  r  r  r  r$   r   r   <module>r2     s    	   ) - 
 
 
 /kk$$%
46&4 4<:2B >?-D FG H$CG FG+3 H+3\
 E6<<B4F4FGH&H&HRD 288RZZ8"TUC VC
F-  E6<<B4F4FGH--`-	#C&C0r   