
    Pi                        d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlZd dlmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZ d dlmZmZ ej        j         gZ! ej"        d          Z#d Z$d Z%d	 Z&d
 Z'd Z(d Z)d Z*ej        +                    ddddh e,            f e,            ddhfdhddhf e,            dhfdfddhddhf e,            dhfdfg          d             Z-d Z.d Z/d Z0ej        +                    dd d!g          d"             Z1d# Z2d$ Z3d% Z4d& Z5d' Z6d( Z7d) Z8d* Z9ej        +                    d+dd,g          ej        +                    d-d!d g          d.                         Z:d/ Z;d0 Z<d1 Z=d2 Z>d3 Z?d4 Z@d5 ZAd6 ZBd7 ZCd8 ZDd9 ZEej        +                    d:g d;          d<             ZFd= ZGd> ZHej        +                    d?d@dAg          dB             ZIdC ZJdD ZKdE ZLej        M                    dF          ej        +                    dG ed dHgejN        I           edJdKgejO        I           edLdMN           edOdMN           edLdMdPQ          g          dR                         ZPej        +                    dSddTg          dU             ZQdV ZRdW ZSej        +                    dXg dY          dZ             ZTd[ ZUdS )\    N)PY312)
	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestampconcat
date_rangeperiod_rangetimedelta_range)CategoricalDtypeHDFStoreread_hdftablesc                 L   	 t          |           5 }t          d          # 1 swxY w Y   n# t          $ r Y nw xY wt          |           5 }t          dt          j        d                              d          z  t          t          d          t                    t          d t          d          D             t                    	          |d
<   t          |          dk    sJ t          |d
                   t          k    sJ 	 d d d            d S # 1 swxY w Y   d S )Nblah皙?x         ABCDdtypec                     g | ]}d | S zi- .0is     w/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/io/pytables/test_store.py
<listcomp>z test_context.<locals>.<listcomp>2       555aa555    r   columnsindexa   )r   
ValueErrorr   nparangereshaper   listobjectrangelentype)temp_h5_pathtbls     r#   test_contextr7   (   s   l## 	%sV$$$	% 	% 	% 	% 	% 	% 	% 	% 	%   	,		 +3")C..((111$v,,f55555599555VDDD
 
 
C
 3xx1}}}}CH~~*****+ + + + + + + + + + + + + + + + + +s3   - !%- %- 
::B?DD Dc                     t           j        dfdfd} || d          } || d          }t          j        d            || d          } || d          }||k    sJ ||k    sJ d S )N   c                      |            t          | d          5 t          fdd          D ]}                    |           	 d d d            n# 1 swxY w Y                                   S )Nrbc                  >                          j        z            S N)read
block_size)chunk_num_blocksfhs   r#   <lambda>z7test_no_track_times.<locals>.checksum.<locals>.<lambda>?   s    aff-=-L&M&M r&   r&   )openiterupdatedigest)filenamehash_factoryr@   chunkrA   rB   s     ` @@r#   checksumz%test_no_track_times.<locals>.checksum<   s    LNN(D!! 	 QMMMMMMsSS     	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  xxzzs   .AA Ac           	          t          ddgi          }t          | d          5 }|                    d|ddd |           d d d            n# 1 swxY w Y    |           S )Nr*   r+   w)modetableT)formatdata_columnsr)   track_times)r   r   put)r5   rR   dfhdfrK   s       r#   create_h5_and_return_checksumz:test_no_track_times.<locals>.create_h5_and_return_checksumC   s    aSz""l--- 	GG!'    	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 x%%%s   AAAF)rR   Tr+   )hashlibmd5timesleep)r5   rV   checksum_0_tt_falsechecksum_0_tt_truechecksum_1_tt_falsechecksum_1_tt_truerK   s         @r#   test_no_track_timesr_   8   s     )0c    & & & & & 87RWXXX66|QUVVV 	JqMMM77RWXXX66|QUVVV "55555 !3333333r&   c                 0    t          |           g k    sJ d S r=   )r0   )temp_hdfstores    r#   test_iter_emptyrb   b   s!    "$$$$$$r&   c           
      <   | }t          |           |                                 t          t          j        dt          j                  t          dd                    |d<   t          t          d          dd t          d          D             	          |d
<   t          dt          j        d          	                    d          z  t          t          d          t                    t          d t          d          D             t                              |d<   t          dt          j        d          	                    d          z  t          t          d          t                    t          d t          d          D             t                              }d|d<   d|d<   |d         dk    |d<   |d         dk    |d<   d|d<   d|d <   d!|d"<   t          d#          |d$<   t          d%          |d&<   t          j        d'dd!dd          |d(<   t          j        d'dd)dd          |d*<   t          j        |j        |j        d)d+         dgf<   |                                }|rd n|}d,}t)          j        ||-          5  ||d.<   d d d            n# 1 swxY w Y   |j                            |j        j        d/           |j        t          |          v sJ |j        t5          |          v sJ |                                 d S )0N
   r   
2020-01-01periodsr)   r*   float64c                     g | ]}d | S )i_r   r    s     r#   r$   ztest_repr.<locals>.<listcomp>n   s    :W:W:W888:W:W:Wr&   )r   r)   br   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   ztest_repr.<locals>.<listcomp>r       111!X!XX111r&   r   r'   cc                     g | ]}d | S r   r   r    s     r#   r$   ztest_repr.<locals>.<listcomp>x   rn   r&   fooobj1barobj2Ar   bool1Bbool2Tbool3r+   int1   int220010102
timestamp120010103
timestamp2i  	datetime1   	datetime2   z0cannot
map directly to c-types .* dtype='object'matchrT   bah)reprinfor   r-   r.   ri   r   r2   r   r/   r   r0   r1   r	   dtdatetimenanlocr)   _consolidatetmassert_produces_warning_handlecreate_grouprootrH   str)ra   performance_warningusing_infer_stringstorerT   warningmsgs          r#   	test_reprr   g   s4   EKKK	JJLLL
	"BJ'''z,PR/S/S/S  E#J b		:W:WUSUYY:W:W:WXXXE#Jbinn$$W---d6ll&11111uRyy111@@@  E#J 
