
    Oh,                        d dl Z d dl mZ d dlZd dlZd dlZd dlmZ d dlm	c m
Z d dlZd dlmZmZmZmZmZmZmZ d dlmZmZ ej2                  j4                  gZ ej8                  d      Zej2                  j=                  d      d        Zd	 Z d
 Z!d Z"d Z#d Z$d Z%d Z&d Z'd Z(d Z)ej2                  jU                  dg d      d        Z+d Z,ejZ                  d        Z.d Z/d Z0d Z1d Z2d Z3d Z4y)    N)	timedelta)	Timestamp)	DataFrameIndexSeries_testingconcat
date_rangeread_hdf)_maybe_removeensure_clean_storetablesz!ignore::tables.NaturalNameWarningc                 n   t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d            t        ddd            }t        |d	       |j                  d	|d d
        |j                  d	|d
d         t        j                  |d	   |       t        |d       |j                  d|d d
 d       |j                  d|d
d         t        j                  |d   |       t        |d       |j                  d|d d
        |j                  d|d
d         t        j                  |d   |       t        |d       |j                  d|d d
        |j                  d|d
d         t        j                  |d   |       t        ddgddgddgddgg      }d|d<   t        j                  |j                  d<   t        |d       |j                  d|       t        j                  |d   |       t        t!        t        j                  j	                  d      j#                  ddd      t        j$                        t!        t        j                  j	                  d      j#                  ddd      t        j&                        t!        t        j                  j	                  d      j#                  ddd      t        j(                        t!        g dt        j*                        d t        j,                  d      !      }t        |d"       |j                  d"|       t        j                  |d"   |d#$       t        |d"       |j                  d"|g d%&       t        j                  |d"   |d#$       d d d        y # 1 sw Y   y xY w)'N   )      ABCD
2000-01-01r   Bperiodsfreqcolumnsindexdf1
   df2table)formatdf3z/df3z/df3 foozdf3 foo   r   )datatestingmixed_column)r   r%   df      )highsizedtypei  i   @)l           l          @l            l            l            )u08u16u32u64r   uintsTcheck_index_type)r-   r.   r/   data_columns)r   r   nprandomdefault_rngstandard_normalr   listr
   r   appendtmassert_frame_equalputnanlocr   integersuint8uint16uint32uint64arange)
setup_pathstorer&   	uint_datas       l/var/www/html/diagnosisapp-backend/venv/lib/python3.12/site-packages/pandas/tests/io/pytables/test_append.pytest_appendrL      s.   	J	' DP5 II!!!$44W=$v,'\2C@

 	eU#UBsG$UBrsG$
eElB/eU#		%CR	1UBrsG$
eElB/eU#VRW%VRW%
eElB/ 	eZ(ZCR)ZBC)
eI.3 aVaVaVaV<=&>$&FF !eT"T2
eDk2. II))!,55ac5J(( II))!,55ae!5L)) II))!,55ae!5L)) 7))$ ))A,'
	* 	eW%Wi(
eGni$O 	eW%Wi6KL
eGni$OIDP DP DPs   NN++N4c           
         t        |       5 }t        t        d      t        j                  t        d      D cg c]  }d| 	 c}      }t        t        j
                  dt        j                        t        dd            }t        t        j
                  d	            }|j                  d
|       |d
   }t        j                  ||       |j                  J |j                  d|       |d   }t        j                  ||       |j                  J d|_
        |j                  d|       |d   }t        j                  ||       |j                  |j                  k(  sJ ||dkD     }|j                  dd      }t        j                  ||       ||dkD  |j                  dk  z     }|j                  dd      }t        j                  ||d       t        t        j                  j                  d      j!                  d      dg      }t        j
                  t#        |            |d<   d|d<   d|j$                  dddf<   |j'                  ddgd       |j)                  d      }	|	j                  j+                  d      |	_        |j                  d |	       t        j                  |d    |	d       d d d        y c c}w # 1 sw Y   y xY w)!Nr   i_)r,   r   r   r+   z
2020-01-01r   r1   d   sstsfoons<   zfoo>60F   Z   zfoo>70 and index<90Tr3   r   )r(   r"   Ar   r   Cbar   r(   inplace)future_stackmi)r   r   ranger7   float64rG   r
   r<   r=   assert_series_equalnameselectr   r   r8   r9   r:   lenrA   	set_indexstack	droplevel)
