o
    Ch                     @   s$  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	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mZ d dlmZmZ ejjgZ e!dZ"dd Z#dd	 Z$d
d Z%dd Z&dd Z'd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d  Z+d!d" Z,d#d$ Z-d%d& Z.d'd( Z/ej)d)d*d+gd,d- Z0d.d/ Z1d0d1 Z2d2d3 Z3d4d5 Z4d6d7 Z5d8d9 Z6d:d; Z7d<d= Z8ej)d>dd?gej)d@d+d*gdAdB Z9dCdD Z:dEdF Z;dGdH Z<dIdJ Z=dKdL Z>dMdN Z?dOdP Z@dQdR ZAej)dSg dTdUdV ZBdWdX ZCdYdZ ZDd[d\ ZEej)d]d^d_gd`da ZFdbdc ZGddde ZHdfdg ZIejJdhej)died djgejKdkedldmgejLdkedndodpedqdodpedndodrdsgdtdu ZMej)dvddwgdxdy ZNdzd{ ZOd|d} ZPdS )~    N)
	DataFrameDatetimeIndexIndex
MultiIndexSeries	Timestampconcat
date_rangeperiod_rangetimedelta_range)_maybe_removeensure_clean_storeHDFStoreread_hdftablesc              	   C   s4  t | %}zt|}td1 sw   Y  W n	 ty"   Y nw W d    n1 s-w   Y  t | Y}t|<}tdtdd tt	dt
dtdd td	D t
dd
|d< t|dksgJ t|d tksqJ W d    n1 s{w   Y  W d    d S W d    d S 1 sw   Y  d S )Nblah皙?x         ABCDdtypec                 S      g | ]}d | qS zi- .0ir   r   u/var/www/html/myvaluetrips/my_value_trip_new/venv/lib/python3.10/site-packages/pandas/tests/io/pytables/test_store.py
<listcomp>3       z test_context.<locals>.<listcomp>r   columnsindexa   )tmensure_cleanr   
ValueErrorr   nparangereshaper   listobjectrangelentype)
setup_pathpathtblr   r   r!   test_context'   s.   


"r7   c                    st   t jdfdd  fdd}|| dd}|| dd}td	 || dd}|| dd}||ks2J ||ks8J d S )
N   c                    sd   | t | dt fdddD ]}| qW d     S 1 s)w   Y   S )Nrbc                      s     j S N)read
block_sizer   chunk_num_blocksfhr   r!   <lambda>@   s    z7test_no_track_times.<locals>.checksum.<locals>.<lambda>    )openiterupdatedigest)filenamehash_factoryr>   chunkr   r=   r!   checksum=   s   
z%test_no_track_times.<locals>.checksumc              	      sf   |  }t ddgi}t|dd}|jd|ddd |d W d     |S 1 s*w   Y   |S )Nr'   r(   wmodetableT)formatdata_columnsr&   track_times)r   r   put)tmp_pathrQ   r5   dfhdfrJ   r4   r   r!   create_h5_and_return_checksumD   s   


z:test_no_track_times.<locals>.create_h5_and_return_checksumF)rQ   Tr(   )hashlibmd5timesleep)rS   r4   rW   checksum_0_tt_falsechecksum_0_tt_truechecksum_1_tt_falsechecksum_1_tt_truer   rV   r!   test_no_track_times9   s   
r`   c                 C   s>   t | }t|g ksJ W d    d S 1 sw   Y  d S r:   )r   r/   r4   storer   r   r!   test_iter_emptyd   s   
"rc   c              	   C   s  t | }t| |  ttjdtjdtdddd|d< ttdddd	 tdD d
|d< t	dtd
d ttdtdtdd	 tdD tdd|d< t	dtd
d ttdtdtdd	 td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%< td&|d'< td(d d"dd|d)< td(d d*dd|d+< tj|j|jd*d, dgf< | }|rd ntjj}d-}tj||d. ||d/< W d    n1 sw   Y  |j|jjd0 |jt|v sJ |jt|v sJ |  W d    n	1 sw   Y  t | <}t	dtd
d ttdtdtd1d	 tdD tdd}|d/| | d/}t| t| W d    d S 1 sfw   Y  d S )2N
   r   
