
    d>$                     4   d dl Z d dlZd dlZd dlmZmZmZmZm	Z	m
Z
mZmZmZmZ d dlmZ d dlmZ 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"        d          d             Z# ej"        d          d             Z$ej%         ej"        d          d                         Z&ej        j'         ej"        d          d                         Z(ej        j'        ej                            dg d           ej"        d          d                                     Z)ej        j'        ej%         ej"        d           ej"        d          d                                                 Z* ej+        d          d             Z, ej"        d          d             Z-d Z.d  Z/d! Z0 ej"        d"          d#             Z1 ej"        d          d$             Z2dS )%    N)
	DataFrame
date_rangeread_csv
read_excelread_feather	read_jsonread_parquetread_pickle
read_stata
read_table)_test_decoratorsc            	      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        W/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/io/test_fsspec.pydf1r      sE    q626]:\1555		
 	
  r   c               #      K   t          j        d          } |                     d          }|V  |j                                         d S )Nfsspecmemory)pytestimportorskip
filesystemstoreclear)r    memfss     r   
cleared_fsr(   "   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)r(   r   textwdf2s        r   test_read_csvr8   +   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)fsspec.registryr:   r"   raises
ValueErrorr   setitemImportError)monkeypatchr(   r:   err_msgs       r   test_reasonable_errorrH   4   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 )Nr-   Tr*   r   r   r.   	index_col)r/   r   r3   r4   )r(   r   r7   s      r   test_to_csvrL   C   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.Tr*   r   r   rJ   )r"   r#   to_excelr   r3   r4   )r(   r   extpathr7   s        r   test_to_excelrS   K   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    r-   r,   r6   )modeTr*   rr   r   rJ   )	r"   r#   r1   r/   closedreplacer   r3   r4   )r(   rT   r   r    rR   rV   fsspec_objectr7   s           r   test_to_csv_fsspec_objectr[   V   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.csvtest	csv_writeFstorage_optionsr+   csv_readrc   )r   r/   r`   r   
fsspectestdfs     r   test_csv_optionsri   l   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   r/   r`   r   rf   s     r   test_read_table_optionsrk   v   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 )NrN   rO   r^   r   ztestmem://test/test.r`   r2   Frb   readre   )r"   r#   r   rP   r`   r   )rg   	extensionrh   rR   s       r   test_excel_optionsro      s    

###I	C!:		B-)--DKKvw&7uKEEE?1((((tff%56666?1''''''r   fastparquetc                 8    |                     dddd           dS )CRegression test for writing to a not-yet-existent GCS Parquet file.r-   Trp   N)r+   enginecompression)
to_parquet)r(   r   s     r   test_to_parquet_new_filerv      s3     NN ]PT      r   pyarrowc                     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 )rr   r^   r   r_   rw   Nr`   parquet_writers   rt   rc   parquet_readrs   rc   r   ru   r`   r	   rf   s     r   test_arrowparquet_optionsr~      s     
C!:		BMM!1	     ?10000!0   
 ?1//////r   c                     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 )rr   r^   r   r_   rp   Nr`   ry   rz   r{   r|   r}   rf   s     r   test_fastparquet_optionsr      s     
C!:		BMM!1	     ?10000!0   
 ?1//////r   s3fsc                 ,   t          j        t          d|          t          |                     t          j        t          d|          t          |                     t          j        t          d|          t          |                     d S )Nzs3://pandas-test/tips.csvre   zs3://pandas-test/tips.csv.gzzs3://pandas-test/tips.csv.bz2r3   assert_equalr   )s3_resource	tips_files3sos      r   test_from_s3_csvr      s     O,dCCCXiEXEX   O/FFF   O0$GGG    r   protocol)s3s3as3nc                 n    t          j        t          | d|          t          |                     d S )Nz://pandas-test/tips.csvre   r   )r   r   r   r   s       r   test_s3_protocolsr      sF     OH555tLLL    r   c                     d}|                     |ddd |           t          |d|          }t          j        ||           d S )Nzs3://pandas-test/test.parquetFrp   )r+   rs   rt   rc   r|   )ru   r	   r3   r   )r   r   r   fnr7   s        r   test_s3_parquetr      s^    
 
)B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 requiredr<   r-   )r"   rB   rE   r   )msgs    r   test_not_present_exceptionr      s    
KC	{#	.	.	. + +)***+ + + + + + + + + + + + + + + + + +s   ;??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   testmem://afiler`   feather_writere   feather_read)r   
to_featherr`   r   r3   r4   rg   rh   outs      r   test_feather_optionsr      s    	C!:		BMM#fo5NMOOO?10000
(6>:R
S
S
SC?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_writere   pickle_read)r   	to_pickler`   r
   r3   r4   r   s      r   test_pickle_optionsr      s    	C!:		BLL"V^4LLMMM?1////
'&-9P
Q
Q
QC?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)rt   rc   	json_read)r   to_jsonr`   r   r3   r4   )rg   rt   rh   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)rc   write_index
stata_readre   int64)r   to_statar`   r   r3   r4   astyper   s      r   test_stata_optionsr     s    	C!:		BKKFM+BPU     ?1....
&8N
O
O
OC?1----"cjj1122222r   tabulatec                     t          ddgi          }|                    dddi           | j        d         dk    sJ |                     d          sJ d S )Nr^   r   r   r`   md_writere   )r   to_markdownr`   catrf   s     r   test_markdown_optionsr     sh    	C!:		BNN$vz6JNKKK?1++++>>+,,,,,,,r   c                     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 )	Nrc   r<   	localfiler^   Tre   r   nonfsspecpath)	r"   rB   rC   r   r	   ioBytesIOr   ru   )byrh   s     r   test_non_fsspec_optionsr   $  sR   	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sE   <A A "BB	B;CC"CD::D>D>)3r   numpyr   r"   pandasr   r   r   r   r   r   r	   r
   r   r   pandas._testing_testingr3   pandas.utilr   tdfixturer   r(   r8   rH   rL   rS   markparametrizer[   ri   rk   ro   
skip_if_norv   r~   &skip_array_manager_not_yet_implementedr   
single_cpur   r   r   skip_if_installedr   r   r   r   r   r   r   r   r   r   <module>r      s   				                                   . . . . . .      $ $ $/ / /$ $ $$ $ $ 66$ $ 76$*, , ,, , ,( ( ( }   y0 0 0$ *}0 0  +*0$ v    %9%9%9::v   ;:  *v}    +*  h+ +  + y# # ## # ## # #"3 3 3 z- - - yD D D D Dr   