rH   rI   irQ   rR   rT   resultexpectedr`   ss
             rK   test_append_seriesrn   h   su   	J	' +F5E"IRZZ%PR)7TQ"QC7TUIIb

+:lTV3W
 BIIcN#T2t
vr*{{"""T2t
vr*{{"""T2t
vr*{{bgg%%% b2g;dH-
vx0 rBw288b=12d$9:
vx$G ryy,,Q/??GRUQVW))CG$33 qsCx
c3Z.HH$H'''##A&T1
uT{AEW+F +F7T+F +Fs   ,KKI?KKKc                    t        |       5 }t        t        t        j                  j                  d      j                  d            j                  d      t        j                  j                  d      j                  d      t        j                  j                  d      j                  d      ddt        d      j                  d      t        d      j                  d      d	t        j                  d      
      }t        |d       t        j                  |j                  ddg df<   |j                  d|d d        |j                  d|dd         t        j                   |d   |d       |j#                         }t        j                  |d<   t        |d       |j                  d|d d        |j                  d|dd         t        j                   |d   |d       |j#                         }t        j                  |d<   t        |d       |j                  d|d d        |j                  d|dd         t        j                   |d   |d       |j#                         }t        j                  |d<   t        |d       |j                  d|d d        |j                  d|dd         t        j                   |d   |d       d d d        y # 1 sw Y   y xY w)Nr   r   int32rS   r[   
2001-01-01rT   
2001-01-02)rX   A1A2r   rZ   DEr1   r   r      )rs   r   ru   rv   r   Tr3   rs   rt   r   rv   r!   )r   r   r   r7   r8   r9   r:   astyper   as_unitrG   r   r@   rA   r<   r=   r>   copy)rH   rI   r&   r   r   r!   s         rK   test_append_some_nansr{      sf   	J	' ,H5BII11!4DDRHIPP ii++A.>>rBii++A.>>rB|,44T:|,44T:
 ))B-
 	eU#.0ffqt**+UBsG$UBrsG$
eElBF ggiFFD	eU#UCH%UCH%
eElC$G ggiFFD	eU#UCH%UCH%
eElC$G ggi66CeU#UCH%UCH%
eElC$GY,H ,H ,Hs   KKK#c                 l
   t        |       5 }t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      dt        j                  d            }t        j                  |j                  ddd d f<   t        |d       |j                  d|d d d	
       |j                  d|dd  d	
       t        j                  |d   |dd  d	       t        |d       |j                  d|d d d
       |j                  d|dd  d
       t        j                  |d   |d	       t        j                  dd      5  t        |d       |j                  d|d d        |j                  d|dd         t        j                  |d   |       d d d        t        j                  dd	      5  t        |d       |j                  d|d d        |j                  d|dd         t        j                  |d   |dd         t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      dddt        j                  d            }t        j                  |j                  ddd d f<   t        |d       |j                  d|d d d	
       |j                  d|dd  d	
       |d   }|}|r|dd  }t        j                  ||d	       t        |d       |j                  d|d d d
       |j                  d|dd  d
       t        j                  |d   |d	       t        t        j                  j	                  d      j                  d      t        j                  j	                  d      j                  d      ddt        d      j!                  d      t        d      j!                  d      dt        j                  d            }t        j                  |j                  ddd d f<   t        |d       |j                  d|d d d	
       |j                  d|dd  d	
       t        j                  |d   |d	       t        |d       |j                  d|d d d
       |j                  d|dd  d
       t        j                  |d   |d	       d d d        d d d        y # 1 sw Y   UxY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   )rs   rt   r1   r   rw   r&   r   T)dropnar3   r   Fio.hdf.dropna_tabler!   df4rS   r[   )rs   rt   r   rZ   rq   rT   rr   )rs   rt   r   rZ   ru   rv   )r   r   r7   r8   r9   r:   rG   r@   rA   r   r<   r=   r>   pdoption_contextr   ry   )rH   using_infer_stringrI   r&   rk   rl   s         rK   test_append_all_nansr      s   	J	' XK5ii++A.>>rBii++A.>>rB ))B-
 &&qtQw 	eT"T2cr740T2bc740
eDk2bc7TJ 	eU#UBsGE2UBrsGE2
eElBF 4e< 	4%'LL3B(LL23(!!%,3		4 4d; ;	K%'LL3B(LL23(!!%,238 ))//2BB2F))//2BB2F	 iimB !ffBFF1R47O%&LLr#2wtL4LLr"#wtL44[FH! $BC=!!&(TJ%'LL3BL6LL23L6!!%,TJ ))//2BB2F))//2BB2F"<088>"<088> iim
B !ffBFF1R47O%&LLr#2wtL4LLr"#wtL4!!%+rDI%'LL3BL6LL23L6!!%,TJw;	K;XK XK.	4 	4;	K ;	K;XK XKs>   E"T*.AT>T*L$T T*T	T*T'	#T**T3c           
         t        |       5 }t        t        j                  j	                  d      j                  d      t        t        d            t        ddd            }|j                  j                  d       |_	        t        |d	       |j                  d	|j                  d d d df   d
g       |j                  d	|j                  d d dd f          t        j                  |d	   |       |j!                  d	d      }|j#                  dg      }t        j                  ||       |j!                  d	d      }|j#                  dg|j                  dd       }t        j                  ||       t%        j&                  d      }t)        j*                  t,        |      5  |j!                  d	d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   r   r   r   )axes	columns=ArX   rY   )r   zindex=df.index[0:4]r   r   zOpassing a filterable condition to a non-table indexer [Filter: Not Initialized]matchzcolumns=A and index>df.index[4])r   r   r7   r8   r9   r:   r   r;   r
   r   
_with_freqr   r<   ilocr=   r>   re   reindexreescapepytestraises	TypeError)rH   rI   r&   rk   rl   msgs         rK   !test_append_frame_column_orientedr   #  s   	J	' C5II!!!$44W=$v,'\2C@

 88&&t,eU#UBGGArrEN)=UBGGAqrEN+
eElB/e[1::se:,
h/ e%IJ::se288Aa=:A
h/ ii(
 ]]9C0 	CLL AB	C9C C8	C 	C9C Cs$   FG+G>GG	GG$c                    t        |       5 }t        d      D ]  }t        t        j                  j                  d      j                  d      t        d            }t        d      |d<   |dxx   |dz  z  cc<   t        dgt        |      z  d	      |d<   t        dgt        |      z  d
	      |d
<   |dz  dk(  r |d= t        dgt        |      z  d	      |d<   |dz  dk(  r|j                  d      }||d<   |j                  dd       |j                  d|        	 d d d        t        |       5 }t        t        j                  j                  d      j                  d      t        d      d      }t        dgt        |      z  d	      |d<   t        dgt        |      z  d
	      |d
<   |j                  d|       t        dgt        |      z  d
	      |d<   t        j                  d      }t        j                   t"        |      5  |j                  d|       d d d        t        dgt        |      z  d	      |d<   t        j                  d      }t        j                   t"        |      5  |j                  d|       d d d        d d d        y # 1 sw Y   ~xY w# 1 sw Y   xY w# 1 sw Y   +xY w# 1 sw Y   y xY w)Nr   r   )r   r   ABrY   r   r"   int64r+   int16r   r\   rX   Tr]   r&   rb   )r   r,   int16_2zCcannot match existing table structure for [int16] on appending datar         ?float_3zAcannot match existing table structure for [A,B] on appending data)r   ra   r   r7   r8   r9   r:   r;   r   rf   poprg   r<   r   r   r   r   
ValueError)rH   rI   rj   r&   ar   s         rK   )test_append_with_different_block_orderingr   D  s~   	J	' #5r 	#A		%%a(88A4PT:B  )BwKwK1r6!K !s2wg>BwK !s2wg>BwK1uzwK$aS3r7]'B71uzFF3K3LL$L/LLr"%	##. 
J	' #5II!!!$44W=J

 aS3r7]':7aS3r7]':7T2 sSW}G<9iiQ
 ]]:S1 	#LLr"	# us2wi@9iiO
 ]]:S1 	#LLr"	#/# #/# #L	# 	#	# 	#/# #sJ   DJ!8CKJ.(AK=J:K!J+.J7	3K:K	?KKc           
         t        |       5 fd}t        ddgddgg      }j                  d|       t        j                  j                  d      |        |ddd       t        d	d
gddgg      }j                  d|       t        ||g      }t        j                  j                  d      |        |ddd       t        ddgddgg      }j                  d|ddi       t        j                  j                  d      |        |ddd       j                  d|       t        d	dgddgg      }d}t        j                  t        |      5  j                  d|       d d d        t        g dg dt        g d      t        dd      d      j                  d      }j                  d|d   d d!i       t        j                  j                  d      |d          j                  d"|d   d#d d!i$       t        j                  j                  d"      |d          j                  d%|d&d d'i(       |j                         j!                         j#                  d)*      j                  d      }j                  d%|       t        j                  j                  d%      t        ||g             j                  d+|d   d&d d'i(       j                  d+|d          t        j                  j                  d+      t        |d   |d   g             t%        d,       t        t&        j(                  j+                  d-      j-                  d.      t        t/        d/            t        d0d1d2      3      }d4|d5<   t&        j0                  |j2                  |j4                  d6d! d5f<   d7|d8<   t&        j0                  |j2                  |j4                  d!d9 d8f<   d:|d;<   t&        j0                  |j2                  |j4                  d6d  d;f<   j                  d,|       j                  d,      }t        j                  ||       d d d        t        |       5 t        d4d7d<t7        d1      =      }t%        d,       j                  d,|d>d?i        d,d>d?       j9                  d,      j:                  d>gk(  sJ t%        d,       j                  d,|dgd>d?i$        |d,d>d?       j9                  d,      j:                  dd>gk(  sJ t%        d,       j                  d,|dgdd?i$        |d,dd?        |d,d@d?       j9                  d,      j:                  dgk(  sJ t%        d,       j                  d,|d d d?       j                  d,|dd  d?       t        j                  d,   |       t        g dAd>gB      }t%        d,       t=        j>                  dC      }t        j                  t        |      5  j                  d,|dDdDdE       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ,xY w# 1 sw Y   y xY w)FNc                     t        j                  |       j                  j                  |      j                  |k(  sJ y Ngetattr
get_storerr   descriptionitemsizekeyrd   r*   rI   s      rK   	check_colz+test_append_with_strings.<locals>.check_col{  8    ((-33??FOOSWWW    {   	asdqwertyiY  dggnhebbsdfbdfbdf_bigvalues_block_1rw   |   asdqyiZ  dggnhefbdfbdf_big2values2   min_itemsizedf_new
abcdefqhijabcdefghijklmnopqrtsuvwxyzzTrying to store a string with len \[26\] in \[values_block_1\] column but\nthis column has a limit of \[15\]!\nConsider using min_itemsize to preset the sizes on these columnsr   )        r   g       @g      @g      @)r   r   r   r   r   )foo1foo2foo3foo4foo520130101r(   rO   )rX   r   rZ   ru   rZ   rQ   r   r   r   ss2Tr6   r   ss3r      )r    r   longer)rZ   ss4r&   r   r   r   r   r   r   r   rS   stringr"   r[   string2   bahstring3rX   r   r1   rX      values_block_0)rS   rS   rS   barhr   r   rY   zBmin_itemsize has the key [foo] which is not an axis or data_columnr   )rS   foobar) r   r   r<   r=   r>   re   r	   r   r   r   r   r
   rg   rc   r?   rz   reset_indexassignr   r7   r8   r9   r:   r;   r@   rA   r   ra   r   r6   r   r   )	rH   r   r&   r   rl   r   r   rk   rI   s	           @rK   test_append_with_stringsr   x  s   	J	' R*5	 k*S2C,DEFXr"
ell84b9(,b1 #w#})=>?Xs#2s)$
ell84h?(,b1 k*S2C,DEFY(B@
ell95r:)-r2 	Xr"S,/#7S1TUV 	 ]]:S1 	+LL6*	+ ..CD
A6	
 )C. 	 	T2c7'1>
u||D12c7; 	UBsG$gq\R
u||E2BsG< 			%G7A,	Gggi##%,,x,8BB3GUC 
ell5162s)3DE 			%C|	LUCH%
u||E2FBsGSX;N4OP 	eT"II!!!$44W=$v,'\2C@

 8*,&&rxx!}h&'9+-66rxx!}i'(9*,&&rxx|Y&'T2d#
fb)eR*h 
J	' #K5U/uRyA 	eT"T2S#J7$S!%22se;;; 	eT"T2SEc
K$S!%22sCj@@@ 	eT"T2SE3P$S!$(#.%22se;;; 	eT"T2bq64T2ab64
eDk2. DseTeT"iiP
 ]]:S1 	KLLrb0ILJ	KE#K #Ka	+ 	+IR* R*l	K 	KE#K #KsJ   EYY-K/Y/F/Y-Y!6Y-Y	YY!Y*	&Y--Y6c                    t        |       5 }t        dg di      }|j                  d|d d ddi       |j                  d|dd  ddi       t        j                  |j                  d      |       d d d        y # 1 sw Y   y xY w)Nx)r   bcdef r&   r"   r   )r   r   r<   r=   r>   re   )rH   rI   r&   s      rK   test_append_with_empty_stringr     s    	J	' 65?@AT2cr7#q:T2bc7#q:
ell40"56 6 6s   A'A<<Bc           
      $  	 t        |       5 	t        t        j                  j	                  d      j                  d      t        t        d            t        ddd            }d	|j                  d
|j                  j                  d      f<   t        	d       	j                  d|d d dg       	j                  d|dd         t        j                  	d   |       	j                   j"                  j$                  j&                  j(                  j*                  j,                  du sJ 	j                   j"                  j$                  j&                  j(                  j.                  j,                  du sJ 	j1                  dd      }||j.                  d
kD     }t        j                  ||       	j1                  dd      }|j3                  |j*                  dd        }||j.                  d
kD     }t        j                  ||       |j5                         }d|d<   t        j6                  |j8                  |j*                  dd df<   d|j8                  |j*                  dd df<   t        	d       	j                  d|dg       	j1                  dd      }||j:                  dk(     }t        j                  ||       	fd}d d d        t        |       5 	t        	d       	j                  ddgddi        ddd       t        	d       	j                  d|dgd        |ddd       t        	d       	j                  d|dgddi        |ddd       d d d        t        |       5 	dd<   d|d <   d!|d"<   t        	d       	j                  d|ddgdd#d$d%        ddd        |ddd#        |dd&d$       d d d        t        |       5 	j5                         }d	|j                  d
|j                  j                  d'      f<   d(|j                  d
|j                  j                  d      f<   d|d<   |j                  j                  d      }t        j6                  |j                  dd|f<   d|j                  dd|f<   d|d<   |j                  j                  d      }t        j6                  |j                  dd|f<   d|j                  d)d*|f<   t        	d       	j                  d|g d+       	j1                  dd,      }||j:                  dk(  |j<                  dk(  z  |j>                  d
kD  z  |j.                  d
k  z     }t        j                  ||d-.       	j1                  dd/      }||j:                  dk(  |j<                  d0k(  z     }t        j                  ||       d d d        t        |       5 	j5                         }d|d<   t        j6                  |j8                  |j*                  dd df<   d|j8                  |j*                  d)d1 df<   d0|d<   tA        d2      jC                  d3      |d4<   t        j6                  |j8                  |j*                  d5d g d6f<   t        	d7       	j                  d7|g d8       	j1                  d7d      }||j.                  d
kD     }t        j                  ||       	j1                  d7g d9      }||j.                  d
kD  |jD                  d
kD  z  |j:                  dk(  z     }t        j                  ||d-.       d d d        t        |       5 	t        d:d*;      }t        t        j                  j	                  d      j                  d<      |g d=>      }d|d<   t        j6                  |j8                  |j*                  dd df<   d|j8                  |j*                  d)d1 df<   |dd?g   jG                         |dd?g<   d0|d<   	j                  d7|g d@       	j1                  d7d      }||j.                  d
kD     }t        j                  ||       	j1                  d7g dA      }||j.                  d
kD  |jD                  d
kD  z  |j:                  dk(  z     }t        j                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   lxY w# 1 sw Y   xY w# 1 sw Y   &xY w# 1 sw Y   xY w# 1 sw Y   y xY w)BNr   r   r   r   r   r   r   r   r   r   r&   r5   TB>0zB>0 and index>df.index[3]r   r1   rS   r   r"   r[   r(   r   zstring='foo'c                     t        j                  |       j                  j                  |      j                  |k(  sJ y r   r   r   s      rK   r   z0test_append_with_data_columns.<locals>.check_col$  r   r      r   r   	foobarbahr   
foobarbah1string_block1
foobarbah2string_block2(   r   )r   r   r   r   rX   g         r   )rX   r   r   r   z.string='foo' and string2='foo' and A>0 and B<0F)
check_freqzstring='foo' and string2='cool'cool	   20010102rT   datetimer\   )rX   r   r   df_dc)r   rZ   r   r   r   )B > 0C > 0zstring == fooz1/1/2000rO   )r   r\   )rX   r   rZ   )r   r   rZ   )r   rZ   r   r   )r   r   zstring == "foo")$r   r   r7   r8   r9   r:   r   r;   r
   r   r   get_locr   r<   r=   r>   _handlerootr&   r   colsr   
is_indexedr   re   r   rz   r@   rA   r   r   rX   r   ry   rZ   abs)
rH   r&   rk   rl   r   r   slr   r   rI   s
            @rK   test_append_with_data_columnsr     si   	J	' *5II!!!$44W=$v,'\2C@

 /22::%%c**+eT"T2bq66T2ab6"
eDk2. }}!!$$**//55@@DHHH}}!!$$**//11<<DDD dE*bddQh<
fh/ d$?@"((12,/&((Q,'
fh/  x24&&

6<<!$h./27

6<<!$h./eT"T6
;dN3&--501
fh/	O*X 
J	' 	&5eT"T6
(TVX$"%eT"T6
L$"%eT"T6
(TVX$"%	& 
J	' .5'y".".eT""I.$&2D	 	 	
 	$"%$	2&$("-. 
J	' 0569Av~~--c2236:Av~~--c223 x^^##H-!vvAaCG$AaCG!y^^##I.!vvAaCG$AaCGeT"T60OPd$TU]]e#~~&(xx!| xx!|
 	fh5A d$EF6==E1fnn6NOP
fh/=0@ 
J	' B5	h02		%++a"H,-05		%++a"H,-!i%j199$?j>@ff		%++a"$::;eW%U)T 	 	
 gu-1%
fh/g'JK%''A+%''A+6%,,%:OPQ
fh5A+B2 
J	' 05 :q1II!!!$44V<#

  h02		%++a"H,-05		%++a"H,-!3*-113sCj!i 	We2QRgu-1%
fh/g'LM%''A+%''A+6%,,%:OPQ
fh/10 0* *X	& 	&. .0 0@B B20 0sM   J?cB	c;Ac#G%c,E*c9E$dccc),c69ddc                     |}d |j                   _        t        |      5 }|j                  d|       |j	                  d      }t        j                  ||       |j	                  dddg      }|j                  ddg      }t        j                  ||       d d d        | dz  }|j                  |dd       t        |dddg      }|j                  ddg      }t        j                  ||       y # 1 sw Y   ]xY w)	Nr`   rX   r   rY   ztest.hdfr&   r   )r   r    )
r   rd   r   r<   re   r=   r>   r   to_hdfr   )tmp_pathrH    multiindex_dataframe_random_datar&   rI   rk   rl   paths           rK   test_append_hierarchicalr    s    	)BBJJO	J	' 05T2d#
fb) dS#J7::sCj:1
fh/0 j DIIdWI-dD3*5Fzz3*z-H&(+0 0s   A9C44C=c                 
   t        |       5 }t        dt        j                  d      j	                  d      z  t        t        d            t        t        d      D cg c]  }d| 	 c}            }|j                  d|d	
       |j                  d      }t        j                  ||       |j                  d|d       |j                  d      }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)N皙?x   r   r   r   r   i-r   r&   r"   	chunksizer   r   )expectedrows)r   r   r7   rG   reshaper   r;   ra   r<   re   r=   r>   )rH   rI   rj   r&   rk   s        rK   test_append_miscr    s    	J	' *5"))C.((11$v,'595a2aS56

 	T2+d#
fb)UBR0e$
fb)* * 6	* *s   AC9C4)BC94C99Dr  )r   r   i  c                 d   t        dt        j                  d      j                  d      z  t	        t        d            t	        t        d      D cg c]  }d| 	 c}            }d|d	<   d
|d<   |d   j                  d      |d<   |d   dkD  |d<   t        d      j                  d      |d<   t        d      j                  d      |d<   t        | d      5 }|j                  d||       |j                  d      }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)Nr  r  r  r   r   r  r   rS   r   r   float322float32r   boolr   rT   time120130102time2w)modeobjr  )r   r7   rG   r
  r   r;   ra   rx   r   ry   r   r<   re   r=   r>   )rH   r  rj   r&   rI   rk   s         rK   test_append_misc_chunksizer    s    