2020-01-01periodsr&   r'   float64c                 S   r   )i_r   r   r   r   r!   r"   r   r#   ztest_repr.<locals>.<listcomp>)r   r&   br   r   r   r   c                 S   r   r   r   r   r   r   r!   r"   w   r#   r   r$   cc                 S   r   r   r   r   r   r   r!   r"   }   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   bahc                 S   r   r   r   r   r   r   r!   r"      r#   )!r   reprinfor   r,   r-   ri   r	   r1   r   r.   r   r/   r0   r   dtdatetimenanlocr&   _consolidatepderrorsPerformanceWarningr)   assert_produces_warning_handlecreate_grouprootrG   strappend
get_storer)r4   using_infer_stringrb   rT   warningmsgsr   r   r!   	test_reprj   sj   





/

$r   c              	   C   s  t | }ttjdtjdtdddd|d< tdtdd	 tt	d
t
dtdd tdD t
dd|d< tdtdd	 tt	d
t
dtdd tdD t
dd|d< d|v saJ d|v sgJ d|vsmJ d|v ssJ d|v syJ d|vsJ d|vsJ tjtjdd* tdtdd	 tt	d
t
dtdd tdD t
dd|d< W d    n1 sw   Y  d|v sJ W d    d S 1 sw   Y  d S )Nrd   r   re   rf   rh   r'   r   r   r   r   c                 S   r   r   r   r   r   r   r!   r"      r#   z!test_contains.<locals>.<listcomp>r   r$   rk   c                 S   r   r   r   r   r   r   r!   r"      r#   zfoo/barrl   z/foo/barz/foo/bro   F)check_stacklevelc                 S   r   r   r   r   r   r   r!   r"      r#   znode()))r   r   r,   r-   ri   r	   r   r.   r   r/   r0   r1   r)   r   r   NaturalNameWarningra   r   r   r!   test_contains   s@   



"r   c              	   C   s  t | }ttjdtjdtdddd|d< tdtdd	 tt	d
t
dtdd tdD t
dd|d< ttjddtt	d
t
dtddddd}t|d |d|d d  |d|dd   |jjjjdksuJ |jjjjdksJ |jjjjdksJ t|d |d| d |dj_d}tjt|d |d W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )Nrd   r   re   rf   rh   r'   r   r   r   r   c                 S   r   r   r   r   r   r   r!   r"      r#   z#test_versioning.<locals>.<listcomp>r   r$   rk   rw   )   r   
2000-01-01r   rs   rg   freqdf1z0.15.2df2z/'NoneType' object has no attribute 'startswith'r   )r   r   r,   r-   ri   r	   r   r.   r   r/   r0   r1   randomdefault_rngstandard_normalr   r   r   r'   _v_attrspandas_versionrk   r   get_nodepytestraises	Exceptionselect)r4   rb   rT   r   r   r   r!   test_versioning   s<   




"r   zwhere, expected/first_groupsecond_groupr   r   third_groupdf3s1df4) /first_group/second_group/second_group/third_groupr   )r   r   c                 C   s  t g dt g dt g dt g dtg dtg dg dgtjddgddtjdd	gddd
}tddd}|d|d  |d|d  |d|d  |d|d  |d|d  |jdd|d  |jjdd|d d |jjdd|d d t	t
|j| dt	|ksJ |j| dD ]G\}}}||v sJ || \}}|t|ksJ |t|ksJ |D ]#}	d||	g}
||
}d |	v rt|||	  qt|||	  qqW d    d S 1 sw   Y  d S )!N)r(   rw   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walk_groups.hdfrK   rL   z/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,   arrayr   rR   r   create_arraycreate_tabler2   r/   walksetjoingetr)   assert_frame_equalassert_series_equal)r   expectedobjsrb   r5   groupsleavesexpected_groupsexpected_framesleaf
frame_pathr   r   r   r!   	test_walk   sB   




 
"r   c              
   C   s.  t | }ttjdtjdtdddd}||d< |j}t|| t	|d}t|| t
tjddttd	td
dddd}||d< |j}t|| dD ]$}d| d}tjt|d t	|| W d    n1 srw   Y  qSdD ]
}t	|d|  qzW d    d S 1 sw   Y  d S )Nrd   r   re   rf   rh   r'   rw   rd   r   r   r   rs   r   r$   rT   )drM   r5   handlecomplibz$'HDFStore' object has no attribute ''r   )rM   r5   r   r   _)r   r   r,   r-   ri   r	   r'   r)   r   getattrr   r   r   r   r   r/   rT   r   r   r   AttributeError)r4   rb   r   resultrT   xr   r   r   r!   test_getattr+  s6   


