
    Pi)                        d dl Z d dlZd dlZd dlmZ d dlmZ d dlm	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 ej                            d          Zej        d             Zej        d	             Z ej        d
             Z!d Z"d Z#d Z$d Z%ej        &                    dddg          d             Z'd Z(d Z)d Z*ej        +                     e            oeoe	 d          d             Z,d Z-d Z.ej        j/        ej        &                    dg d          d                         Z0ej        j/        ej        &                    dg d          d                          Z1ej        +                     e            d          ej        j/        d!                         Z2 ej3        d"          d#             Z4d$ Z5d% Z6d& Z7d' Z8d( Z9d) Z:dS )*    N)using_string_dtype)HAS_PYARROW)pa_version_under14p0)
	DataFrame
date_rangeread_csv
read_excelread_feather	read_jsonread_parquetread_pickle
read_stata
read_table)_test_decoratorsz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc               #     K   t          j        d           ddlm}  ddlm} ddlm}  G d d|          } | d|d	
            |            V  |                    dd            d |j	        d<   |j
                                         d S )Nfsspecr   )register_implementation)MemoryFileSystem)	_registryc                   *     e Zd ZdZdgZd fdZ xZS ) fsspectest.<locals>.TestMemoryFStestmemNreturnc                 v    |                     dd           | j        d<    t                      j        di | d S )Ntestr    )popr   super__init__)selfkwargs	__class__s     o/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/io/test_fsspec.pyr   z)fsspectest.<locals>.TestMemoryFS.__init__*   s?    !::fd33DIaLEGG&&v&&&&&    )r   N)__name__
__module____qualname__protocolr   r   __classcell__)r"   s   @r#   TestMemoryFSr   &   sI        v	' 	' 	' 	' 	' 	' 	' 	' 	' 	'r$   r*   r   T)clobber)pytestimportorskipr   r   fsspec.implementations.memoryr   fsspec.registryr   r   r   storeclear)r   r   registryr*   s       r#   
fsspectestr3      s      
!!!......>>>>>>555555' ' ' ' '' ' ' ' I|TBBBB
,..LLD!!!Lar$   c            	      h    t          ddgdt          j        gddgt          dd          d	          S )
N      g       @tsz
2018-06-18   )periods)intfloatstrdt)r   npnanr   r   r$   r#   df1rA   5   sE    q626]:\1555		
 	
  r$   c               #      K   t          j        d          } |                     d          }|V  |j                                         d S )Nr   memory)r,   r-   
filesystemr0   r1   )r   memfss     r#   
cleared_fsrF   A   sL       **Fh''E
KKK	Kr$   c                    t          |                    d                                                    }|                     dd          5 }|                    |           d d d            n# 1 swxY w Y   t          ddg          }|                                }|d                             d          |d<   t          j	        ||           d S )	NFindexztest/test.csvwbmemory://test/test.csvr>   )parse_datesM8[us])
r=   to_csvencodeopenwriter   copyastypetmassert_frame_equal)rF   rA   textwdf2expecteds         r#   test_read_csvrZ   J   s    szzz&&''..00D	$	/	/ 1	              
+$
@
@
@CxxzzHd^**844HTN#x(((((s   A..A25A2c                 T   ddl m} t          j        t          d          5  t          d           d d d            n# 1 swxY w Y   d}|                     |dd|d	           t          j        t          |          5  t          d
           d d d            d S # 1 swxY w Y   d S )Nr   )known_implementationsnosuchprotocolmatchznosuchprotocol://test/test.csvztest error message
couldexistzunimportable.CouldExist)classerrzcouldexist://test/test.csv)r/   r\   r,   raises
ValueErrorr   setitemImportError)monkeypatchrF   r\   err_msgs       r#   test_reasonable_errorri   U   sF   555555	z)9	:	:	: 3 312223 3 3 3 3 3 3 3 3 3 3 3 3 3 3"G+G<<  
 