binn$$W---d6ll&11111uRyy111@@@
 
 
B
 BvJBvJS'A+BwKS'A+BwKBwKBvJBvJ ,,B| ,,B|k$1a33B{Ok$1a33B{O&(fBF28AaC=6("#			B(Add.AG
=C		#G3	7	7	7  d               
Mu}15999>T%[[((((>SZZ''''	JJLLLLLs   J((J,/J,c           
         t          dt          j        d                              d          z  t	          t          d          t                    t	          d t          d          D             t                              }|                     d	|           | 	                    d	          }t          |           t          |           d S )
Nr   r   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z(test_repr_get_storer.<locals>.<listcomp>   rn   r&   r   r'   rT   )r   r-   r.   r/   r   r0   r1   r2   append
get_storerr   r   )ra   rT   ss      r#   test_repr_get_storerr      s    	binn$$W---d6ll&11111uRyy111@@@
 
 
B
 r"""  &&AGGGFFFFFr&   c                    | }t          t          j        dt          j                  t	          dd                    |d<   t          dt          j        d                              d	          z  t          t          d
          t                    t          d t          d          D             t                              |d<   t          dt          j        d                              d	          z  t          t          d
          t                    t          d t          d          D             t                              |d<   d|v sJ d|v sJ d|vsJ d|v sJ d|v sJ d|vsJ d|vsJ t          j        t          j        d          5  t          dt          j        d                              d	          z  t          t          d
          t                    t          d t          d          D             t                              |d<   d d d            n# 1 swxY w Y   d|v sJ d S )Nrd   r   re   rf   rh   r*   r   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z!test_contains.<locals>.<listcomp>   rn   r&   r   r'   rl   c                     g | ]}d | S r   r   r    s     r#   r$   z!test_contains.<locals>.<listcomp>   rn   r&   zfoo/barro   z/foo/barz/foo/brs   F)check_stacklevelc                     g | ]}d | S r   r   r    s     r#   r$   z!test_contains.<locals>.<listcomp>   r%   r&   znode()))r   r-   r.   ri   r   r   r/   r   r0   r1   r2   r   r   r   NaturalNameWarning)ra   r   s     r#   test_containsr      s   E
	"BJ'''z,PR/S/S/S  E#J binn$$W---d6ll&11111uRyy111@@@  E#J
 !binn$$W---d6ll&11111uRyy111@@@  E)
 %<<<<%<<<<e5     
	#F$=PU	V	V	V 
 
$")C..((111$v,,f55555599555VDDD
 
 
i
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 s    B
H66H:=H:c           
         | }t          t          j        dt          j                  t	          dd                    |d<   t          dt          j        d                              d	          z  t          t          d
          t                    t          d t          d          D             t                              |d<   t          t          j                            d                              d          t          t          d
          t                    t	          ddd                    }|                    d|d d                    |                    d|dd                     |j        j        j        j        dk    sJ |j        j        j        j        dk    sJ |j        j        j        j        dk    sJ |                    d|           d |                    d          j        _        d}t-          j        t0          |          5  |                    d           d d d            d S # 1 swxY w Y   d S )Nrd   r   re   rf   rh   r*   r   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z#test_versioning.<locals>.<listcomp>   rn   r&   r   r'   rl   r{   )   r   
2000-01-01r   rw   rg   freqdf1z0.15.2df2z/'NoneType' object has no attribute 'startswith'r   )r   r-   r.   ri   r   r   r/   r   r0   r1   r2   randomdefault_rngstandard_normalr   r   r*   _v_attrspandas_versionrl   r   get_nodepytestraises	Exceptionselect)ra   r   rT   r   s       r#   test_versioningr      s_   E
	"BJ'''z,PR/S/S/S  E#J binn$$W---d6ll&11111uRyy111@@@  E#J
 

	a  0099d6ll&111r<<<
 
 
B
 
LL3B3   	LL233   :< /8;;;;:< /8;;;;:>"1X==== 
LL 59ENN5"1
;C	y	,	,	,  U                 s   "II	I	zwhere, expected/first_groupsecond_groupr   r   third_groupdf3s1df4) /first_group/second_group/second_group/third_groupr   )r   r   c                 4   t          g d          t          g d          t          g d          t          g d          t          g d          t          j        g dg dg          t          j        ddgd          t          j        dd	gd          d
}|}|                    d|d                    |                    d|d                    |                    d|d                    |                    d|d                    |                    d|d                    |j                            dd|d                    |j                            dd|d                    |j                            dd|d                    t          t          |
                    |                               t          |          k    sJ |
                    |           D ]\  }}}||v sJ ||         \  }}	|t          |          k    sJ |	t          |          k    sJ |D ]i}
d                    ||
g          }|                    |          }d|
v rt          j        |||
                    Nt          j        |||
                    jd S )Nr+   r{   r   )r      r   )r         )	   rd      )rd   r   r   zi,i,ir   )r   r   r   )rd   r      )r   r   r   r   r   a1tb1tb2z/first_group/df1r   z/first_group/df2r   z/second_group/df3r   z/second_group/s1r   z/second_group/third_group/df4r   r   r   r   )objr   r   wherer   rT   )r   r   r-   arrayrS   r   create_arraycreate_tabler3   r0   walksetjoingetr   assert_frame_equalassert_series_equal)r   expectedra   objsr   pathgroupsleavesexpected_groupsexpected_framesleaf