biin$$W--d6l#uRy1!r!X12
B
 BxLBzN
^**95BzNJ!#BvJJ'//5BwKJ'//5BwK	JS	1 *UUB)4e$
fb)* * 2* *s   D!<D&&D/c                    t        |       5 }t        t        d            }|j                  d|       t	        j
                  t        d      5  |j                  d       d d d        t        t        j                  j                  d      j                  d      t        d            }|j                  d|       t        j                  |j                  d      |       |j                  d|       t        j                  |j                  d      |       t        t        d            }|j                  d|       t        j                  |j                  d      |       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)	NABCrY   r&   z 'No object named df in the file'r   r   )r   r\   r   )r   r   r;   r<   r   r   KeyErrorre   r7   r8   r9   r=   r>   r?   )rH   rI   df_emptyr&   s       rK   test_append_misc_empty_framer    s#   	J	' 75T%[1T8$]]8+MN 	LL	 ryy,,Q/66w?eUT2
ell40"5T8$
ell40"5 tE{+		%
ell5126#7 7	 		7 7s%   AE;E.!DE;.E8	3E;;Fc                 	   t        |       5 }t        dt        j                  d      j	                  d      z  t        t        d            t        t        d      D cg c]  }d| 	 c}            }dggt        |      z  |d	<   |j                  d	   t        j                  k(  sJ t        j                  d
      }t        j                  t        |      5  |j!                  d|       d d d        dggt        |      z  |d<   dggt        |      z  |d<   t        j                  t        |      5  |j!                  d|       d d d        t        dt        j                  d      j	                  d      z  t        t        d            t        t        d      D cg c]  }d| 	 c}            }t#        t%        j$                  ddd      |j&                        }|j)                  t*              }t        j,                  |dd ||d	<   |j                  d	   t        j                  k(  sJ d}t        j                  t        |      5  |j!                  d|       d d d        d}t        j                  t        |      5  |j!                  dt        j                  d             d d d        t        j                  d      }t        j                  t        |      5  |j!                  dt#        t        j                  d                   d d d        t        dt        j                  d      j	                  d      z  t        t        d            t        t        d      D cg c]  }d| 	 c}            }|j!                  d|       d|d<   t        j                  d      }t        j                  t.        |      5  |j!                  d|       d d d        t1        |d       t3        d      |d<   |j!                  d|       d|d<   t        j                  d      }t        j                  t.        |      5  |j!                  d|       d d d        d d d        y c c}w # 1 sw Y   xY w# 1 sw Y   8xY wc c}w # 1 sw Y   /xY w# 1 sw Y   xY w# 1 sw Y   xY wc c}w # 1 sw Y   xY w# 1 sw Y   nxY w# 1 sw Y   y xY w)Nr  r  r  r   r   r  r   r   invalidziCannot serialize the column [invalid]
