
    Owg(                        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*                  j-                  d      Zej0                  d        Zej0                  d        Zej0                  d        Zd Zd	 Zd
 Zd Zej*                  jA                  dddg      d        Z!d Z"d Z#d Z$d Z%d Z&ejN                  d        Z(ej*                  jR                  d        Z*ej*                  jR                  ej*                  jA                  dg d      d               Z+ej*                  jR                  ejN                  d               Z, ejZ                  d      d        Z.d Z/d Z0d Z1d  Z2d! Z3d" Z4y)#    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	
        |        |j                  dd        d |j                  d<   |j                  j                          y w)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testmemNc                 b    |j                  dd       | j                  d<   t        |   di | y )Ntestr    )popr   super__init__)selfkwargs	__class__s     R/var/www/horilla/myenv/lib/python3.12/site-packages/pandas/tests/io/test_fsspec.pyr   z)fsspectest.<locals>.TestMemoryFS.__init__%   s+    !::fd3DIIaLG&v&    )returnN)__name__
__module____qualname__protocolr   r   __classcell__)r   s   @r   TestMemoryFSr   !   s    v	' 	'r    r'   r   T)clobber)pytestimportorskipr   r   fsspec.implementations.memoryr   fsspec.registryr   r   r   storeclear)r   r   registryr'   s       r   
fsspectestr0      sp     
!.>5'' ' I|TB
.LLD!Las   BBc            	      `    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   s7    q6266]:\15		
 r    c               #      K   t        j                  d      } | j                  d      }| |j                  j	                          y w)Nr   memory)r)   r*   
filesystemr-   r.   )r   memfss     r   
cleared_fsrC   <   s;       *Fh'E
K	KKs   AAc                    t        |j                  d            j                         }| j                  dd      5 }|j	                  |       d d d        t        ddg      }t        j                  ||       y # 1 sw Y   .xY w)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   so    szzz&'..0D	$	/ 1	
+$
@C#s#	 s   A;;Bc                 ,   ddl m} t        j                  t        d      5  t        d       d d d        d}| j                  |dd|d	       t        j                  t        |      5  t        d
       d d d        y # 1 sw Y   QxY w# 1 sw Y   y xY w)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   s    5	z)9	: 3123"G+G<
 
{'	2 /-./ /3 3/ /s   A>)B
>B
Bc                 t    |j                  dd       t        ddgd      }t        j                  ||       y )NrH   TrE   r;   r   rI   	index_col)rJ   r   rN   rO   )rC   r>   rR   s      r   test_to_csvrf   ]   s4    JJ'tJ4
+$1
MC#s#r    c                     t        j                  d       d}d| }|j                  |d       t        |dgd      }t	        j
                  ||       y )	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   sQ    

#
C &DLLTL"
Tv
;C#s#r    binary_modeFTc                    t        j                  d      }d}|rdnd}|j                  ||      j                         5 }|j                  |d       |j                  rJ 	 d d d        |j                  dd      }|j                  ||      5 }t        |d	gd
      }|j                  rJ 	 d d d        t        j                  |       y # 1 sw Y   lxY w# 1 sw Y   ,xY w)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4CD	T	%	*	*	, (

=
- '''''( <<S!D	T	% (

 !'''''( #s#( (
( (s   "CCCC"c                     t        ddgi      }|j                  dddid       | j                  d   dk(  sJ t        dddi	       | j                  d   dk(  sJ y 
Nar   testmem://test/test.csvr   	csv_writeFstorage_optionsrF   csv_readr|   )r   rJ   r   r   r0   dfs     r   test_csv_optionsr      sp    	C!:	BII!FK3HPU   ??1,,,&8LM??1+++r    c                     t        ddgi      }|j                  dddid       | j                  d   dk(  sJ t        dddi	       | j                  d   dk(  sJ y rw   )r   rJ   r   r   r   s     r   test_read_table_optionsr      sp    	C!:	BII!FK3HPU   ??1,,,(6::NO??1+++r    c                     t        j                  d       d}t        ddgi      }d| }|j                  |ddid	       | j                  d   dk(  sJ t        |dd
i       | j                  d   d
k(  sJ y )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??1(((tff%56??1'''r    c                 X    t        j                  d       |j                  dddd       y)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      s+    
&NN ]PT  r    c                     t        j                  d       t        ddgi      }|j                  dddddi       | j                  d   dk(  sJ t        dddd	i
       | j                  d   d	k(  sJ y)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
 ??1///r    c                     t        j                  d       t        ddgi      }|j                  dddddi       | j                  d   dk(  sJ t        dddd	i
       | j                  d   d	k(  sJ y)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
 ??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	        |             y )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    
OO.334I>PT	
 		 OO.334LASW	
 		 OO.334MBTX	
 		r    r%   )s3s3as3nc                     t        j                  d       t        j                  t	        | d| j
                   d|      t	        |             y )Nr   z://r   r~   r   )r   r   r%   r   s       r   test_s3_protocolsr      sK     OOj6;;<IF 	
 	r    c                     t        j                  d       t        j                  d       d| j                   d}|j                  |ddd |       t	        |d|      }t        j                  ||       y )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      sq     &
!&&'}	5BNN
%4QU   r-
FCOOCr    r   c                  ~    d} t        j                  t        |       5  t        d       d d d        y # 1 sw Y   y xY w)Nz?Missing optional dependency 'fsspec'|fsspec library is requiredrW   rH   )r)   r\   r_   r   )msgs    r   test_not_present_exceptionr     s3    
KC	{#	. +)*+ + +s   3<c                    t        j                  d       t        ddgi      }|j                  dddi       | j                  d   dk(  sJ t        dddi      }| j                  d   dk(  sJ t        j                  ||       y )	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??1000
+fn=U
VC??1///"c"r    c                     t        ddgi      }|j                  dddi       | j                  d   dk(  sJ t        dddi      }| j                  d   dk(  sJ t	        j
                  ||       y )Nrx   r   r   r   pickle_writer~   pickle_read)r   	to_pickler   r
   rN   rO   r   s      r   test_pickle_optionsr     sx    	C!:	BLL%7OLP??1///
*V]<S
TC??1..."c"r    c                     t        ddgi      }|j                  d|ddi       | j                  d   dk(  sJ t        d|ddi      }| j                  d   dk(  sJ t	        j
                  ||       y )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      }|j                  dddid       | j                  d   dk(  sJ t        dddi	      }| j                  d   dk(  sJ t	        j
                  ||j                  d
             y )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
RC??1---"cjj12r    c                     t        j                  d       t        ddgi      }|j                  dddi       | j                  d   dk(  sJ | j                  d      sJ y )Ntabulaterx   r   r   r   md_writer~   )r)   r*   r   to_markdownr   catr   s     r   test_markdown_optionsr   C  s`    

#	C!:	BNN'&*9MNN??1+++>>.///r    c                  v   t        j                  d       t        j                  t        d      5  t	        dddi       d d d        t        j                  t        d      5  t        dddi       d d d        t        j                         } t        j                  t        d      5  t	        | ddi       d d d        t        ddgi      }t        j                  t        d      5  |j                  d	ddi       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   ixY w# 1 sw Y   y xY w)
Nr   r|   rW   	localfilerx   Tr~   r   nonfsspecpath)
r)   r*   r\   r]   r   r	   ioBytesIOr   r   )byr   s     r   test_non_fsspec_optionsr   K  s   
	"	z):	; ;sDk:;	z):	; ?[3+>? 
B	z):	; 2c4[12 
C!:	B	z):	; D
oT{CD D; ;? ?
2 2D Ds/   D$D+D#,D/DD #D,/D8)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      s   	      .[[''C

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