{'	2	2	2 / /-.../ / / / / / / / / / / / / / / / / /s!   >AA BB!$B!c                     |                     dd           t          ddgd          }|                                }|d                             d          |d<   t	          j        ||           d S )NrK   TrH   r>   r   rL   	index_colrM   )rN   r   rR   rS   rT   rU   )rF   rA   rX   rY   s       r#   test_to_csvrm   d   sq    JJ'tJ444
+$1
M
M
MCxxzzHd^**844HTN#x(((((r$   c                    t          j        d           d}d| }|                    |d           t          |dgd          }|                                }|d                             d	          |d<   t          j        ||           d S )
Nopenpyxlxlsxzmemory://test/test.TrH   r>   r   rk   rM   )r,   r-   to_excelr	   rR   rS   rT   rU   )rF   rA   extpathrX   rY   s         r#   test_to_excelrt   n   s    

###
C&&&DLLTL"""
Tv
;
;
;CxxzzHd^**844HTN#x(((((r$   binary_modeFTc                 T   t          j        d          }d}|rdnd}|                    ||                                          5 }|                    |d           |j        rJ 	 d d d            n# 1 swxY w Y   |                    dd          }|                    ||          5 }t          |d	gd
          }|j        rJ 	 d d d            n# 1 swxY w Y   |                                }|d	                             d          |d	<   t          j
        ||           d S )Nr   rK   rJ   rW   )modeTrH   rr>   r   rk   rM   )r,   r-   rP   rN   closedreplacer   rR   rS   rT   rU   )	rF   ru   rA   r   rs   rw   fsspec_objectrX   rY   s	            r#   test_to_csv_fsspec_objectr|   {   s    **F#D'44CD	T	%	%	*	*	,	, (

=
--- '''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( <<S!!D	T	%	% (
 
 

 !'''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( xxzzHd^**844HTN#x(((((s$   !A44A8;A8,CCCc                     t          ddgi          }|                    dddid           | j        d         dk    sJ t          dddi	           | j        d         dk    sJ d S 
Nar   testmem://test/test.csvr   	csv_writeFstorage_optionsrI   csv_readr   )r   rN   r   r   r3   dfs     r#   test_csv_optionsr      s    	C!:		BII!FK3HPU     ?1,,,,&8LMMMM?1++++++r$   c                     t          ddgi          }|                    dddid           | j        d         dk    sJ t          dddi	           | j        d         dk    sJ d S r~   )r   rN   r   r   r   s     r#   test_read_table_optionsr      s    	C!:		BII!FK3HPU     ?1,,,,(6::NOOOO?1++++++r$   c                    t          j        d           d}t          ddgi          }d| }|                    |ddid	           | j        d         dk    sJ t          |dd
i           | j        d         d
k    sJ d S )Nro   rp   r   r   ztestmem://test/test.r   rQ   Fr   readr   )r,   r-   r   rq   r   r	   )r3   	extensionr   rs   s       r#   test_excel_optionsr      s    

###I	C!:		B-)--DKKvw&7uKEEE?1((((tff%56666?1''''''r$   zTODO(infer_string) fastparquet)reasonc                 `    t          j        d           |                    dddd           dS )CRegression test for writing to a not-yet-existent GCS Parquet file.fastparquetrK   TN)rI   enginecompression)r,   r-   
to_parquet)rF   rA   s     r#   test_to_parquet_new_filer      sD     &&&NN ]PT      r$   c                     t          j        d           t          ddgi          }|                    dddddi           | j        d         dk    sJ t          dddd	i
           | j        d         d	k    sJ dS )r   pyarrowr   r   r   Nr   parquet_writer   r   r   parquet_readr   r   r,   r-   r   r   r   r   r   s     r#   test_arrowparquet_optionsr      s    
	"""	C!:		BMM!1	     ?10000!0   
 ?1//////r$   c                     t          j        d           t          ddgi          }|                    dddddi           | j        d         dk    sJ t          dddd	i
           | j        d         d	k    sJ dS )r   r   r   r   r   Nr   r   r   r   r   r   r   s     r#   test_fastparquet_optionsr      s    
&&&	C!:		BMM!1	     ?10000!0   
 ?1//////r$   compression_suffix) z.gzz.bz2c                     t          j        d           t          d| j         d| |          }t          |          }t	          j        ||           d S )Ns3fss3://	/tips.csvr   r,   r-   r   namerT   assert_equal)s3_bucket_public_with_datas3so	tips_filer   
df_from_s3df_from_locals         r#   test_from_s3_csvr      sk     N*/NN:LNN  J Y''MOJ.....r$   r(   )s3s3as3nc                     t          j        d           t          | d| j         d|          }t          |          }t	          j        ||           d S )Nr   z://r   r   r   )r   r   r   r(   r   r   s         r#   test_s3_protocolsr      sk     BB27BBB  J Y''MOJ.....r$   c                     t          j        d           t          j        d           d| j         d}|                    |ddd |           t	          |d|          }t          j        ||           d S )Nr   r   r   z/test.parquetF)rI   r   r   r   r   )r,   r-   r   r   r   rT   r   )s3_bucket_publicr   rA   fnrX   s        r#   test_s3_parquetr     s     &&&
	5!&	5	5	5BNN