frame_pathr   s                r#   	test_walkr      s   0 ######%%ZZZ  h			999-..xI.g>>>xL1AAA
 
D E	II $u+...	II $u+...	II!4;///	II $t*---	II-tE{;;;	M~tT$Z@@@	M~u$u+FFF	M4;GGGtEJJUJ++,,--X>>>> %


 7 7 8 8ffx+3D>(#f++----#f++---- 	8 	8D4,//J))J''Ct||%c4:6666&sDJ7777	88 8r&   c           	         | }t          t          j        dt          j                  t	          dd                    }||d<   |j        }t          j        ||           |j        }t          j        ||           t          t          j	        
                    d                              d          t          t          d	                    t	          d
dd                    }||d<   |j        }t          j        ||           dD ]K}d| d}t!          j        t$          |          5  t'          ||           d d d            n# 1 swxY w Y   LdD ]}t'          |d|            d S )Nrd   r   re   rf   rh   r*   r{   rd   r   r   r   rw   r   r'   rT   )drN   r   handlecomplibz$'HDFStore' object has no attribute ''r   )rN   r   r   r   _)r   r-   r.   ri   r   r*   r   r   r   r   r   r   r   r0   rT   r   r   r   AttributeErrorgetattr)ra   r   r   resultrT   xr   s          r#   test_getattrr   #  s   E
	"BJ'''z,PR/S/S/S	 	 	A E#J WF61%%%WF61%%%	
	a  0099d6ll##r<<<
 
 
B
 E$KXF&"%%% 8  9Q999]>555 	 	E1	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 3    w1ww   s   0EE	E	c                 `   t          dt          j        dgdt          j        t          j        gdt          d                    }t          ddgdt          j        gdt          d                    }|                    | dd	
           t          | d          }t          j        ||           |                    | dd	d           t          | d          }t          j        ||           |                    | dd	d           t          | d          }t          j        ||           d S )N               @      ?)col1col2abcrh   acrT   rO   keyrP   F)r   rP   dropnaT)r   r-   r   r0   to_hdfr   r   r   )r5   df_with_missingdf_without_missingreloadeds       r#   test_store_dropnar  D  s6   rvs#c2626-BCC5kk  O #sc26]334::   <T'BBBd++H/8444<T'%PPPd++H/8444<T'$OOOd++H,h77777r&   c           	         t          g dg dt          g d          t          dd          d                              d          }|                    | d	d
ddi           |                                                                                    d                              d          }|                    | d	dd
           t          j	        t          | d	          t          ||g                     |d                             | dd
ddi           |d                             | ddd
           t          j        t          | d          t          |d         |d         g                     d S )N)r   r   r   g      @g      @)r   r   r   r   r   )foo1foo2foo3foo4foo520130101r   rf   )ru   rw   CDr
  ss3rO   r)   r   )r   rP   min_itemsizelonger)r
  T)r   r   rP   rw   ss4)r   r   r   	set_indexr   copyreset_indexassignr   r   r   r
   r   )r5   rT   r   s      r#   test_to_hdf_with_min_itemsizer  \  su   	******???@@J222		
 	

 
 inn  IIlgWaLIQQQ
''))


!
!
(
(8
(
4
4
>
>s
C
CCJJ|tGJDDD(<77S	9J9JKKK sGNN<U7'STNVVVHOOLeDOIII8L%88&"S'3s8AT:U:UVVVVVr&   rP   fixedrO   c                 Z   dg}t          |t          |d          d          }|                    |d| d           t          |dd          }|r!t	          j        d	t          j        
          }nd}t          |t          ||          |          }t          j	        ||           d S )Nu   foor1   r   )r)   r   rO   surrogatepass)r   rP   errors)r  python)storagena_value)
r   r   r   r   pdStringDtyper-   r   r   r   )rP   r5   r   dataserr   r   r   s           r#   test_to_hdf_errorsr   r  s    =D
U4x888
I
I
ICJJ|JPPPlGODDDF  x"&AAAd%E":":":%HHHH68,,,,,r&   c           	      ,   | fd}t          t          j                            d                              d          t          t          d                    t          ddd          	          }d
|d<   d|d<                       d|ddg            |dd          j	        du sJ  |dd          j	        du sJ  |dd          j	        du sJ                     d|dgddg            |dd          j	        du sJ  |dd          j	        du sJ  |dd          j	        du sJ 
                    d|           d}t          j        t          |          5                      d           d d d            d S # 1 swxY w Y   d S )Nc                 ^    t                              |           j        j        |          S r=   r   r   rO   colstcolumnr   s     r#   colz$test_create_table_index.<locals>.col  '    u''**05v>>>r&   r{   r   r   r   rd   rw   r   r'   rq   stringrs   string2rA   rQ   r)   Tf2)r)   rQ   Fz1cannot create table index on a Fixed format storer   )r   r-   r   r   r   r   r0   r   r   
is_indexedrS   r   r   	TypeErrorcreate_table_indexra   r(  rT   r   r   s       @r#   test_create_table_indexr2    s7   E? ? ? ? ? 

	a  0099d6ll##r<<<
 
 
B
 BxLByM	LLb)'<L===3sG'4////3sH(D00003sI)T1111 
