
    bMh3)                     0   d dl Z d dlZd dl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&d Z'd Z(ej)        d             Z*ej        j+        d             Z,ej        j+        ej        "                    dg d          d                         Z-ej        .                     e            d          ej        j+        ej)        d                                     Z/ ej0        d          d             Z1d  Z2d! Z3d" Z4d# Z5d$ Z6d% Z7dS )&    N)using_string_dtype)
	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     [/var/www/html/test/jupyter/venv/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!   
fsspectestr1      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!   df1r?   2   sE    q626]:\1555		
 	
  r"   c               #      K   t          j        d          } |                     d          }|V  |j                                         d S )Nr   memory)r*   r+   
filesystemr.   r/   )r   memfss     r!   
cleared_fsrD   >   sL       **Fh''E
KKK	Kr"   c                 D   t          |                    d                                                    }|                     dd          5 }|                    |           d d d            n# 1 swxY w Y   t          ddg          }t          j        ||           d S )NFindexztest/test.csvwbmemory://test/test.csvr<   )parse_dates)r;   to_csvencodeopenwriter   tmassert_frame_equal)rD   r?   textwdf2s        r!   test_read_csvrT   G   s    szzz&&''..00D	$	/	/ 1	              
+$
@
@
@C#s#####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-   rV   r*   raises
ValueErrorr   setitemImportError)monkeypatchrD   rV   err_msgs       r!   test_reasonable_errorrc   P   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          }t          j        ||           d S )NrI   TrF   r<   r   rJ   	index_col)rK   r   rO   rP   )rD   r?   rS   s      r!   test_to_csvrg   _   sI    JJ'tJ444
+$1
M
M
MC#s#####r"   c                     t          j        d           d}d| }|                    |d           t          |dgd          }t	          j        ||           d S )	Nopenpyxlxlsxzmemory://test/test.TrF   r<   r   re   )r*   r+   to_excelr   rO   rP   )rD   r?   extpathrS   s        r!   test_to_excelrn   g   sj    

###
C&&&DLLTL"""
Tv
;
;
;C#s#####r"   binary_modeFTc                    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   t          j        ||           d S )Nr   rI   rH   rR   )modeTrF   rr<   r   re   )	r*   r+   rM   rK   closedreplacer   rO   rP   )rD   ro   r?   r   rm   rq   fsspec_objectrS   s           r!   test_to_csv_fsspec_objectrv   r   s    **F#D'44CD	T	%	%	*	*	,	, (

=
--- '''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( <<S!!D	T	%	% (
 
 

 !'''''( ( ( ( ( ( ( ( ( ( ( ( ( ( ( #s#####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_optionsrG   csv_readr}   )r   rK   r   r   r1   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 rx   )r   rK   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 )Nri   rj   ry   r   ztestmem://test/test.r   rN   Fr|   readr   )r*   r+   r   rk   r   r   )r1   	extensionr   rm   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"   c                 `    t          j        d           |                    dddd           dS )CRegression test for writing to a not-yet-existent GCS Parquet file.fastparquetrI   TN)rG   enginecompression)r*   r+   
to_parquet)rD   r?   s     r!   test_to_parquet_new_filer      sB    
&&&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   pyarrowry   r   rz   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   ry   r   rz   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"   c                    t          j        d           t          j        t	          d| j         d|          t	          |                     t          j        t	          d| j         d|          t	          |                     t          j        t	          d| j         d|          t	          |                     d S )Ns3fss3://	/tips.csvr   z/tips.csv.gzz/tips.csv.bz2r*   r+   rO   assert_equalr   name)s3_public_bucket_with_data	tips_files3sos      r!   test_from_s3_csvr      s    
O>.3>>>PT	
 	
 	
 		   OA.3AAASW	
 	
 	
 		   OB.3BBBTX	
 	
 	
 		    r"   r&   )s3s3as3nc                     t          j        d           t          j        t	          | d| j         d|          t	          |                     d S )Nr   z://r   r   r   )r   r   r&   r   s       r!   test_s3_protocolsr      sm     OFF6;FFF 	
 	
 	
 	    r"   zTODO(infer_string) fastparquet)reasonc                     t          j        d           t          j        d           d| j         d}|                    |ddd |           t	          |d|          }t          j        ||           d S )Nr   r   r   z/test.parquetF)rG   r   r   r}   r   )r*   r+   r   r   r
   rO   r   )s3_public_bucketr   r?   fnrS   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 )Nz?Missing optional dependency 'fsspec'|fsspec library is requiredrX   rI   )r*   r]   r`   r   )msgs    r!   test_not_present_exceptionr     s    
KC	{#	.	.	. + +)***+ + + + + + + + + + + + + + + + + +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   ry   r   testmem://mockfiler   feather_writer   feather_read)r*   r+   r   
to_featherr   r   rO   rP   r1   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 )Nry   r   r   r   pickle_writer   pickle_read)r   	to_pickler   r   rO   rP   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 )Nry   r   r   r   
json_write)r   r}   	json_read)r   to_jsonr   r	   rO   rP   )r1   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 )Nry   r   r   r   stata_writeF)r}   write_index
stata_readr   int64)r   to_statar   r   rO   rP   astyper   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tabulatery   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}   rX   	localfilery   Tr   r   nonfsspecpath)
r*   r+   r]   r^   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)8r   numpyr=   r*   pandas._configr   pandasr   r   r   r   r   r	   r
   r   r   r   pandas._testing_testingrO   pandas.utilr   tdmarkfilterwarnings
pytestmarkfixturer1   r?   rD   rT   rc   rg   rn   parametrizerv   r   r   r   r   r   &skip_array_manager_not_yet_implementedr   
single_cpur   r   xfailr   skip_if_installedr   r   r   r   r   r   r   r   r"   r!   <module>r      so   				      - - - - - -                              . . . . . .[''C 

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