
    Pi.              	       B   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Z	d dl
Z
d dlmZ d dlZd dlmZ d dlmc mZ e
j                            d ej        dg dg dgz  g d           ej        dg dz  d	
          g          e
j                            dg d          d                         Ze
j                            d ej        dg dg dgz  g d           ej        dg dz  d	
          g          e
j                            dddg          d                         Ze
j                            ddddiej        fdi ej        fdi ej        fg          d             Ze
j                            dddddej        ddifdi ej        ddifdi ej        i fg          d             Zd Z d Z!d Z"d  Z#e
j        j$        d!             Z%e
j        j$        d"             Z&e
j                            d ej        dg dg dgz  g d           ej        dg dz  d	
          g          e
j                            dg d          d#                         Z'e
j                            d ej        dg dg dgz  g d           ej        dg dz  d	
          g          e
j                            dg d          d$                         Z(e
j                            d ej        dg dg dgz  g d           ej        dg dz  d	
          g          e
j                            dg d          d%                         Z)e
j                            d&d'ej*        fd(ej+        fg          d)             Z,d* Z-d+ Z.d, Z/d- Z0dS ).    N)is_platform_windowsobjd   g~Ϛ?g9DܜJ?g>D)?g.4i(@g33333@g̤AXYZcolumnsr	   namemethod)	to_pickleto_jsonto_csvc                    |dk    rddd}|} t          | |          ||           t          j                            |          } t          | |          |d            t          j                            |          }||k    sJ d S )Ntarw:gzr   modecompressiongetattrospathgetsize)r   r   compression_only	temp_filer   compressed_sizeuncompressed_sizes          t/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/io/test_compression.pytest_compression_sizer%      s     5  &+V<<DGC+;<<<<good++OGC40000--......    r   r   c                 p   |}t          j        ||dk    rdnd|          5 } t          | |          |j                   |j        j        rJ 	 d d d            n# 1 swxY w Y   t
          j                            |          }|j        |j	         d|j
         z  }|                                 t          j        |dd           5 } t          | |          |j                   |j        j        rJ 	 d d d            n# 1 swxY w Y   t
          j                            |          }||k    sJ d S )Nr   r   wr   _uncompressed)icom
get_handler   handleclosedr   r   r   parentstemsuffixtouch)	r   r   r    r!   r   handlesr"   path2r#   s	            r$   test_compression_size_fhr4   ,   s    D	"e++$
 
 
 ) 
VW^,,,>((((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) good++O ).QQy?OQQQE	KKMMM		6	6	6 )'VW^,,,>((((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) ........s#   -AA #A 
-DDDz'write_method, write_kwargs, read_methodindexFr   c                     t          j        g dg dgg d          }||         }|j        d| z  } t          ||           |fi |  |||          }	t	          j        |	|           d S )N)g      ?r   )g333333@      r   r   
compressedr   )pd	DataFramer.   r   tmassert_frame_equal)
write_methodwrite_kwargsread_methodr    compression_to_extensionr!   input	extensionr   outputs
             r$   ,test_dataframe_compression_defaults_to_inferrF   L   s    " L,,,4oooNNNE()9:I69666D GE<  66666[+;<<<F&%(((((r&   z1write_method,write_kwargs,read_method,read_kwargsT)r5   headersqueezetypseriesc                 F   t          j        g dd          }||         }|j        d| z  }	 t          ||           |	fi | d|v r6|                                }
|
d=  ||	fd|i|
                    d          }n ||	fd|i|}t          j        ||d	           d S )
N)r   r8   
   r	   r   r:   rH   r   r   F)check_names)r;   Seriesr.   r   copyrH   r=   assert_series_equal)r?   r@   rA   read_kwargsr    rB   r!   rC   rD   r   kwargsrE   s               r$   )test_series_compression_defaults_to_inferrT   e   s    $ Innn3///E()9:I69666D GE<  66666K!!##9TJJ/?J6JJRR
 
 TOO/?O;OO65e<<<<<<r&   c                 J   t          j        dg dg dgz  g d          }|}t          j        |d|           5 }t	          j        t          d	          5  |                    |j        |            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   r   r(   r   zhas no effectmatch)	r;   r<   r*   r+   r=   assert_produces_warningRuntimeWarningr   r,   )r    r!   dfr   r2   s        r$   test_compression_warningr[      sd    
---/M/M/MNN
 
 
B D	s0@	A	A	A DW'oNNN 	D 	DIIgn2BI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s5   BB 4B B	BB	BBBc           
         t          j        dt          j        d                              d          z  t          j        t          d                    t          j        d t          d          D                                 }|}t          |d	          5 }|	                    |d| 
           |
                    d           ddd           n# 1 swxY w Y   t          j        |t          j        |d|                      t          j                    }|	                    |d| 
           |
                    d           t          j        |t          j        |d|                      dS )z?
    Binary file handles support compression.

    GH22555
    皙?x         ABCDc                     g | ]}d | S zi- .0is     r$   