LLr(8Y:OLPPP3tW(E11113tX)T11113tY*e3333 
IIdB
=C	y	,	,	, ' '  &&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   &F		FFc           	         | fd}t          t          j                            d                              d          t          t          d                    t          ddd          	          }d
|d<   d|d<                       d|dg            |dd          j	        du sJ  |dd          j	        du sJ d}t          j        t          |          5   |dd          j	         d d d            n# 1 swxY w Y   d}t          j        t          |          5                      ddg           d d d            d S # 1 swxY w Y   d S )Nc                 ^    t                              |           j        j        |          S r=   r#  r%  s     r#   r(  z:test_create_table_index_data_columns_argument.<locals>.col  r)  r&   r{   r   r   r   rd   rw   r   r'   rq   r*  rs   r+  rA   r,  r)   Tz('Cols' object has no attribute 'string2'r   zcolumn string2 is not a data_column.
In order to read column string2 you must reload the dataframe 
into HDFStore and include string2 with the data_columns argument.r(   )r   r-   r   r   r   r   r0   r   r   r.  r   r   r   r0  r1  s       @r#   -test_create_table_index_data_columns_argumentr6    s    E? ? ? ? ? 

	a  0099d6ll##r<<<
 
 
B
 BxLByM	LLbzL2223sG'4////3sH(D0000
4C	~S	1	1	1 ' 'C&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '
	L 
 
~S	1	1	1 ; ;  yk :::; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;s$   C==DD%EEEc                 H   t          j        t          dd          t          d          gddg          }t	          dg di|	          }|                     d
|d           |                     d
d          }|j        dgd d f         }t          j	        ||           d S )Nr   r   rf   dateidnamesr*   )r   g333333?g?gffffff?g      ?rh   rT   Tr,  zid == 1r   r+   )
r   from_arraysr   r2   r   r   r   ilocr   r   )ra   idxrT   actualr   s        r#   test_mi_data_columnsr@    s    

 	L!	,	,	,eAhh7~  C 
C22233	?	?	?Br555!!$i!88FwsAAAvH&(+++++r&   c           
      x   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }d|d	<   d
|d<   |d         dk    |d<   |d         dk    |d<   d|d<   d|d<   d|d<   t          d                              d          |d<   t          d                              d          |d<   t          d                              d          |d<   t          d                              d          |d<   t          j	        |j
        |j        dd         d	gf<   |                                }|                     d |           t          j        |                     d           |           d S )!Nr   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z+test_table_mixed_dtypes.<locals>.<listcomp>  rn   r&   r   r'   rq   rr   rs   rt   ru   r   rv   rw   rx   Try   r+   rz   r{   r|   r}   nsr~   r   r   r   r   r   r   	df1_mixed)r   r-   r.   r/   r   r0   r2   r	   as_unitr   r   r)   r   r   r   r   r   ra   rT   s     r#   test_table_mixed_dtypesrG    s   	binn$$W---d6ll##11uRyy11122
 
 
B
 BvJBvJS'A+BwKS'A+BwKBwKBvJBvJ ,,44T::B| ,,44T::B|
++33D99B{O
++33D99B{O&(fBF28AaC=6("#			Bb)))-..{;;R@@@@@r&   c                    d}dt          j        ddd          t          j        d          g}t          j                            ||          }t          j        ddd	          }t          |d|
          }t          |j	        |          
                    t          d                                                    }|                     d|           |                     d          }t          j        ||           |                     d|           |                     d          }t          j        ||           d S )NzSun Mon Tue Wed Thuz
2012-05-01i  r   r+   z
2014-05-01)holidaysweekmaskr   r   r   zMon Tue Wed Thu Fri Sat Sunr  rO   )r   r   r-   
datetime64r  offsetsCustomBusinessDayr   r   weekdaymapsplitrS   r   r   r   r   )ra   weekmask_egyptrI  
bday_egyptmydtdtsr   r   s           r#   test_calendar_roundtrip_issuerU    s/    +N
D!Q
l##H
 --N .  J ;tQ##D
T1:
6
6
6Cs{C  $$V,I,O,O,Q,Q%R%RSSAgq!!!!!'**F61%%%!$$$!!'**F61%%%%%r&   c           
         | }t          t          j        dt          j                  t	          dd                    }t          dt          j        d                              d          z  t          t          d	                    t          d
 t          d          D                                 }||d<   ||d<   |
                    d           t          |          dk    sJ t          j        ||d                    |
                    d           t          |          dk    sJ t          j        t           d          5  |
                    d           d d d            n# 1 swxY w Y   ||d<   ||d<   |
                    d           t          |          dk    sJ ||d<   ||d<   |
                    d           t          |          dk    sJ ||d<   ||d<   |d= |d= t          |          dk    sJ d S )Nrd   r   re   rf   rh   r   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   ztest_remove.<locals>.<listcomp>  rn   r&   r   r'   r*   rl   r+   r   z1'No object named a_nonexistent_store in the file'r   a_nonexistent_storezb/foo)r   r-   r.   ri   r   r   r/   r   r0   r2   remover3   r   r   r   r   KeyError)ra   r   tsrT   s       r#   test_remover\    sK   E	
	"BJ'''z,PR/S/S/S
 
 
B 
binn$$W---d6ll##11uRyy11122
 
 
B
 E#JE#J	LLu::????"eCj)))	LLu::???? 
K
 
 
 , , 	*+++, , , , , , , , , , , , , , , E#JE'N	LLu::????E#JE'N	LLu::???? E#JE#Jc
