
    Oh3)                     Z   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.                  j1                  d      Zej4                  d        Zej4                  d        Zej4                  d        Zd	 Zd
 Zd Z d Z!ej.                  jE                  dddg      d        Z#d Z$d Z%d Z&d Z'd Z(ejR                  d        Z*ej.                  jV                  d        Z,ej.                  jV                  ej.                  jE                  dg d      d               Z-ej.                  j]                   e       d      ej.                  jV                  ejR                  d                      Z/ ej`                  d      d        Z1d  Z2d! Z3d" Z4d# Z5d$ Z6d% Z7y)&    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	
        |        |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     c/var/www/html/diagnosisapp-backend/venv/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    
fsspectestr1      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?   2   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_fsrD   >   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)rD   r?   textwdf2s        r    test_read_csvrT   G   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-   rV   r*   raises
ValueErrorr   setitemImportError)monkeypatchrD   rV   err_msgs       r    test_reasonable_errorrc   P   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 )NrI   TrF   r<   r   rJ   	index_col)rK   r   rO   rP   )rD   r?   rS   s      r    test_to_csvrg   _   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.TrF   r<   r   re   )r*   r+   to_excelr   rO   rP   )rD   r?   extpathrS   s        r    test_to_excelrn   g   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   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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_optionsrG   csv_readr}   )r   rK   r   r   r1   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 rx   )r   rK   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 )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??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.fastparquetrI   TN)rG   enginecompression)r*   r+   
to_parquet)rD   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   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
 ??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   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
 ??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+   rO   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!   zTODO(infer_string) fastparquet)reasonc                     t        j                  d       t        j                  d       d| j                   d}|j                  |ddd |       t	        |d|      }t        j                  ||       y )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     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 requiredrX   rI   )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   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??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 )Nry   r   r   r   pickle_writer   pickle_read)r   	to_pickler   r   rO   rP   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 )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      }|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 )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
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tabulatery   r   r   r   md_writer   )r*   r+   r   to_markdownr   catr   s     r    test_markdown_optionsr   F  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}   rX   	localfilery   Tr   r   nonfsspecpath)
r*   r+   r]   r^   r   r
   ioBytesIOr   r   )byr   s     r    test_non_fsspec_optionsr   N  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)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      s   	   -    .[[''C

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