"r   c                 C   s   t dtjdgdtjtjgdtdd}t ddgdtjgdtdd}| | }|j|dd	d
 t|d}t|| | | }|j|dd	dd t|d}t|| | | }|j|dd	dd t|d}t|| d S )N               @      ?)col1col2abcrh   acrT   rN   keyrO   F)r   rO   dropnaT)r   r,   r   r/   to_hdfr   r)   r   )rS   r4   df_with_missingdf_without_missingr5   reloadedr   r   r!   test_store_dropnaL  s&   


r   c                 C   sh   | | }d}t ddddddddg}tjt|d ||d W d    d S 1 s-w   Y  d S )NztStarting with pandas version 3.0 all arguments of to_hdf except for the argument 'path_or_buf' will be keyword-only.r(   rw   r~   )rq   rs   Cr   r   )r   r)   r   FutureWarningr   )rS   r4   r5   r   rT   r   r   r!   test_keyword_deprecationg  s   "r   c                 C   s   | | }t g dg dtg dtddddd}|j|d	d
ddid |  jddd}|j|d	dd
d t	t
|d	t||g |d j|dd
ddid |d j|ddd
d t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   )rq   rs   r   Dr   ss3rN   r&   r   )r   rO   min_itemsizelonger)r   T)r   r   rO   rs   ss4)r   r   r	   	set_indexr   copyreset_indexassignr)   r   r   r   r   )rS   r4   r5   rT   r   r   r   r!   test_to_hdf_with_min_itemsizeu  s"   

&r  rO   fixedrN   c           
      C   s   dg}t |t|dddd}| | }|j|d|dd t|ddd}|r-tjd	tjd
}nd}t |t||d|d}	t	||	 d S )Nu   foor0   r   )r&   r   rN   surrogatepass)r   rO   r   )r   python)storagena_value)
r   r   r   r   r   StringDtyper,   r   r)   r   )
rS   rO   r4   r   dataserr5   r   r   r   r   r   r!   test_to_hdf_errors  s   r  c              	      s~  t |   fdd}ttjddttdtdddd	d
}d|d< d|d<  j	d|ddgd |ddj
du s>J |ddj
du sHJ |ddj
du sRJ  j	d|dgddgd |ddj
du shJ |ddj
du srJ |ddj
du s|J t d  d| d}tjt|d  d W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )Nc                       t  | jj|S r:   r   r   rN   colstcolumnrb   r   r!   col     z$test_create_table_index.<locals>.colrw   r   r   r   rd   rs   r   r$   rm   stringro   string2r?   rP   r&   Tf2)r&   rP   Fz1cannot create table index on a Fixed format storer   )r   r   r,   r   r   r   r   r/   r	   r   
is_indexedr   rR   r   r   	TypeErrorcreate_table_indexr4   r  rT   r   r   r  r!   test_create_table_index  s4   


"r  c              	      sB  t |   fdd}ttjddttdtdddd	d
}d|d< d|d<  j	d|dgd |ddj
du s=J |ddj
du sGJ d}tjt|d |ddj
 W d    n1 saw   Y  d}tjt|d  jddgd W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )Nc                    r  r:   r  r  r  r   r!   r    r  z:test_create_table_index_data_columns_argument.<locals>.colrw   r   r   r   rd   rs   r   r$   rm   r  ro   r  r?   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   r   r/   r	   r   r  r   r   r   r  r  r   r  r!   -test_create_table_index_data_columns_argument  s0   