c
u::??????s   E//E36E3c                    t          t          j                            d                              d          t          ddd                    }|                     d|d	
           ||j        t          d          k             }| 	                    dd          }t          j        ||           | 	                    dd          }t          j        ||           | 	                    dd          }t          j        ||           d S )Nr{   )r   r{   r	  r   rC  )rg   unitrh   rT   rO   rP   20130105z!index>datetime.datetime(2013,1,5)zindex>datetime(2013,1,5))r   r-   r   r   r   r   rS   r)   r	   r   r   r   )ra   rT   r   r   s       r#   test_same_name_scopingra  4  s   	
	a  0099Rd;;;
 
 
B dBw///"(Yz2223H!!$(KLLF&(+++ !!$(KLLF&(+++!!$(BCCF&(+++++r&   c           
      R   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }d|j        _        || d	<   | d	         }t          j
        ||           d S )
Nr   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z)test_store_index_name.<locals>.<listcomp>N  rn   r&   r   r'   rq   frame)r   r-   r.   r/   r   r0   r2   r)   namer   r   )ra   rT   reconss      r#   test_store_index_namerg  J  s    	binn$$W---d6ll##11uRyy11122
 
 
B
 BHMM'7#F&"%%%%%r&   tzz
US/Pacifictable_formatc                    t          t          j        ddd          t          j        ddd          gd                              |                              |          }t          t          j        ddd          t          j        ddd          gd                              |                              |          }t          t          j        d                              dd          ||	          }|	                    |d
|            t          |d
          }t          j        ||d           t          |j        j        t                     sJ t          |j        j        t                     sJ d S )Ni  r+   r{   u   colsג)re  i  u   rowsאr   r'   rT   r   T)check_names)r   r   r8  tz_localizerE  r   r-   r.   r/   r   r   r   r   
isinstancer)   re  r   r(   )ri  r5   r^  rh  r>  idx1rT   r   s           r#   test_store_index_name_numpy_strro  W  s\   
 	WT1a  "'$1"5"56	
 	
 	
 
R	  	WT1a  "'$1"5"56	
 	
 	
 
	R 	 
29Q<<''1--s$	G	G	GB IIl\I:::
<
&
&C"ct4444cinc*****ck&,,,,,,,r&   c           
      J   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }|d         }|| d	<   | d	         }t          j        ||           d S )
Nr   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z*test_store_series_name.<locals>.<listcomp>{  rn   r&   r   r'   ru   series)	r   r-   r.   r/   r   r0   r2   r   r   )ra   rT   rr  rf  s       r#   test_store_series_namers  w  s    	binn$$W---d6ll##11uRyy11122
 
 
B
 WF$M(8$F66*****r&   c           	         t          t          j                            d                              d          t          t          d                    t          ddd                    | d	<   t          t          j	        dt          j
        
          t          dd                    }|| d	<   t          j        | d	         |           d S )Nr{   r   r   r   rd   rw   r   r'   r*   r   re   rf   rh   )r   r-   r   r   r   r   r0   r   r   r.   ri   r   r   )ra   r[  s     r#   test_overwrite_noderu    s    "
	a  0099d6ll##r<<<  M#
 

	"BJ'''z,PR/S/S/S
 
 
B M#=-r22222r&   c           	         t          t          j                            d                              d          t          t          d                    t          ddd                    }| }|                    d	|           |	                    d	          }|j
        t          j        t          |j                            k                                    sJ d S )
Nr{   r   r   r   rd   rw   r   r'   rT   )r   r-   r   r   r   r   r0   r   r   select_as_coordinatesvaluesr.   r3   r)   all)ra   rT   r   ro   s       r#   test_coordinatesrz    s    	
	a  0099d6ll##r<<<
 
 
B E	LLr 	##D))AH	#bh--000557777777r&   c                    | }t          t          d          t          d          d          }|                    d|           |                    ddg          }|j        t          j        d          k                                    sJ |                    d|          }|j	        ddd d f         }t          j        ||           |                    dd	d
g          }|j        t          j        d          dz   k                                    sJ |                    d|          }|j	        ddd d f         }t          j        ||           t          |t                    sJ d S )Nr   ru   rw   rT   zindex<3r   r   r   r{   zindex>=3zindex<=4r   )r   r2   r   rw  rx  r-   r.   ry  r   r   r   r   rm  r   )ra   r   rT   ro   r   r   s         r#   test_coordinates2r}    sZ   E	qa11	2	2B	LLr##D9+66AH	!$))+++++\\$a\((Fvac111f~H&(+++##D:z*BCCAH	!q((--/////\\$a\((Fvac111f~H&(+++ar&   c           	         | }t          t          j                            d                              d          t          t          d                    t          ddd                    }|                                	                    d	j
        
          }|                    d|ddg           |                    d|           |                    dddg          }|                    d|          }|                    d|          }t          ||gd          }t          ||gd          }||j        dk    |j        dk    z           }t#          j        ||d           d S )Nr{   r   r   r   rd   rw   r   r'   z{}_2r5  r   ru   r,  r   zA>0zB>0r+   )axisr   F)
check_freq)r   r-   r   r   r   r   r0   r   r  renamerP   r   rw  r   r
   ru   rw   r   r   )	ra   r   r   r   ro   