because its data contents are not [string] but [mixed] object dtyper   r&   invalid2invalid3i  r"   r   r1   r   r(   z>too many timezones in this block, create separate data columnsz(value must be None, Series, or DataFramer   z]cannot properly create the storer for: [group->df,value-><class 'pandas.core.series.Series'>]rS   zinvalid combination of [non_index_axes] on appending data [(1, ['A', 'B', 'C', 'D', 'foo'])] vs current table [(1, ['A', 'B', 'C', 'D'])]r   r[   zmCannot serialize the column [foo] because its data contents are not [string] but [datetime64[s]] object dtype)r   r   r7   rG   r
  r   r;   ra   rf   dtypesobject_r   r   r   r   r   r<   r   r   r   rx   objectr@   r   r   r   )rH   r   rI   rj   r&   r   rm   s          rK   test_append_raiser#    s   	J	' P#5 "))C.((11$v,'595a2aS56

 #b')9yy#rzz111iiG
 ]]9C0 	#LLr"	# %3r7*:%3r7*:]]9C0 	#LLr"	# "))C.((11$v,'595a2aS56

 8$$T1a0AHHV!A9yy#rzz111N]]9C0 	#LLr"	# 9]]9C0 	.LLryy}-	. iiE
 ]]9C0 	6LLvbiim45	6 "))C.((11$v,'595a2aS56

 	T25	ii*

 ]]:S1 	#LLr"	# 	eT"j)5	T25	ii/

 ]]:S1 	#LLr"	#_P# P# 6	# 	#	# 	# 6	# 	#
	. 	.	6 	6 6	# 	#	# 	#_P# P#s   ASQ-)A1SQ2-A	S6Q?	AS!R-B$SR$%S	&R/8S'/R+AS.R8:ASR= A)S	S	S-S2Q<	7S?R		SR	SR(	#S+R5	0S=S	S	S	SSc                    t        d      j                  d      }t        |t        d      D cg c]  }|t	        |d      z    c}d      }|d   |d   z
  |d<   t
        j                  |j                  d	d