"r   c                 C   s   t jtdddtdgddgd}tdg di|d	}t| (}|jd
|dd |jd
dd}|jdgd d f }t	
|| W d    d S 1 sJw   Y  d S )Nr   r   rf   dateid)namesr'   )r   g333333?g?gffffff?g      ?rh   rT   Tr  zid == 1r   r(   )r   from_arraysr	   r1   r   r   r   r   ilocr)   r   )r4   idxrT   rb   actualr   r   r   r!   test_mi_data_columns  s   
"r(  c                 C   s8  t dtdd ttdtdd td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< | }t| }|d!| t|d!| W d    d S 1 sw   Y  d S )"Nr   r   r   r   c                 S   r   r   r   r   r   r   r!   r"     r#   z+test_table_mixed_dtypes.<locals>.<listcomp>r   r$   rm   rn   ro   rp   rq   r   rr   rs   rt   Tru   r(   rv   rw   rx   ry   nsrz   r{   r|   r}   r   r~   r   	df1_mixed)r   r,   r-   r.   r   r/   r1   r   as_unitr   r   r&   r   r   r   r)   r   r   r4   rT   rb   r   r   r!   test_table_mixed_dtypes  s,   

"r-  c           	      C   s   d}dt dddtdg}tjj||d}t ddd	}t|d|d
}t|j	|
td }t| +}|d| |d}t|| |d| |d}t|| W d    d S 1 sdw   Y  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  rN   )r   r   r,   
datetime64r   offsetsCustomBusinessDayr	   r   weekdaymapsplitr   rR   r   r)   r   r   )	r4   weekmask_egyptr.  
bday_egyptmydtdtsr   rb   r   r   r   r!   test_calendar_roundtrip_issue  s&   


"r:  c              	   C   s  t | }ttjdtjdtdddd}tdtdd tt	d	td
d t
dD d}||d< ||d< t|d t|dksFJ t||d  t|d t|dks[J tjtdd |d W d    n1 srw   Y  ||d< ||d< t|d t|d t|dksJ ||d< ||d< t|d t|dksJ ||d< ||d< |d= |d= t|dksJ W d    d S 1 sw   Y  d S )Nrd   r   re   rf   rh   r   r   r   r   c                 S   r   r   r   r   r   r   r!   r"   0  r#   ztest_remove.<locals>.<listcomp>r   r$   r'   rk   r(   r   z1'No object named a_nonexistent_store in the file'r   a_nonexistent_storezb/foorm   )r   r   r,   r-   ri   r	   r   r.   r   r/   r1   r   r2   r)   r   r   r   KeyErrorremove)r4   rb   tsrT   r   r   r!   test_remove(  sH   






"r?  c                 C   s   t | O}ttjddtdddd}|jd|dd	 ||jt	d
k }|
dd}t|| |
dd}t|| |
dd}t|| W d    d S 1 sVw   Y  d S )Nrw   )r   rw   r   r   rf   rh   rT   rN   rO   20130105z!index>datetime.datetime(2013,1,5)zindex>datetime(2013,1,5))r   r   r,   r   r   r   r	   rR   r&   r   r   r)   r   )r4   rb   rT   r   r   r   r   r!   test_same_name_scopingU  s   

"rB  c                 C   s   t dtdd ttdtdd tdD d}d	|j_t	| }||d
< |d
 }t
|| W d    d S 1 s>w   Y  d S )Nr   r   r   r   c                 S   r   r   r   r   r   r   r!   r"   p  r#   z)test_store_index_name.<locals>.<listcomp>r   r$   rm   frame)r   r,   r-   r.   r   r/   r1   r&   namer   r)   r   )r4   rT   rb   reconsr   r   r!   test_store_index_namel     

"rF  tzz
US/Pacifictable_formatc           
      C   s   t tdddtdddgdd|}t tdddtdddgdd||}ttddd||d	}| | }|j	|d
|d t
|d
}	tj||	dd t|	jjts]J t|	jjtsfJ d S )Ni  r(   rw   u   colsג)rD  i  u   rowsאr   r$   rT   r   T)check_names)r   r   r!  tz_localizer+  r   r,   r-   r.   r   r   r)   r   
isinstancer&   rD  r   r%   )
rS   rI  r4   unitrH  r&  idx1rT   r5   r   r   r   r!   test_store_index_name_numpy_strz  s(   
rO  c                 C   s   t dtdd ttdtdd tdD d}|d	 }t| }||d
< |d
 }t	|| W d    d S 1 s>w   Y  d S )Nr   r   r   r   c                 S   r   r   r   r   r   r   r!   r"     r#   z*test_store_series_name.<locals>.<listcomp>r   r$   rq   series)