df1_result
df2_resultr   r   s	            r#    test_coordinates_multiple_tablesr    sV   E

	a  0099d6ll##r<<<  C
 ((**

FM

2
2C	LL3*L555	LL##EE5>::AeQ''JeQ''JZ,1555FsCjq)))HaHJN;<H&(u======r&   c           	      B   | }t          t          j                            d                              d          t          dd                    }|                    d|           |                    dd          }|t          |          j	        d	k             j
        }|j        |         }|                    d|
          }t          j        ||           |                    d|
          }t          j        ||           d}t          j        t"          |          5  |                    dt          j        t'          |          d          
           d d d            n# 1 swxY w Y   t          j        t"          |          5  |                    dt          j        t'          |          dz             
           d d d            n# 1 swxY w Y   t          j        t"          |          5  |                    dt          j        t'          |                    d	           d d d            n# 1 swxY w Y   t          j        t"          |          5  |                    dt          j        t'          |                    d	d           d d d            n# 1 swxY w Y   t          dd          }|                    dd
          }||j
                            |                   }t          j        ||           t          t          j                            d                              d                    }|                    d|           |                    dg d
          }|j        g d         }t          j        ||           dgdz  }d|d<   |                    d|
          }|j        |         }t          j        ||           |                    dd	d          }|d	d         }t          j        ||           d S )Nr{   )  r{   20000101r  rf   rh   rT   r)   r   r   zLwhere must be passed as a string, PyTablesExpr, or list-like of PyTablesExprr   ri   r   r+   )r   startrd   )r   r  stopi  zindex in selectionrd   r{   r   )r   r   r   TFr  r  )r   r-   r   r   r   r   r   select_columnr   monthr)   r=  r   r   r   r   r   r/  r.   r3   isinr   )	ra   r   rT   ro   r   r   r   r   	selections	            r#   test_coordinates_array_maskr    s   E	
	a  00;;T222
 
 
