
    Pil6                         d Z ddlZddlmZ ddlmZ ddlZddlZddl	Z	ddl
Zddl
mZ ddlmZ  e	j        d           ddlZe	j                            d          Ze	j        d             Zd	 Zd
 Zd Zd Zd Zd Zd Zd Ze	j                             d ej!        ddgd           ej"        g dd           ej#        dd           ej#        dd          g ej$        dd           ej$        dd          gg          d             Z%d  Z&d! Z'd" Z(e	j                             d# ej)        ddd$           ej)        dd%dd&'           ej*        g d(          g          d)             Z+d* Z,d+ Z-dS ),ztest orc compat    N)Decimal)BytesIO)read_orczpyarrow.orcz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                      | ddd          S )Niodataorc )datapaths    l/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/pandas/tests/io/test_orc.pydirpathr      s    8D&%(((    c           	         g d}dddddddd	|rd
nd	g	}t          j        t          j        d                    }t          ||d          D ]\  }}t          j        |          ||<   |j                            d
          |_        t          j        	                    | d          }t          ||          }t          j        ||           d S )N	boolean1byte1short1int1long1float1double1bytes1string1boolint8int16int32int64float32float64objectstrr   indexT)strictdtypezTestOrcFile.emptyFile.orccolumns)pd	DataFrame
RangeIndexzipSeriesr)   astypeospathjoinr   tmassert_equal)	r   using_infer_stringr)   dtypesexpectedcolnamer'   	inputfilegots	            r   test_orc_reader_emptyr;      s    
 
 
G 	#1
F |"-"2"2333Hgvd;;; 3 3IE222'..u55HW&ABBI
9g
.
.
.COHc"""""r   c                    t          j        ddgd          t          j        ddgd          t          j        dd	gd
          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          d	}t          j                            |          }t
          j                            | d          }t          ||	                                          }t          j        ||           d S )NFTr   r&      d   r         r      r       r         ?       @r         .      r        r   r!   hibyer   zTestOrcFile.test1.orcr(   )nparrayr*   r+   	from_dictr0   r1   r2   r   keysr3   r4   r   r   r7   r9   r:   s        r   test_orc_reader_basicrO   ?   s8   HeT]&9991c(&111(D$<w777%w777.0CDGTTT(C:Y7778UDM;;;(3S9JJJ8T5M:::
 
D |%%d++HW&=>>I
9diikk
2
2
2COHc"""""r   c                 .   dt          j        t          d          t          d          t          d          t          d          t          d          t          d          t          d          t          d	          t          d
          t          d          g
d          i}t          j                            |          }t          j                            | d          }t          |          j
        d d         }t          j        ||           d S )N_col0z-1000.50000z
-999.60000z
-998.70000z
-997.80000z
-996.90000z
-995.10000z
-994.11000z
-993.12000z
-992.13000z
-991.14000r!   r&   zTestOrcFile.decimal.orc
   )rJ   rK   r   r*   r+   rL   r0   r1   r2   r   ilocr3   r4   rN   s        r   test_orc_reader_decimalrT   S   s     	&&%%%%%%%%%%%%%%%%%% 
 
 
D" |%%d++HW&?@@I
9


"3B3
'COHc"""""r   c                    t          j        g dd          t          j        t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          g
d          d}t          j                            |          }t          j        	                    | d	          }t          |          j        d d
         }t          j        ||           d S )N)
z1900-05-05 12:34:56.100000z1900-05-05 12:34:56.100100z1900-05-05 12:34:56.100200z1900-05-05 12:34:56.100300z1900-05-05 12:34:56.100400z1900-05-05 12:34:56.100500z1900-05-05 12:34:56.100600z1900-05-05 12:34:56.100700z1900-05-05 12:34:56.100800z1900-05-05 12:34:56.100900datetime64[ns]r&   il        r!   timedatezTestOrcFile.testDate1900.orcrR   rJ   rK   datetimer[   r*   r+   rL   r0   r1   r2   r   rS   r3   r4   rN   s        r   test_orc_reader_date_lowr^   n   _      #
 
 
 dB++dB++dB++dB++dB++dB++dB++dB++dB++dB++ 
 
 
! D@ |%%d++HW&DEEI
9


"3B3
'COHc"""""r   c                    t          j        g dd          t          j        t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          t          j        ddd          g
d          d}t          j                            |          }t          j        	                    | d	          }t          |          j        d d
         }t          j        ||           d S )N)