r   r,   r-   r.   r   r/   r1   r   r)   r   )r4   rT   rP  rb   rE  r   r   r!   test_store_series_name  rG  rQ  c              	   C   s   t | >}ttjddttdtddddd|d	< t	tj
dtjd
tdddd}||d	< t|d	 | W d    d S 1 sEw   Y  d S )Nrw   r   r   r   rd   rs   r   r$   r'   r   re   rf   rh   )r   r   r,   r   r   r   r   r/   r	   r   r-   ri   r)   r   )r4   rb   r>  r   r   r!   test_overwrite_node  s   


"rR  c              	   C   s:  t tjddttdtddddd}t| }t	|d	 |
d	| |d	}|jtt|jk s<J t	|d	 t td
td
d}|
d	| |d	dg}|jtdk seJ |jd	|d}|jddd d f }t|| |d	ddg}|jtdd k sJ |jd	|d}|jddd d f }t|| t|tsJ t	|d t	|d t tjddttdtddddd}| jdjd}|j
d|ddgd |
d| |dddg}|d|}|d|}	t||	gdd}t||gdd}||jdk|jdk@  }tj||dd W d    n	1 s/w   Y  t| Y}t tjddtd d!d"d#}|
d	| |d	d$}|t|jd
k j}
|j |
 }|jd	|
d}t|| |jd	|
d}t|| d%}t!j"t#|d& |jd	tjt|d'd(d W d    n	1 sw   Y  t!j"t#|d& |jd	tt|d d W d    n	1 sw   Y  t!j"t#|d& |jd	tt|d
d) W d    n	1 sw   Y  t!j"t#|d& |jd	tt|d
dd* W d    n	1 sw   Y  td d+d"}|jd	d,d}||j$| }t|| t tjdd-}|
d| |jdg d.d}|j g d. }t|| d/gd }
d|
d0< |jd|
d}|j|
 }t|| |jdd
dd1}|d
d }t|| W d    d S 1 sw   Y  d S )2Nrw   r   r   r   rd   rs   r   r$   rT   r   rq   rs   zindex<3r~   r   r   zindex>=3zindex<=4r   r   r   z{}_2r  rq   r  zA>0zB>0r(   )axisF)
check_freq)  rw   20000101rV  rf   rh   r&   zLwhere must be passed as a string, PyTablesExpr, or list-like of PyTablesExprr   ri   r   )r   start)r   rX  stopi  zindex in selectionrd   rw   )r   r~   r   TrX  rY  )%r   r,   r   r   r   r   r/   r	   r   r   r   select_as_coordinatesvaluesr-   r2   r&   allr1   r   r   r)   r   rL  r   renamerO   r   rq   rs   select_columnr   monthr%  r   r   r  isin)r4   rT   rb   rl   r   r   r   r   
df1_result
df2_resultr   r   	selectionr   r   r!   test_coordinates  s   






2



$rg  c                 C   s   t | ^}ttjddtjddd}|d| |jddddd}|jdd	d
gf }t	|| |jddddd}t
|dksJJ |jddd
gf }t	|| W d    d S 1 sew   Y  d S )Nrw   r   rS  rT   zcolumns=['A']r   r   r\  r   rq   r   (   )r   r   r,   r   r   r   r   r   r)   r   r2   r4   rb   rT   r   r   r   r   r!   test_start_stop_table*  s   
"rj  c                 C   s   t | ;}tddgddgd}|jdgd d|dd |jddgdd	dd
}|jd	gddgf }t|| W d    d S 1 sBw   Y  d S )Nr(   rw   )rm   ro   rm   )selectorr
  rk  )rk  r
  r   )rk  rX  rY  ro   )r   r   append_to_multipleselect_as_multipler   r)   r   ri  r   r   r!   test_start_stop_multiple@  s   
"rn  c                 C   s  t | }ttjddtjdddtdddd}|d| |jddd	d
}|jdd	d d f }t	
|| |jdd	dd
}|jd	dd d f }t	
|| |jdddd
}|jddd d f }t	
|| |j}|d| |jddd	d
}|jdd	 }t	|| |jdd	dd
}|jd	d }t	|| tdtdd ttdtdd tdD d}tj|jdd	ddf< tj|jdddf< W d    d S 1 sw   Y  d S )Nrw   r   rS  r   rf   rh   rT   r   r   r\  rd   r   rh  r   r   r   r   r   c                 S   r   r   r   r   r   r   r!   r"   w  r#   z)test_start_stop_fixed.<locals>.<listcomp>r$   r~   r(   r   r[  )r   r   r,   r   r   r	   rR   r   r%  r)   r   rq   r   r-   r.   r   r/   r1   r   )r4   rb   rT   r   r   r   r   r   r!   test_start_stop_fixedO  sB   