<listcomp>z+test_compression_binary.<locals>.<listcomp>       444QQ444r&   r`   r   r5   wb)r   )r   r   r   N)	index_colr   )r;   r<   nparangereshapeIndexlistrangeopenr   seekr=   r>   read_csvioBytesIO)r    r!   rZ   r   files        r$   test_compression_binaryrz      s    
binn$$W---f&&h44%))44455
 
 
B D	d			 $
		$T/?	@@@		!               
BK7GHHH  
 :<<DIId+;I<<<IIaLLL
BK7GHHH    s   .CCCc           
         t          j        dt          j        d                              d          z  t          j        t          d                    t          j        d t          d          D                                 }dd	d
}| }|                    ||           |	                                }|                    ||           ||	                                k    sJ dS )z
    Gzip should create reproducible archives with mtime.

    Note: Archives created with different filenames will still be different!

    GH 28103
    r]   r^   r_   rb   c                     g | ]}d | S rd   re   rf   s     r$   ri   z7test_gzip_reproducibility_file_name.<locals>.<listcomp>   rj   r&   r`   rk   gzip   r   mtimer   N)
r;   r<   rn   ro   rp   rq   rr   rs   r   
read_bytes)r!   rZ   compression_optionsr   rE   s        r$   #test_gzip_reproducibility_file_namer      s     
binn$$W---f&&h44%))44455
 
 
B
 &,a88 DIId 3I444__FIId 3I444T__&&&&&&&&r&   c            
      &   t          j        dt          j        d                              d          z  t          j        t          d                    t          j        d t          d          D                                 } dd	d
}t          j	                    }| 
                    ||d           |                                }t          j	                    }| 
                    ||d           ||                                k    sJ dS )zL
    Gzip should create reproducible archives with mtime.

    GH 28103
    r]   r^   r_   rb   c                     g | ]}d | S rd   re   rf   s     r$   ri   z9test_gzip_reproducibility_file_object.<locals>.<listcomp>   rj   r&   r`   rk   r}   r~   r   rl   )r   r   N)r;   r<   rn   ro   rp   rq   rr   rs   rw   rx   r   getvalue)rZ   r   bufferrE   s       r$   %test_gzip_reproducibility_file_objectr      s     
binn$$W---f&&h44%))44455
 
 
B
 &,a88 Z\\FIIf"5DIAAA__FZ\\FIIf"5DIAAAV__&&&&&&&&r&   c                      t          j        d          } t          j        t          j        d| gt          j                   dS )z6Tests if import pandas works when lzma is not present.zT        import sys
        sys.modules['lzma'] = None
        import pandas
        -cstderrNtextwrapdedent
subprocesscheck_outputsys
executablePIPEcodes    r$   test_with_missing_lzmar      sC     ?	 D S^T48QQQQQQr&   c                      t          j        d          } t          j        t          j        d| gt          j                   dS )zcTests if ModuleNotFoundError is hit when calling lzma without
    having the module available.
    a	  
        import sys
        import pytest
        sys.modules['lzma'] = None
        import pandas as pd
        df = pd.DataFrame()
        with pytest.raises(ModuleNotFoundError, match='import of lzma'):
            df.to_csv('foo.csv', compression='xz')
        r   r   Nr   r   s    r$   test_with_missing_lzma_runtimer      sC    
 ?	
 
D S^T48QQQQQQr&   c                    |} t          | |          |d           t          j                            |          } t          | |          |ddd           t          j                            |          }||k     sJ d S )Nr}   r   r~   r   compresslevelr   r   r   r!   r   compressed_size_defaultcompressed_size_fasts         r$   test_gzip_compression_levelr      s     DGC62222 good33GCfq+Q+QRRRR7??400"%9999999r&   c                 D   |} t          | |          |d           t          j                            |          } t          | |          |ddd           t          j                            |          }||k     sJ |dk    rt	          j        |d           d S d S )Nxzr   r~   )r   presetr   )r   r   r   r   r;   rv   r   s         r$   test_xz_compression_level_readr     s     DGC40000 good33GCda+H+HIIII7??400"%99999
Dd++++++ r&   c                 F    |} t          | |          |ddd           dS )zGH33196 bzip needs file size > 100k to show a size difference between
    compression levels, so here we just check if the call works when
    compression is passed as a dict.
    bz2r~   r   r   N)r   )r   r   r!   r   s       r$   test_bzip_compression_levelr   *  s6      DGCea+P+PQQQQQQr&   zsuffix,archivez.zipz.tarc                     |j         d|  z  } ||d          5  	 d d d            n# 1 swxY w Y   t          j        t          d          5  t	          j        |           d d d            d S # 1 swxY w Y   d S )Narchiver(   zZero files foundrV   )r.   pytestraises
ValueErrorr;   rv   )r0   r   r!   r   s       r$   test_empty_archive_zipr   >  s    0000D	s		                	z);	<	<	<  
D                 s   (,,A00A47A4c                 \   | j         dz  }t          j        |d          5 }|                    dd           |                    dd           d d d            n# 1 swxY w Y   t	          j        t          d          5  t          j        |           d d d            d S # 1 swxY w Y   d S )Nzarchive.zipr(   a.csvzfoo,barb.csvz Multiple files found in ZIP filerV   )	r.   zipfileZipFilewritestrr   r   r   r;   rv   )r!   r   ry   s      r$   test_ambiguous_archive_zipr   M  s'   m+D	s	#	# *tgy)))gy)))* * * * * * * * * * * * * * * 
z)K	L	L	L  
D                 s#   -AA A?B!!B%(B%c                 b   | dz  }t          |dd          5 }|                    d           d d d            n# 1 swxY w Y   | dz  }t          |dd          5 }|                    d           d d d            n# 1 swxY w Y   | dz  }t          j        |d          5 }|                    |d           |                    |d           d d d            n# 1 swxY w Y   t          j        t          d	          5  t          j	        |           d d d            d S # 1 swxY w Y   d S )
Nr   r(   zutf-8)encodingzfoo,bar
r   zarchive.tarz#Multiple files found in TAR archiverV   )
rt   writetarfileTarFileaddr   r   r   r;   rv   )tmp_pathcsvAPathacsvBPathbtarpathr   s          r$   test_ambiguous_archive_tarr   V  s,   '!H	hg	.	.	. !	              '!H	hg	.	.	. !	               &G	#	&	& ##'"""'"""# # # # # # # # # # # # # # # 
z)N	O	O	O  
G                 sC   :>>A>>BB#-CC #C D$$D(+D(c                 @   | j         dz  }t          j        ddggddg                              |ddd	d
           t	          j        |          5 }t          j        |          5 }|                                }t          |          dk    sJ |
                    |d                                                                       d          }t                      rd}nd}||k    sJ 	 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 )Nzarchive.foo12foobarr   r   r   r   F)r   r5   )fileobjr~   r   utf8zfoo,bar
1,2
zfoo,bar
1,2
)r.   r;   r<   r   r}   rt   r   r   
getmemberslenextractfilereaddecoder   )r!   ry   uncompressedr   memberscontentexpecteds          r$   !test_tar_gz_to_different_filenamer   g  s   m+DL
s   fT%@@fNNN	4 'L_\222 
	'g((**Gw<<1$$$$))'!*55::<<CCFKKG"$$ ,/+h&&&&&
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	'' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's7   D)BC;/D;C?	?DC?	DDDc                      t          j                    5 } t          j        | d          5  	 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   )rw   rx   r*   _BytesTarFile)r   s    r$   test_tar_no_error_on_closer   {  s    	 S999 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	                 s.   A9A=	A =	AAA)1r}   rw   r   r   r   r   r   r   numpyrn   r   pandas.compatr   pandasr;   pandas._testing_testingr=   pandas.io.commoncommonr*   markparametrizer<   rO   r%   r4   rv   	read_jsonread_picklerF   rT   r[   rz   r   r   
single_cpur   r   r   r   r   r   r   r   r   r   r   r   re   r&   r$   <module>r      s;    				 				     



         - - - - - -                    	1113Q3Q3QRR#OO	
 	
 	
 		#6666SAAA	 	 #E#E#EFF	/ 	/ GF	 		/ 	1113Q3Q3QRR#OO	
 	
 	
 		#6666SAAA	 	 Hi#899/ / :9	 	/* -	GU#R[1	B%	b".) ) ) )" 7	Ud33R[9dBST	Buh&78	b"."- = = =2
D 
D 
D  <' ' '.' ' ', 
R 
R 
R R R R$ 	1113Q3Q3QRR#OO	
 	
 	
 		#6666SAAA	 	 #E#E#EFF: : GF	 	: 	1113Q3Q3QRR#OO	
 	
 	
 		#6666SAAA	 	 #E#E#EFF, , GF	 	, 	1113Q3Q3QRR#OO	
 	
 	
 		#6666SAAA	 	 #E#E#EFFR R GF	 	R 	!	!       "' ' '(    r&   