z2038-05-05 12:34:56.100000z2038-05-05 12:34:56.100100z2038-05-05 12:34:56.100200z2038-05-05 12:34:56.100300z2038-05-05 12:34:56.100400z2038-05-05 12:34:56.100500z2038-05-05 12:34:56.100600z2038-05-05 12:34:56.100700z2038-05-05 12:34:56.100800z2038-05-05 12:34:56.100900rV   r&   i  rW   rX   r!   rY   zTestOrcFile.testDate2038.orcrR   r\   rN   s        r   test_orc_reader_date_highra      r_   r   c                 H   t          j        g dd          t          j        g dd          d}t          j                            |          }t
          j                            | d          }t          |          j	        d d         }t          j        ||           d S )	N)
iEAںijFiA!{i~iY5B
irhi;Sinqi:i(r   r&   )
f50dcb8382fdaaa90758c69e8caf3fee97332bd634da12bea4396d67d89e8ad71007ee8c82066r!   )r   r   zTestOrcFile.testSnappy.orcrR   )rJ   rK   r*   r+   rL   r0   r1   r2   r   rS   r3   r4   rN   s        r   !test_orc_reader_snappy_compressedrm      s       
 
 
 8   
 
 
! D@ |%%d++HW&BCCI
9


"3B3
'COHc"""""r   c                    t          j        d           t          j        ddgd          t          j        ddgd          t          j        d	d
gd          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          d	}t          j                            |          }|                    |           t          |          }t          j
        ||           d S NpyarrowFTr   r&   r=   r>   r   r?   r@   r   rA   r   rB   r   rC   rD   r   rE   rF   r    rG   r   r!   rH   rI   r   )pytestimportorskiprJ   rK   r*   r+   rL   to_orcr   r3   r4   )r   	temp_filer   r7   r:   s        r   test_orc_roundtrip_fileru      s<    	""" HeT]&9991c(&111(D$<w777%w777.0CDGTTT(C:Y7778UDM;;;(3S9JJJ8T5M:::
 
D |%%d++HOOI
9

COHc"""""r   c                     t          j        d           t          j        ddgd          t          j        ddgd          t          j        d	d
gd          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          t          j        ddgd          d	} t          j                            |           }|                                }t          t          |                    }t          j        ||           d S ro   )rq   rr   rJ   rK   r*   r+   rL   rs   r   r   r3   r4   )r   r7   bytesr:   s       r   test_orc_roundtrip_bytesiorx     s?    	""" HeT]&9991c(&111(D$<w777%w777.0CDGTTT(C:Y7778UDM;;;(3S9JJJ8T5M:::
 
D |%%d++HOOE
75>>
"
"COHc"""""r   orc_writer_dtypes_not_supportedr=      uint64r&   )abr|   category   )leftright   z
2022-01-03D)freqz
2022-01-04c                     t          j        d           t          j        d| i          }d}t          j        t
          |          5  |                                 d d d            d S # 1 swxY w Y   d S )Nrp   unimplz6The dtype of one or more columns is not supported yet.match)rq   rr   r*   r+   raisesNotImplementedErrorrs   )ry   dfmsgs      r   $test_orc_writer_dtypes_not_supportedr     s     	"""	x!@A	B	BB
BC	*#	6	6	6  
		                 s   A**A.1A.c                    t          j        d           t          j        t	          d          dt
          j        dgg dg dt	          t          dd                    t          j        d	d
d          dt
          j        dgg dg dt          j	        ddd          t          j
        d          t          j        t          j
        d          gd          d                             d          d<                                                                   }t          t!          |          d          }t          j        fdj        D                       }| rt          j        t'          j                              }|d                             |          |d<   |d                             |          |d<   |d                             |          |d<   t+          j        ||           d S )Nrp   abcr|   cr|   Nr   )s   foos   barNr=            @      @r    r&   rD         @TFTTFN20130101   ns)periodsunit20130103)stringstring_with_nanstring_with_nonerw   intfloatfloat_with_nanr   bool_with_nar]   datetime_with_natr   zM8[ns]dtype_backendc           	          i | ]<}|t           j                            t          j        |         d                     =S )T)from_pandas)r*   arraysArrowExtensionArrayparK   ).0colr   s     r   
<dictcomp>z2test_orc_dtype_backend_pyarrow.<locals>.<dictcomp>I  sN     	
 	
 	
 ..rx3T/R/R/RSS	
 	
 	