df<   t        |       5 }t        |d       |j                  d|d       |j                  d      }t        j                  ||       |j                  dd      }t        j                  ||       |j                  dd      }t        j                  ||j                  d	d         |j                  dd      }t        j                  ||j                  d	d         |j                  dd      }|j                  dg      }t        j                  ||j                  dd         |j                  dd      }|j                  dd  }t        j                  ||j                  dd         t        |d       |j!                  d|       |j                  d      }t        j                  ||       d d d        y c c}w # 1 sw Y   y xY w)Nr   rT   r   )dayssecondsr   rX   r   rZ   r\   r(   r&   Tr5   zC<100000)wherezC<pd.Timedelta('-3D')zC<'-3D'zC<'-500000s')subsetr   z	C<'-3.5D'r"   r   r   )r   ry   r   ra   r   r7   r@   rA   r   r   r<   re   r=   r>   r   r}   r?   )rH   rR   rj   r&   rI   rk   s         rK   test_append_with_timedeltar)  >  s    
:		&	&t	,B	>CBiH"ya44H	

B g3BsGvvBFF1Q38	J	' *5eT"T2D1d#
fb)d*5
fb)d*AB
fbggabk2dI.
fbggabk2 dN3se,
fbggabk2dK0QR
fbggabk2 	eU#		%e$
fb)=* * I* *s   H>
F-IIc           	         t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            }|j                         j                  d	j                  
      }d|d<   t        ||gd      }t        |       5 }d}t        j                  t        |      5  |j!                  ddgd d|d       d d d        t        j                  t        |      5  |j!                  d d d|d       d d d        d}t        j                  t        |      5  |j!                  d|d       d d d        |j!                  ddgd d|d       |j#                  ddgddgd      }||j$                  dkD  |j&                  dkD  z     }t)        j*                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   {}_2rY   r[   rS   r"   axisz=append_to_multiple requires a selector that is in passed dictr   rX   r   r   r!   )selectorzQappend_to_multiple must have a dictionary specified as the way to split the valuer   r   zA>0r   )r'  r/  r   )r   r7   r8   r9   r:   r   r;   r
   rz   renamer    r	   r   r   r   r   append_to_multipleselect_as_multiplerX   r   r=   r>   )rH   r   r   r&   rI   r   rk   rl   s           rK   test_append_to_multipler3  m  s   

		a 009d6l#r<C
 ((*

FMM

2CCJ	c
	#B	J	' 05M]]:S1 	$$c
40"u % 	
 ]]:S1 	U$$T$%?e$T	U 	 ]]:S1 	7$$UB6	7 	  #sD!A2PU V))EN5%.5 * 
 rttaxBDD1H-.