B 
LLrD'**AmA$)*0Ewu~H \\$e\,,F&(+++ \\$e\,,F&(+++ YC	y	,	,	, F FT3r77)!D!D!DEEEF F F F F F F F F F F F F F F 
y	,	,	, 9 9T3r77Q;!7!78889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 
y	,	,	, > >T3r77!3!31===> > > > > > > > > > > > > > > 
y	,	,	, G GT3r77!3!312FFFG G G G G G G G G G G G G G G :s333I\\$&:\;;F"(--	**+H&(+++ 
29((++;;GDD	E	EB	LL\\%yyy\11Fwyyy!H&(+++ FRKEE"I\\%u\--Fve}H&(+++ \\%qr\22F!B$xH&(+++++sH   $9E))E-0E-:GGG;8H??II%9J**J.1J.c                 @   t          t          j                            d                              d          t          j                            d                              d          d          }|                     d|           |                     dddd          }|j        dd	d
gf         }t          j        ||           |                     dddd          }t          |          dk    sJ |j        ddd
gf         }t          j        ||           d S )Nr{   r   r|  rT   zcolumns=['A']r   r   r  r   ru   r   (   )
r   r-   r   r   r   r   r   r   r   r3   ra   rT   r   r   s       r#   test_start_stop_tabler    s   	&&q))0044&&q))0044	
 	

 
B r"""!!$qq!IIFvacC5j!H&(+++ !!$r!KKFv;;!vbecUl#H&(+++++r&   c                     t          ddgddgd          }|                     dgd d|d           |                     ddgdd	d
          }|j        d	gddgf         }t	          j        ||           d S )Nr+   r{   )rq   rs   rq   )selectorr  r  )r  r  r   )r  r  r  rs   )r   append_to_multipleselect_as_multipler   r   r   r  s       r#   test_start_stop_multipler    s    	Aq61a&11	2	2B$$Wd++R* %    --	Vz .  F vqcE5>)*H&(+++++r&   c           
      :   | }t          t          j                            d                              d          t          j                            d                              d          dt	          dd                    }|                    d|           |                    ddd	
          }|j        dd	d d f         }t          j	        ||           |                    dd	d
          }|j        d	dd d f         }t          j	        ||           |                    ddd
          }|j        ddd d f         }t          j	        ||           |j
        }|                    d|           |                    ddd	
          }|j        dd	         }t          j        ||           |                    dd	d
          }|j        d	d         }t          j        ||           t          dt          j        d                              d          z  t          t          d                    t          d t!          d          D                                 }t          j        |j        dd	ddf<   t          j        |j        dddf<   d S )Nr{   r   r|  r	  rf   rh   rT   r   r   r  rd   r   r  r   r   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z)test_start_stop_fixed.<locals>.<listcomp>R  rn   r&   r'   r   r+   r   r  )r   r-   r   r   r   rS   r   r=  r   r   ru   r   r.   r/   r   r0   r2   r   )ra   r   rT   r   r   r   s         r#   test_start_stop_fixedr  *  s   E	&&q))0044&&q))0044	
 	
 R000
 
 
B 
IIdB\\$aa\00FwqsAAAvH&(+++\\$ab\11FwqtQQQwH&(+++ \\$br\22Fwr"uaaax H&(+++ 	A	IIc1\\#QQ\//Fvac{H68,,,\\#QR\00Fvad|H68,,, 
binn$$W---d6ll##11uRyy11122
 
 
B
 BGAaC1HBGAbD"Hr&   c           	         t          t          j                            d                              d                    }d |j        D             |_        d |j        D             |_        |                     d|d           |                    t          j
                            t          dt          	                     d
}|                     d|g          }t          j        ||j        d d |j        d d         f                    d}|                     d|g          }t          j        ||j        d d |j        d dd         f                    d S )Nr{   )2   d   c                     g | ]}|d S 3dr   r!   ro   s     r#   r$   z-test_select_filter_corner.<locals>.<listcomp>Z  s    ,,,a1		,,,r&   c                     g | ]}|d S r  r   r  s     r#   r$   z-test_select_filter_corner.<locals>.<listcomp>[  s    000Q))000r&   rd  rO   r_  zAST change in PY312)reasonr   zcolumns=df.columns[:75]K   zcolumns=df.columns[:75:2])r   r-   r   r   r   r)   r(   rS   applymarkerr   markxfailr   r,   r   r   r   r   )ra   requestrT   critr   s        r#   test_select_filter_cornerr  X  sN   	29((++;;IFF	G	GB,,28,,,BH00RZ000BJgr'222( 	 	
 	
   %D!!'D622F&"&BJssO);"<===&D!!'D622F&"&BJu1u,=)=">?????r&   c           
      V   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 t          j        fdd	 |           }t          j	        |           d S )
Nr   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z%test_path_pathlib.<locals>.<listcomp>s  rn   r&   r   r'   c                 2                         | d          S NrT   r   r   prT   s    r#   rC   z#test_path_pathlib.<locals>.<lambda>w      "))A4)(( r&   c                 "    t          | d          S NrT   r   r  s    r#   rC   z#test_path_pathlib.<locals>.<lambda>w      HQ4E4E r&   
r   r-   r.   r/   r   r0   r2   r   round_trip_pathlibr   r5   r   rT   s     @r#   test_path_pathlibr  o  s    	binn$$W---d6ll##11uRyy11122
 
 
B "((((*E*E| F "f%%%%%r&   zstart, stop))r   r{   )r+   r{   )NNc                     t          t          g d          t          g d          d          }|                    d|           |                    d| |          }t	          j        || |         |           d S )N)i2i2i2)abcdr  r*   rl   test_datasetr  )r   r   r   r   r   r   )r  r  ra   rT   r   s        r#    test_contiguous_mixed_data_tabler  |  s     
66677***++	
 	

 
B ,,,!!.D!IIF"U4Z.&11111r&   c           
      ^   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 fd}d	 }t          j        |||           }t          j	        |           d S )
Nr   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z.test_path_pathlib_hdfstore.<locals>.<listcomp>  rn   r&   r   r'   c                     t          |           5 }                    |d           d d d            d S # 1 swxY w Y   d S r  )r   r   )r   r   rT   s     r#   writerz*test_path_pathlib_hdfstore.<locals>.writer  s    d^^ 	'uIIeI&&&	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	' 	's   6::c                 t    t          |           5 }t          |d          cd d d            S # 1 swxY w Y   d S r  r   )r   r   s     r#   readerz*test_path_pathlib_hdfstore.<locals>.reader  s|    d^^ 	)uE4((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   -11r  )r5   r  r  r   rT   s       @r#   test_path_pathlib_hdfstorer    s    	binn$$W---d6ll##11uRyy11122
 
 
B' ' ' ' ') ) ) "66<@@F"f%%%%%r&   c           
      V   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 t          j        fdd	 |           }t          j	        |           d S )
Nr   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   z.test_pickle_path_localpath.<locals>.<listcomp>  rn   r&   r   r'   c                 2                         | d          S r  r  r  s    r#   rC   z,test_pickle_path_localpath.<locals>.<lambda>  r  r&   c                 "    t          | d          S r  r  r  s    r#   rC   z,test_pickle_path_localpath.<locals>.<lambda>  r  r&   r  r  s     @r#   test_pickle_path_localpathr    s    	binn$$W---d6ll##11uRyy11122
 
 
B
 "((((*E*E| F "f%%%%%r&   propindexesTFc           
      d   t          dt          j        d                              d          z  t	          t          d                    t	          d t          d          D                                 }t          |          5 }|                    d|d	g
           d d d            n# 1 swxY w Y   t          j
                    5 }t          |          5 }t          j        |                    |j        d |                     5 }|                                }t!          |          t!          |                                          k    sJ |                                D ]}|                    |          j        rc|                    |          }	|                    |          }
|
j        |	j        k    sJ | r%|
j        D ]}|j        r|	|j                 j        sJ 	 d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   c                     g | ]}d | S r   r   r    s     r#   r$   ztest_copy.<locals>.<listcomp>  rn   r&   r   r'   rT   ru   r,  )keysr  )r   r-   r.   r/   r   r0   r2   r   r   tempfileNamedTemporaryFile
contextlibclosingr  re  r  r   r   is_tablenrowsaxesr.  )r  	temp_filerT   stnew_fr   tstorer  knew_torig_tr*   s               r#   	test_copyr    sI   	binn$$W---d6ll##11uRyy11122
 
 
B 
)		 0
		$#	///0 0 0 0 0 0 0 0 0 0 0 0 0 0 0		$	&	& D%i   	DE#

5:Dk
JJ  Dzz||4yyC$6$66666 D DA((++4 
D & 1 1! 4 4!&!1!1!!4!4%|u{:::: ' D%+[ D D#$< !D+0=+C$C$C+CDD D D D D D D D D D D D D D D	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	D 	DD D D D D D D D D D D D D D D D D Dsm   B..B25B2H%0HCG6*H6G::H=G:>HH%H	H%H	H%%H),H)c                    t          ddgddgg          }d}t          j        t          |          5  |                    | dd           d d d            n# 1 swxY w Y   |                    | dd	           t          | d          }t          j        ||           |                    |          sJ |                    |          sJ d S )
Nr*   r   )r(   r  z/Columns index has to be unique for fixed formatr   rT   r  r   rO   )	r   r   r   r,   r   r   r   r   equals)r5   rT   r   others       r#   test_duplicate_column_namer    s   	C:aVH	5	5	5B
;C	z	-	-	- : :
		,D	999: : : : : : : : : : : : : : : IIlWI555\4((E"e$$$99U<<s   AA Ac                     t          t          j                            d                              d                    }t          dddd|          |_        || d	<   t          j        | d	         |           d S )
Nr{   )rd   r   )size0srd   1sexample)r  rg   r   re  r^  rT   )	r   r-   r   r   normalr   r)   r   r   )ra   r^  rT   s      r#   !test_preserve_timedeltaindex_typer    s{    	29((++222@@	A	ABBT	  BH M$--r22222r&   c                    t          t          j                            d                              d          t	          d          t	          d                    }d|j        _        |                    dd	          }|j        j        |j	        
                                z   }|                    | d
dd|d           t	          d          }t	          |          }t          | d
|           ||k    sJ d S )Nr{   )r   r   abcdABCDE)r)   r(   lettersET)r  r   rT   r*   F)r   rN   r   rQ   r)   BCDr5  )r   r-   r   r   r0   r)   re  r  r;  r(   tolistr   r   )r5   rT   rQ   	cols2loadcols2load_originals        r#    test_columns_multiindex_modifiedr    s     

	a  ''//6llW
 
 
B
 BHM	3t	,	,B8>BJ$5$5$7$77LII!     UIi\43333******r&   z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningr(   r+   r   r   r   re   r{   rf   z1 dayr  r   c                 &   t          t          j                            d                              d          |          }d}t          j        t          |          5  |                    | ddd	           d d d            d S # 1 swxY w Y   d S )
Nr{   r  r5  z-cannot have non-object label DataIndexableColr   rT   rO   Tr   rP   rQ   )	r   r-   r   r   r   r   r   r,   r   )r5   r(   rT   r   s       r#   0test_to_hdf_with_object_column_names_should_failr    s     
29((++;;GDDg	V	V	VB
9C	z	-	-	- M M
		,Dt	LLLM M M M M M M M M M M M M M M M M Ms   BB
B
r   categoryc                 @   t          t          j                            d                              d          t          ddg|                    }|                    | ddd	
           t          | dd|j        d          d          }t          |          sJ d S )Nr{   r  r*   rl   r   r5  rT   rO   Tr  z	index = [r   ]r   )
r   r-   r   r   r   r   r   r   r)   r3   )r5   r   rT   r   s       r#   /test_to_hdf_with_object_column_names_should_runr     s     

	a  0099sCj...
 
 
B IIlW4IHHHlD0JBHQK0J0J0JKKKFv;;;r&   c                     t          g dg dd          }|                     d|           |d         j        j        | d         d         j        j        k    sJ d S )N)r+   r{   r   r   )r   r   r   r   r  rT   r*   )r   rS   rx  stridesrF  s     r#   test_hdfstore_stridesr     se    	LLL99	:	:BdBc7>!]4%8%=%D%LLLLLLLr&   c                     t          dggdgt          dgd                    }|                                }|                    | d           t	          | d          }t          j        ||           d S )	Nr+   TFboolr   r'   r*   r  )r   r   r  r   r   r   r   )r5   rT   r   r   s       r#   test_store_bool_indexr  '  sx    	QC54&ugV0L0L0L	M	M	MBwwyyH IIlI$$$lC((F(F+++++r&   modelre  longnameverylongnamec                 8   t          g d          }t          g dg dd                              |t          d          }|                     d|dg           |                     dd	          }||d         |k             }t          j        ||           d S )
Nr  )
categories)re  r	  r	  r   )modelIdvaluerT   r  r,  zmodelId == model)r   r   astypeintr   r   r   r   )ra   r  modelsrT   r   r   s         r#   &test_select_categorical_string_columnsr  3  s     )M)M)MNNNF	444yyyII
 
f#..//  r<<<!!$(:;;F"Y-5()H&(+++++r&   c                     t          j        ddgddg          }t          dddgi|	          }|                    | d
           t	          | d
          }t          j        ||d           d S )N)r*   r   )rl   ylevel1level2r:  r  r+   r{   rh   testr  F)check_dtype)r   from_tuplesr   r   r   r   r   )r5   r)   rT   r   s       r#   )test_to_hdf_multiindex_string_dtype_crashr  C  s    "J
#;HhCWXXXE	GaV$E	2	2	2BIIlI'''l///F"f%888888r&   )Vr  r   r   rW   r  rY   numpyr-   r   pandas.compatr   pandasr  r   r   r   r   r   r	   r
   r   r   r   pandas._testing_testingr   pandas.api.typesr   pandas.io.pytablesr   r   r  
single_cpu
pytestmarkimportorskipr   r7   r_   rb   r   r   r   r   parametrizer   r   r   r  r  r   r2  r6  r@  rG  rU  r\  ra  rg  ro  rs  ru  rz  r}  r  r  r  r  r  r  r  r  r  r  r  r  r  r  filterwarningsint64ri   r  r   r  r  r  r  r   r&   r#   <module>r(     s                                                                     
 k$%
		X	&	&+ + + '4 '4 '4T% % %
+ + +\    B  D  #^4ccee<!$ 7#0/E4=!A.1ceeeW-=	 	
 #0/E4=!A.1ceeeW-= 	
 *%8 %8+ *%8P     B8 8 80W W W, GW#566- - 76-$' ' '@; ; ;D, , ,A A A2& & &4) ) )X, , ,,
& 
& 
& l344'7);<<- - =< 54-<
+ 
+ 
+3 3 38 8 8     (> > >.8, 8, 8,v, , ,*, , ,+ + +\@ @ @.
& 
& 
& (F(F(FGG2 2 HG2& & &&	& 	& 	& u66D D 76D@  3 3 3+ + +6 RSSq!fBH%%%sCj
+++
<++++++\13777	 	M M	 	 TSM 4"455  65M M M	, 	, 	, "F"F"FGG, , HG,9 9 9 9 9r&   