"ro  c              
   C   s   t tjdd}dd |jD |_dd |jD |_t| H}|jd|dd d	}|	d|g}t
||jd d |jd d
 f  d}|	d|g}t
||jd d |jd d
d f  W d    d S 1 slw   Y  d S )Nrw   )2   d   c                 S      g | ]}|d qS 3dr   r   rl   r   r   r!   r"         z-test_select_filter_corner.<locals>.<listcomp>c                 S   rr  rs  r   ru  r   r   r!   r"     rv  rC  rN   r@  zcolumns=df.columns[:75]K   zcolumns=df.columns[:75:2])r   r,   r   r   r   r&   r%   r   rR   r   r)   r   r   )r4   rT   rb   critr   r   r   r!   test_select_filter_corner}  s   
$("ry  c                     `   t dtdd ttdtdd tdD d t fd	d
dd
 } t	 |  d S )Nr   r   r   r   c                 S   r   r   r   r   r   r   r!   r"     r#   z%test_path_pathlib.<locals>.<listcomp>r   r$   c                        j | ddS NrT   r   r   prT   r   r!   rA         z#test_path_pathlib.<locals>.<lambda>c                 S   
   t | dS NrT   r   r  r   r   r!   rA        
 
r   r,   r-   r.   r   r/   r1   r)   round_trip_pathlibr   r   r   r  r!   test_path_pathlib  s   
r  zstart, stop))r   rw   )r(   rw   )NNc                 C   s|   t tg dtg dd}t|!}|d| |jd| |d}t|| | | W d    d S 1 s7w   Y  d S )N)i2i2i2)abcdr  r'   rk   test_datasetr\  )r   r   r   r   r   r)   r   )rX  rY  r4   rT   rb   r   r   r   r!    test_contiguous_mixed_data_table  s   


"r  c                     h   t dtdd ttdtdd tdD d  fd	d
} dd }t| |}t	 | d S )Nr   r   r   r   c                 S   r   r   r   r   r   r   r!   r"     r#   z.test_path_pathlib_hdfstore.<locals>.<listcomp>r   r$   c                    <   t | } j|dd W d    d S 1 sw   Y  d S r|  r   r   r5   rb   r  r   r!   writer     
"z*test_path_pathlib_hdfstore.<locals>.writerc                 S   6   t | }t|dW  d    S 1 sw   Y  d S r  r   r  r   r   r!   reader     
$z*test_path_pathlib_hdfstore.<locals>.readerr  r  r  r   r   r  r!   test_path_pathlib_hdfstore     
r  c                     rz  )Nr   r   r   r   c                 S   r   r   r   r   r   r   r!   r"     r#   z.test_pickle_path_localpath.<locals>.<listcomp>r   r$   c                    r{  r|  r~  r  r  r   r!   rA     r  z,test_pickle_path_localpath.<locals>.<lambda>c                 S   r  r  r  r  r   r   r!   rA     r  r  r  r   r  r!   test_pickle_path_localpath  s   
r  c                     r  )Nr   r   r   r   c                 S   r   r   r   r   r   r   r!   r"     r#   z0test_path_localpath_hdfstore.<locals>.<listcomp>r   r$   c                    r  r|  r  r  r  r   r!   r    r  z,test_path_localpath_hdfstore.<locals>.writerc                 S   r  r  r   r  r   r   r!   r    r  z,test_path_localpath_hdfstore.<locals>.reader)
r   r,   r-   r.   r   r/   r1   r)   round_trip_localpathr   r  r   r  r!   test_path_localpath_hdfstore  r  r  propindexesTFc                 C   s  t dtdd ttdtdd tdD d}t }t	|}|j
d	|d
gd W d    n1 s9w   Y  t z}t	|f}t|j|jd | dJ}| }t|t| kseJ | D ]-}||jr||}	||}
|
j|	jksJ | r|
jD ]}|jr|	|j jsJ qqiW d    n1 sw   Y  W d    n1 sw   Y  W d    n1 sw   Y  W d    d S W d    d S 1 sw   Y  d S )Nr   r   r   r   c                 S   r   r   r   r   r   r   r!   r"     r#   ztest_copy.<locals>.<listcomp>r   r$   rT   rq   r  )keysr  )r   r,   r-   r.   r   r/   r1   r)   r*   r   r   tempfileNamedTemporaryFile
contextlibclosingr   rD  r  r   r   is_tablenrowsaxesr  )r  rT   r5   stnew_frb   tstorer  knew_torig_tr'   r   r   r!   	test_copy  sH   