fh/10 0	 	
	U 	U	7 	70 0sU   "G, G#G,=G%G,:G A1G,G	G,G	G, G)	%G,,G5c           	         t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            }t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            j                  d	j                  
      }t        j                  |j                  d|j                  j                  ddg      f<   t        ||gd      }t        |       5 }|j!                  ddgd d|dd       |j#                  ddg      }|j%                         }t'        j(                  ||d       t'        j*                  |j-                  d      j.                  |j-                  d      j.                         d d d        y # 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   r+  rY   r"   rX   r,  r.  r   Tr/  r}   r   r3   )r   r7   r8   r9   r:   r   r;   r
   r0  r    r@   r   r   get_indexerr	   r   r1  r2  r}   r=   r>   assert_index_equalre   r   )rH   r   r   r&   rI   rk   rl   s          rK   test_append_to_multiple_dropnar8    s|   

		a 009d6l#r<C
 
		a 009d6l#r< fV]]f#	 
 8:vvCHHQ''c
334	c
	#B	J	' T5  #Jt,b5 	! 	
 ))5%.999;
fhF
ell5177e9L9R9RST T Ts   BGGc           	      z   t        t        j                  j                  d      j	                  d      t        t        d            t        ddd            }|j                         j                  d	j                  
      }t        j                  |j                  d|j                  j                  ddg      f<   t        ||gd      }t!        |       5 }t#        j$                  dd      5  |j'                  ddgd d|dd       d}t)        j*                  t,        |      5  |j/                  ddg       d d d        |j1                  d      j2                  j5                  |j1                  d      j2                        rJ 	 d d d        d d d        y # 1 sw Y   `xY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr   r   r   r   r   r   r   r   r+  rY   r"   rX   r,  r   T)df1adf2ar:  Fr5  z,all tables must have exactly the same nrows!r   r;  )r   r7   r8   r9   r:   r   r;   r
   rz   r0  r    r@   r   r   r6  r	   r   r   r   r1  r   r   r   r2  re   r   equals)rH   r   r   r&   rI   r   s         rK   $test_append_to_multiple_dropna_falser=    s   

		a 009d6l#r<C
 ((*

FMM

2C79vvCHHQ''c
334	c
	#B	J	' Q5"2C2Ct3 Q 	  3Z.VE 	! 	
 =]]:S1 	7$$ff%56	7 <<'--44U\\&5I5O5OPPPPQ Q Q	7 	7Q Q Q Qs=   F1.8F%&F:AF%F1F"F%%F.	*F11F:c           
      *   t        t        j                  dd      t        j                  dd      t        j                  dd      dz  t        d      D cg c]  }d c}t        d      D cg c]  }d c}d      }|j                  dg   }t        |       5 }|j                  d	gd
