
    g(                        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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        j)        ej'        d                         Z, ej-        d          d             Z.d Z/d Z0d Z1d  Z2d! Z3d" Z4dS )#    N)
	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     g/var/www/html/nodeJS/PythonScripts/venv3.11/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    
fsspectestr0      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>   0   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_fsrC   <   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)rC   r>   textwdf2s        r    test_read_csvrS   E   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,   rU   r)   raises
ValueErrorr   setitemImportError)monkeypatchrC   rU   err_msgs       r    test_reasonable_errorrb   N   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 )NrH   TrE   r;   r   rI   	index_col)rJ   r   rN   rO   )rC   r>   rR   s      r    test_to_csvrf   ]   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.TrE   r;   r   rd   )r)   r*   to_excelr   rN   rO   )rC   r>   extpathrR   s        r    test_to_excelrm   e   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   rH   rG   rQ   )modeTrE   rr;   r   rd   )	r)   r*   rL   rJ   closedreplacer   rN   rO   )rC   rn   r>   r   rl   rp   fsspec_objectrR   s           r    test_to_csv_fsspec_objectru   p   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_optionsrF   csv_readr|   )r   rJ   r   r   r0   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 rw   )r   rJ   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 )Nrh   ri   rx   r   ztestmem://test/test.r   rM   Fr{   readr~   )r)   r*   r   rj   r   r   )r0   	extensionr   rl   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.fastparquetrH   TN)rF   enginecompression)r)   r*   
to_parquet)rC   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   pyarrowrx   r   ry   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   rx   r   ry   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*   rN   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!   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)rF   r   r   r|   r   )r)   r*   r   r   r	   rN   r   )s3_public_bucketr   r>   fnrR   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 requiredrW   rH   )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   rx   r   testmem://mockfiler   feather_writer~   feather_read)r)   r*   r   
to_featherr   r   rN   rO   r0   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 )Nrx   r   r   r   pickle_writer~   pickle_read)r   	to_pickler   r
   rN   rO   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 )Nrx   r   r   r   
json_write)r   r|   	json_read)r   to_jsonr   r   rN   rO   )r0   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 )Nrx   r   r   r   stata_writeF)r|   write_index
stata_readr~   int64)r   to_statar   r   rN   rO   astyper   s      r    test_stata_optionsr   8  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tabulaterx   r   r   r   md_writer~   )r)   r*   r   to_markdownr   catr   s     r    test_markdown_optionsr   C  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|   rW   	localfilerx   Tr~   r   nonfsspecpath)
r)   r*   r\   r]   r   r	   ioBytesIOr   r   )byr   s     r    test_non_fsspec_optionsr   K  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)5r   numpyr<   r)   pandasr   r   r   r   r   r   r	   r
   r   r   pandas._testing_testingrN   pandas.utilr   tdmarkfilterwarnings
pytestmarkfixturer0   r>   rC   rS   rb   rf   rm   parametrizeru   r   r   r   r   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      s1   				                                   . . . . . .[''C 

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