"r  c                 C   s   t ddgddggd}| | }d}tjt|d |j|ddd W d    n1 s+w   Y  |j|dd	d t|d}t|| ||sJJ ||sQJ d S )
Nr'   r   )r%   r
  z/Columns index has to be unique for fixed formatr   rT   r  r   rN   )	r   r   r   r+   r   r   r)   r   equals)rS   r4   rT   r5   r   otherr   r   r!   test_duplicate_column_name   s   
r  c                 C   sp   t tjdjdd}tddddd|_t| }||d	< t	|d	 | W d    d S 1 s1w   Y  d S )
Nrw   )rd   r   )size0srd   1sexample)rX  rg   r   rD  rT   )
r   r,   r   r   normalr   r&   r   r)   r   r,  r   r   r!   !test_preserve_timedeltaindex_type  s   
"r  c                 C   s   t tjddtdtdd}d|j_|jddd	}|jj|j	
  }| | }|j|d
dd|dd td}t|}t|d
|d ||ksJJ d S )Nrw   )r   r   abcdABCDE)r&   r%   lettersET)r  r   rT   r'   F)r   rM   r   rP   r&   BCDr  )r   r,   r   r   r/   r&   rD  r   r#  r%   tolistr   r   )rS   r4   rT   rP   r5   	cols2loadcols2load_originalr   r   r!    test_columns_multiindex_modified  s*   r  z3ignore:PeriodDtype\[B\] is deprecated:FutureWarningr%   r(   r   r   r   re   rw   rf   z1 dayr   r   c                 C   sl   t tjdd|d}| | }d}tjt|d |j|dddd	 W d    d S 1 s/w   Y  d S )
Nrw   rZ  r  z-cannot have non-object label DataIndexableColr   rT   rN   Tr   rO   rP   )	r   r,   r   r   r   r   r   r+   r   )rS   r4   r%   rT   r5   r   r   r   r!   0test_to_hdf_with_object_column_names_should_fail6  s   "r  r   categoryc                 C   sl   t tjddtddg|dd}| | }|j|ddd	d
 t|dd|jd  dd}t	|s4J d S )Nrw   rZ  r'   rk   r   r  rT   rN   Tr  z	index = [r   ]r   )
r   r,   r   r   r   r   r   r   r&   r2   )rS   r4   r   rT   r5   r   r   r   r!   /test_to_hdf_with_object_column_names_should_runJ  s   r  c                 C   sp   t g dg dd}t| }|d| |d jj|d d jjks&J W d    d S 1 s1w   Y  d S )N)r(   rw   r~   r   )r   r   r   r   r  rT   r'   )r   r   rR   r^  stridesr,  r   r   r!   test_hdfstore_stridesW  s
   
""r  c                 C   sV   t dggdgtdgddd}| }| | }|j|dd t|d}t|| d S )	Nr(   TFboolr   r$   r'   r}  )r   r   r   r   r   r)   r   )rS   r4   rT   r   r5   r   r   r   r!   test_store_bool_index_  s   
r  )Qr  r   r   rX   r  rZ   numpyr,   r   pandasr   r   r   r   r   r   r   r   r	   r
   r   pandas._testing_testingr)   pandas.tests.io.pytables.commonr   r   pandas.io.pytablesr   r   mark
single_cpu
pytestmarkimportorskipr   r7   r`   rc   r   r   r   parametrizer   r   r   r   r   r  r  r  r   r(  r-  r:  r?  rB  rF  rO  rQ  rR  rg  rj  rn  ro  ry  r  r  r  r  r  r  r  r  r  filterwarningsint64ri   r  r  r  r  r   r   r   r!   <module>   s    0

+=#$



(!
!"-v.

!




	