dgddgd|j                  dg   ddddd       |j                  g d      }t        j                  ||d       d d d        y c c}w c c}w # 1 sw Y   y xY w)Nr"      X   r   r   abcde)IXNumBigNumStrLongStrr   rB  rC  rD  rE  rF  )r   numsstrsr   r   rP   r   )rE  rF  rC  r   Tr3   )
r   r7   rG   ra   r   r   r1  r2  r=   r>   )rH   _r&   rl   rI   rk   s         rK   $test_append_to_multiple_min_itemsizerJ    s   	))Ar"99Q#ii2&+!&r+AC+).r3A3	

B wws|H	J	' G5  )	*
 GGQCL!#A> 	! 		
 ))*CD
fhFG G ,3
G Gs   	C?-	DAD		Dc                    t        dddt        j                  d            }|j                         }t        j                  |j
                  ddd d f<   d}t        |       5 }|j                  d	|d
          t        j                  t        |      5  |j                  d	|d
          d d d        |j                  d|d   d       t        j                  t        |      5  |j                  d|d          d d d        |j                  d|d
   d       |j                  d|d
          |d   }t        |d
   |d
   g      }t        j                  ||       d d d        y # 1 sw Y   xY w# 1 sw Y   xxY w# 1 sw Y   y xY w)Nr   rS   r   r   r1   r   r   z8NaN representation is too large for existing column sizesarX   r   sbr   bars)nan_repscn)r   r7   rG   rz   r@   rA   r   r<   r   r   r   r	   r=   rc   )rH   r&   df_nanr   rI   rk   rl   s          rK   test_append_string_nan_reprS    sW   	5)2	?BWWYFFJJqsAv
DC	J	' 15T2c7#]]:S1 	,LLvc{+	, 	T2c7F3]]:S1 	,LLvc{+	, 	T2c7C0T6#;'t2c7F3K01
vx0!1 1	, 	,
	, 	,1 1s=   $1E>E&+:E>%E2;A"E>&E/	+E>2E;	7E>>F)5r   r   r   numpyr7   r   pandas._libs.tslibsr   pandas.util._test_decoratorsutil_test_decoratorstdpandasr   r   r   r   r   r=   r	   r
   r   pandas.tests.io.pytables.commonr   r   mark
single_cpu
pytestmarkimportorskipr   filterwarningsrL   rn   r{   r   r   r   r   r   r   r  r  parametrizer  r  &skip_array_manager_not_yet_implementedr#  r)  r3  r8  r=  rJ  rS   r   rK   <module>rd     s/     	   ) ) )   
 kk$$%
			X	& ?@EP AEPP,F^-H`YKxCB1#hxKv6X0v,**  o6* 7*&72 **Q# +Q#h,*^"0JT2Q2G81r   