r   r   r   r   )rq   rr   r*   r+   listrJ   nanrangearange
date_range	TimestampNaTr/   copyrs   r   r   r)   
ArrowDtyper   r   r3   assert_frame_equal)r5   
bytes_dataresultr7   string_dtyper   s        @r   test_orc_dtype_backend_pyarrowr   -  s   
	"""	5kk #RVS1 0 0 0+++a$$YsCy999"BFC0'''///j!$GGGZ((Z(("	
 	

 
B( !!45<<XFFB!!##Jgj))CCCF|	
 	
 	
 	
z	
 	
 	
 H  Y }RY[[11%h/66|DD&./@&A&H&H&V&V"#'/0B'C'J'J<'X'X#$&(+++++r   c                     t          j        d           t          j        t	          d          dt
          j        dgg dt	          t          dd                    t          j        dt          j	        dgd	
          t          j        t          j	        t          j	        t          j	        gd	
          t          j
        ddd
          dt
          j        dgg dg dd
          } |                                                                 }t          t          |          d          }t          j        t          j        g dt          j                    
          t          j        dt          j	        dgt          j                    
          t          j        dt          j	        dgt          j                    
          t          j        g dd	
          t          j        dt          j	        dgd	
          t          j        t          j	        t          j	        t          j	        gd	
          t          j        g dd
          t          j        dt          j	        dgd
          t          j        g dd
          t          j        ddt          j	        gd
          d
          }t#          j        ||           d S )Nrp   r   r|   r   r   r=   r   r   Int64r&   r   r   r    rD   r   r   r   )
r   r   r   r   int_with_nanna_onlyr   r   r   r   numpy_nullabler   )r|   r}   r   r=   r   r   )r   g      @g      @Float64booleanTF)rq   rr   r*   r+   r   rJ   r   r   r.   NAr   r   rs   r   r   rK   StringDtyper3   r   )r   r   r   r7   s       r   %test_orc_dtype_backend_numpy_nullabler   Y  sN   
	"""	5kk #RVS1 0 0 0a$$Iq"%m7CCCy"%!6gFFFYsCy999"BFC0'''///	
 	

 
B !!##Jgj))9IJJJF|hbn6F6FGGG!xbeS(9AQAQRRR "#ruc):".BRBR S S S9YYYg666Iq"%m7CCCy"%!6gFFFYi@@@ ibeS(9KKKI111CCCItUBE&:)LLL	
 	
 H &(+++++r   c           	         t          j        dt          t          dd                    i          }|                    |            |                                 }t          |          }t          j        ||           d S )Nr   r=   r   )	r*   r+   r   r   rs   as_urir   r3   r   )rt   r7   urir   s       r   test_orc_uri_pathr     sm    |UDq!$5$5677HOOI




Cc]]F&(+++++r   r$   )startstopstepr   znon-default)r   r   r   namer   c                     t          j        dg di|           }d}t          j        t          |          5  |                                 d d d            d S # 1 swxY w Y   d S )Nr|   r   r#   z[orc does not support serializing a non-default index|orc does not serialize index meta-datar   )r*   r+   rq   r   
ValueErrorrs   )r$   r   r   s      r   test_to_orc_non_default_indexr     s     
sIII&e	4	4	4B	1  
z	-	-	-  
		                 s   AA!Ac           	          d}t          j        dt          t          dd                    i          }|                    |            t          j        t          |          5  t          | d           d d d            d S # 1 swxY w Y   d S )NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.r   r=   r   r   numpyr   )	r*   r+   r   r   rs   rq   r   r   r   )rt   r   r   s      r   test_invalid_dtype_backendr     s    	!  
ud5A;;//0	1	1BIIi	z	-	-	- 3 3'22223 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s   $BB
Bc           
         t          j        dddgi          }|                    |            t          j        dd          5  t	          |           }d d d            n# 1 swxY w Y   t          j        dddgit          j        t          j                  t          j        dgt          j        t          j                            	          }t          j
        ||           d S )
Nr|   xy)r   zfuture.infer_stringT)na_valuer&   )r   r'   r)   )r*   r+   rs   option_contextr   r   rJ   r   Indexr3   r   )rt   r   r   r7   s       r   test_string_inferencer     s   	C#s,	-	-	-BIIi		0$	7	7 % %)$$% % % % % % % % % % % % % % %|C:nbf---#bnbf&E&E&EFFF  H
 &(+++++s   A  A$'A$).__doc__r]   decimalr   r   r   r0   r   rJ   rq   pandasr*   r   pandas._testing_testingr3   rr   rp   r   markfilterwarnings
pytestmarkfixturer   r;   rO   rT   r^   ra   rm   ru   rx   parametrizerK   r.   IntervalPeriodr   r   r   r   r,   r   r   r   r   r
   r   r   <module>r      s                  				                       M " " "    [''C 

 ) ) )# # #D# # #(# # #6&# &# &#R&# &# &#R&# &# &#R# # #0# # #0 %!R)))	///444	!1	%	%	%{r{'C'C'CD	<c	*	*	*IBIl,M,M,MN	   ), ), ),X$, $, $,N, , , AAA...AAAMBBB   3 3 3, , , , ,r   