%4QU     r-
F
F
FCOCr$   r   c                      d} t          j        t          |           5  t          d           d d d            d S # 1 swxY w Y   d S )NzH`Import fsspec` failed.  Use pip or conda to install the fsspec package.r^   rK   )r,   rc   rf   r   )msgs    r#   test_not_present_exceptionr     s    
TC	{#	.	.	. + +)***+ + + + + + + + + + + + + + + + + +s   ;??c                     t          j        d           t          ddgi          }|                    dddi           | j        d         dk    sJ t          dddi          }| j        d         dk    sJ t          j        ||           d S )	Nr   r   r   testmem://mockfiler   feather_writer   feather_read)r,   r-   r   
to_featherr   r
   rT   rU   r3   r   outs      r#   test_feather_optionsr     s    
	"""	C!:		BMM&8QMRRR?10000
+fn=U
V
V
VC?1////"c"""""r$   c                     t          ddgi          }|                    dddi           | j        d         dk    sJ t          dddi          }| j        d         dk    sJ t	          j        ||           d S )Nr   r   r   r   pickle_writer   pickle_read)r   	to_pickler   r   rT   rU   r   s      r#   test_pickle_optionsr   !  s    	C!:		BLL%7OLPPP?1////
*V]<S
T
T
TC?1...."c"""""r$   c                     t          ddgi          }|                    d|ddi           | j        d         dk    sJ t          d|ddi          }| j        d         dk    sJ t	          j        ||           d S )Nr   r   r   r   
json_write)r   r   	json_read)r   to_jsonr   r   rT   rU   )r3   r   r   r   s       r#   test_json_optionsr   *  s    	C!:		BJJ.    
 ?1----
-  C
 ?1,,,,"c"""""r$   c                     t          ddgi          }|                    dddid           | j        d         dk    sJ t          dddi	          }| j        d         dk    sJ t	          j        ||                    d
                     d S )Nr   r   r   r   stata_writeF)r   write_index
stata_readr   int64)r   to_statar   r   rT   rU   rS   r   s      r#   test_stata_optionsr   ;  s    	C!:		BKKv}.ESX     ?1....
)FL;Q
R
R
RC?1----"cjj1122222r$   c                     t          j        d           t          ddgi          }|                    dddi           | j        d         dk    sJ |                     d          sJ d S )Ntabulater   r   r   r   md_writer   )r,   r-   r   to_markdownr   catr   s     r#   test_markdown_optionsr   F  sy    

###	C!:		BNN'&*9MNNNN?1++++>>.///////r$   c                     t          j        d           t          j        t          d          5  t	          dddi           d d d            n# 1 swxY w Y   t          j        t          d          5  t          dddi           d d d            n# 1 swxY w Y   t          j                    } t          j        t          d          5  t	          | ddi           d d d            n# 1 swxY w Y   t          ddgi          }t          j        t          d          5  |	                    d	ddi           d d d            d S # 1 swxY w Y   d S )
Nr   r   r^   	localfiler   Tr   r   nonfsspecpath)
r,   r-   rc   rd   r   r   ioBytesIOr   r   )byr   s     r#   test_non_fsspec_optionsr   N  sc   
	"""	z):	;	;	; ; ;sDk::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;	z):	;	;	; ? ?[3+>>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 
B	z):	;	;	; 2 2c4[11112 2 2 2 2 2 2 2 2 2 2 2 2 2 2 
C!:		B	z):	;	;	; D D
oT{CCCD D D D D D D D D D D D D D D D D DsG   AAA6BBBC//C36C3'EEE);r   numpyr?   r,   pandas._configr   pandas.compatr   pandas.compat.pyarrowr   pandasr   r   r   r	   r
   r   r   r   r   r   pandas._testing_testingrT   pandas.utilr   tdmarkfilterwarnings
pytestmarkfixturer3   rA   rF   rZ   ri   rm   rt   parametrizer|   r   r   r   xfailr   r   r   
single_cpur   r   r   skip_if_installedr   r   r   r   r   r   r   r   r$   r#   <module>r      s   				      - - - - - - % % % % % % 6 6 6 6 6 6                              . . . . . .[''C 

   *      ) ) )/ / /) ) )
) 
) 
) 66) ) 76)., , ,, , ,( ( ( E[E1E-E+    	 0 0 0&0 0 0( -/B/B/BCC/ / DC / %9%9%9::/ / ;: / %%''0PQQ	 	  RQ	 h+ +  +# # ## # ## # #"3 3 30 0 0D D D D Dr$   