
    d=1                         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
mc mZ ddlZddlm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	 ej        d
dgd          i           ej        d	 ej        g dd          i           ej        d	 ej        dd           ej        dd          gi           ej        d	 ej        dd           ej        dd          gi           ej        d	ej         gdz  i          !                     ej"        dej                             gZ#d Z$d Z%d Z&d Z'd Z(d Z) ej*        dd !          d"             Z+ ej*        dd !          d#             Z, ej*        dd !          e	j-        .                    d$e#          d%                         Z/ ej*        dd !          d&             Z0 ej*        dd !          d'             Z1d( Z2dS ))z test orc compat     N)Decimal)BytesIO)read_orc)StringArrayzpyarrow.orcc                      | ddd          S )Niodataorc )datapaths    T/var/www/html/t/fyr/venv311/lib/python3.11/site-packages/pandas/tests/io/test_orc.pydirpathr      s    8D&%(((    unimpl      uint64dtype)abr   category   )leftright   z
2022-01-03D)freqz
2022-01-042   floatc                 L   g d}g d}t          j        t          j        d                    }t          ||          D ]\  }}t          j        |          ||<   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objectr3   r   )indexr   zTestOrcFile.emptyFile.orccolumns)pd	DataFrame
RangeIndexzipSeriesospathjoinr   tmassert_equal)r   r6   dtypesexpectedcolnamer   	inputfilegots           r   test_orc_reader_emptyrF   0   s    
 
 
G
 
 
F |"-"2"2333Hgv.. 3 3IE222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   r   d   r-         r.      r/       r0         ?       @r1         .      r2       r   r3   hibyer"   zTestOrcFile.test1.orcr5   )nparrayr7   r8   	from_dictr<   r=   r>   r   keysr?   r@   r   r	   rB   rD   rE   s        r   test_orc_reader_basicrY   Q   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.14000r3   r   zTestOrcFile.decimal.orc
   )rT   rU   r   r7   r8   rV   r<   r=   r>   r   ilocr?   r@   rX   s        r   test_orc_reader_decimalr^   e   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        r3   timedatezTestOrcFile.testDate1900.orcr\   rT   rU   datetimere   r7   r8   rV   r<   r=   r>   r   r]   r?   r@   rX   s        r   test_orc_reader_date_lowrh      _      #
 
 
 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.100900r`   r   i  ra   rb   r3   rc   zTestOrcFile.testDate2038.orcr\   rf   rX   s        r   test_orc_reader_date_highrk      ri   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e8c82066r3   )r&   r+   zTestOrcFile.testSnappy.orcr\   )rT   rU   r7   r8   rV   r<   r=   r>   r   r]   r?   r@   rX   s        r   !test_orc_reader_snappy_compressedrw      s       
 
 
 8   
 
 
! D@ |%%d++HW&BCCI
9


"3B3
'COHc"""""r   pyarrowz7.0.0)min_versionc                    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                    5 }|                    |           t          |          }t          j	        ||           d d d            d S # 1 swxY w Y   d S NFTr,   r   r   rH   r-   rI   rJ   r.   rK   r/   rL   r0   rM   rN   r1   rO   rP   r2   rQ   r   r3   rR   rS   r"   )
rT   rU   r7   r8   rV   r?   ensure_cleanto_orcr   r@   )r   r	   rB   r=   rE   s        r   test_orc_roundtrip_filer~      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			 'dtnn
#&&&	' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ' 's   :EEEc                  r   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 r{   )
rT   rU   r7   r8   rV   r}   r   r   r?   r@   )r	   rB   bytesrE   s       r   test_orc_roundtrip_bytesior     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   df_not_supportedc                     d}t          j        t          |          5  |                                  d d d            d S # 1 swxY w Y   d S )Nz6The dtype of one or more columns is not supported yet.match)pytestraisesNotImplementedErrorr}   )r   msgs     r   $test_orc_writer_dtypes_not_supportedr   *  s    
 CC	*#	6	6	6 " "!!!" " " " " " " " " " " " " " " " " "s   A  AAc                     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          t          j        d          t           j	        t          j        d          gd          
                                                                } t          t          |           d          }t          j        fdj        D                       }t          j        ||           d S )Nabcr   cr   Nr   )s   foos   barNr            @      @r2   r   rN         @TFTTFN20130101   )periods20130103)stringstring_with_nanstring_with_noner   intr    float_with_nanr,   bool_with_narg   datetime_with_natrx   dtype_backendc           	          i | ]<}|t           j                            t          j        |         d                     =S )T)from_pandas)r7   arraysArrowExtensionArrayparU   ).0coldfs     r   
<dictcomp>z2test_orc_dtype_backend_pyarrow.<locals>.<dictcomp>N  sN     	
 	
 	
 ..rx3T/R/R/RSS	
 	
 	
r   )r7   r8   listrT   nanrangearange
date_range	TimestampNaTcopyr}   r   r   r6   r?   assert_frame_equal)
bytes_dataresultrB   r   s      @r   test_orc_dtype_backend_pyarrowr   4  sI   	5kk #RVS1 0 0 0+++a$$YsCy999"BFC0'''///j!<<<Z((Z(("	
 	

 
B( !!##Jgj))CCCF|	
 	
 	
 	
z	
 	
 	
 H &(+++++r   c                     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          t          j        g dt          j        	                    t          t          j        dt           j        dgt          j        	                    t          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 )Nr   r   r   r   r   r   r   Int64r   r   r   r2   rN   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)r7   r8   r   rT   r   r   r;   NAr   r   r}   r   r   r   rU   object_r?   r   )r   r   r   rB   s       r   %test_orc_dtype_backend_numpy_nullabler   W  sS    
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|!"(???"*"M"M"MNN*#ruc*"*===    !,#ruc*"*===! ! 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            	      x   d} t          j        dt          t          dd                    i          }t	          j        d          5 }|                    |           t          j        t          |           5  t          |d           d d d            n# 1 swxY w Y   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   ztmp.orcr   numpyr   )r7   r8   r   r   r?   r|   r}   r   r   
ValueErrorr   )r   r   r=   s      r   test_invalid_dtype_backendr     s/   	!  
ud5A;;//0	1	1B		#	# 2t
		$]:S111 	2 	2T1111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2s6   1B/9BB/B	B/B	B//B36B3)3__doc__rg   decimalr   r   r   r<   r   rT   r   pandas.util._test_decoratorsutil_test_decoratorstdpandasr7   r   pandas._testing_testingr?   pandas.core.arraysr   importorskiprx   r   fixturer   r8   rU   r;   IntervalPeriodr   astypeSparseDtypeorc_writer_dtypes_not_supportedrF   rY   r^   rh   rk   rw   
skip_if_nor~   r   markparametrizer   r   r   r   r   r   r   <module>r      s                  				      ) ) ) ) ) ) ) ) )                 * * * * * *  M " " "     ) ) ) BL(HBHaWH===>??BL(IBIoooZHHHIJJBL	KBKQa000+"+1A2N2N2NOP  BL	,S111	,S111	
  BL(RVHrM*++22>2>'263R3RSS# $# # #B# # #(# # #6&# &# &#R&# &# &#R&# &# &#R yg...' ' /.'. yg...# # /.#, yg...+-LMM" " NM /." yg..., , /.,D yg...', ', /.',T	2 	2 	2 	2 	2r   