a
    é´«jµ7  ã                
   @   s¸  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ZddlmZ ddlmZ ddlmZ e
 d¡ ddlZe
j d¡Ze
jd	d
„ ƒZe
je	jddgdd�ejg d¢dd�ejddd�ejddd�gejddd�ejddd�ggd�dd„ ƒZdd„ Z dd„ Z!dd „ Z"d!d"„ Z#d#d$„ Z$d%d&„ Z%d'd(„ Z&d)d*„ Z'd+d,„ Z(d-d.„ Z)d/d0„ Z*d1d2„ Z+e
j ,d3ej-dddd4�ej-dd5dd6d7�e .g d8¢¡g¡d9d:„ ƒZ/d;d<„ Z0d=d>„ Z1dS )?z test orc compat é    N)ÚDecimal)ÚBytesIO)Úread_orc)ÚStringArrayzpyarrow.orcz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningc                 C   s   | dddƒS )NÚioÚdataZorc© )Údatapathr   r   úW/var/www/html/laksyashrimp/venv/lib/python3.9/site-packages/pandas/tests/io/test_orc.pyÚdirpath   s    r   é   é   Zuint64©Údtype)ÚaÚbr   Úcategoryé   )ÚleftÚrighté   z
2022-01-03ÚD)Úfreqz
2022-01-04)Úparamsc                 C   s   t  d| ji¡S )NZunimpl)ÚpdÚ	DataFrameÚparam)Úrequestr   r   r
   Úorc_writer_dtypes_not_supported   s    r   c           	   	   C   s”   g d¢}dddddddd	|r d
nd	g	}t jt  d¡d�}t||ƒD ]\}}t j|d�||< qB|j d
¡|_tj 	| d¡}t
||d�}t ||¡ d S )N©	Zboolean1Zbyte1Zshort1Úint1Zlong1Zfloat1Zdouble1Zbytes1Ústring1ÚboolÚint8Úint16Úint32Úint64Úfloat32Úfloat64ÚobjectÚstrr   ©Úindexr   zTestOrcFile.emptyFile.orc©Úcolumns)r   r   Ú
RangeIndexÚzipÚSeriesr.   ÚastypeÚosÚpathÚjoinr   ÚtmÚassert_equal)	r   Úusing_infer_stringr.   ZdtypesÚexpectedZcolnamer   Ú	inputfileÚgotr   r   r
   Útest_orc_reader_empty-   s$    
÷r<   c                 C   sÐ   t jddgdd�t jddgdd�t jdd	gd
d�t jddgdd�t jddgdd�t jddgdd�t jddgdd�t jddgdd�t jddgdd�dœ	}tj |¡}tj | d¡}t|| 	¡ d�}t
 ||¡ d S )NFTr"   r   r   éd   r#   é   é   r$   é   r%   ì   ÿÿÿÿ r&   ç      ð?ç       @r'   ç      .Àç      Àr(   ó    ó    r)   ÚhiÚbyer   zTestOrcFile.test1.orcr-   )ÚnpÚarrayr   r   Ú	from_dictr3   r4   r5   r   Úkeysr6   r7   ©r   r   r9   r:   r;   r   r   r
   Útest_orc_reader_basicO   s    ÷rO   c                 C   sŠ   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d�i}tj |¡}tj | d¡}t	|ƒj
d d… }t ||¡ d S )NZ_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   r3   r4   r5   r   Úilocr6   r7   rN   r   r   r
   Útest_orc_reader_decimalc   s&    öóÿrR   c                 C   sÖ   t jg d¢dd�t jt ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡g
dd�dœ}tj |¡}tj 	| d	¡}t
|ƒjd d
… }t ||¡ 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.orcrP   ©rJ   rK   ÚdatetimerX   r   r   rL   r3   r4   r5   r   rQ   r6   r7   rN   r   r   r
   Útest_orc_reader_date_low~   s.    óöóð r[   c                 C   sÖ   t jg d¢dd�t jt ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡t ddd¡g
dd�dœ}tj |¡}tj 	| d	¡}t
|ƒjd d
… }t ||¡ 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.100900rS   r   iö  rT   rU   r)   rV   zTestOrcFile.testDate2038.orcrP   rY   rN   r   r   r
   Útest_orc_reader_date_high§   s.    óöóð r\   c                 C   sb   t jg d¢dd�t jg d¢dd�dœ}tj |¡}tj | d¡}t|ƒj	d d… }t
 ||¡ d S )	N)
iEAÚºiùîjFiAî!{iÝ~ðiY5B
i�ðrhi;õÎSinåóqið:²i‚�(är%   r   )
Zf50dcb8Z382fdaaaZ90758c6Z9e8caf3fZee97332bZd634da1Z2bea4396Zd67d89e8Zad71007eZe8c82066r)   )r    r!   zTestOrcFile.testSnappy.orcrP   )rJ   rK   r   r   rL   r3   r4   r5   r   rQ   r6   r7   rN   r   r   r
   Ú!test_orc_reader_snappy_compressedÐ   s    óóð r]   c                 C   sö   t  d¡ tjddgdd�tjddgdd�tjd	d
gdd�tjddgdd�tjddgdd�tjddgdd�tjddgdd�tjddgdd�tjddgdd�dœ	}tj |¡}t ¡ �.}| 	|¡ t
|ƒ}t ||¡ W d   ƒ n1 sè0    Y  d S ©NÚpyarrowFTr"   r   r   r=   r#   r>   r?   r$   r@   r%   rA   r&   rB   rC   r'   rD   rE   r(   rF   rG   r)   rH   rI   r   )ÚpytestÚimportorskiprJ   rK   r   r   rL   r6   Úensure_cleanÚto_orcr   r7   )r   r   r9   r4   r;   r   r   r
   Útest_orc_roundtrip_fileù   s     
÷

rd   c                  C   sÐ   t  d¡ tjddgdd�tjddgdd�tjd	d
gdd�tjddgdd�tjddgdd�tjddgdd�tjddgdd�tjddgdd�tjddgdd�dœ	} tj | ¡}| ¡ }tt	|ƒƒ}t
 ||¡ d S r^   )r`   ra   rJ   rK   r   r   rL   rc   r   r   r6   r7   )r   r9   Úbytesr;   r   r   r
   Útest_orc_roundtrip_bytesio  s    
÷rf   c                 C   sH   t  d¡ d}t jt|d�� |  ¡  W d   ƒ n1 s:0    Y  d S )Nr_   z6The dtype of one or more columns is not supported yet.©Úmatch)r`   ra   ÚraisesÚNotImplementedErrorrc   )r   Úmsgr   r   r
   Ú$test_orc_writer_dtypes_not_supported*  s    
rl   c                    s  t  d¡ t tdƒdtjdgg d¢g d¢ttddƒƒtjd	d
dd�dtjdgg d¢g d¢tj	ddd�t 
d¡tjt 
d¡gdœ¡‰ ˆ  ¡  ¡ }tt|ƒdd�}t ‡ fdd„ˆ jD ƒ¡}| �rt t ¡ ¡}|d  |¡|d< |d  |¡|d< |d  |¡|d< t ||¡ d S )Nr_   Úabcr   Úc©r   Nrn   )s   foos   barNr   é   ç      @ç      @r(   r   rC   ç      @©TFT©TFNZ20130101é   )ZperiodsZ20130103)ÚstringÚstring_with_nanÚstring_with_nonere   ÚintÚfloatÚfloat_with_nanr"   Úbool_with_narZ   Zdatetime_with_nat©Zdtype_backendc              	      s(   i | ] }|t j tjˆ | d d�¡“qS )T)Zfrom_pandas)r   ZarraysZArrowExtensionArrayÚparK   )Ú.0Úcol©Údfr   r
   Ú
<dictcomp>N  s   ÿz2test_orc_dtype_backend_pyarrow.<locals>.<dictcomp>rw   rx   ry   )r`   ra   r   r   ÚlistrJ   ÚnanÚrangeÚarangeZ
date_rangeÚ	TimestampZNaTÚcopyrc   r   r   r.   Z
ArrowDtyper   rw   r2   r6   Úassert_frame_equal)r8   Ú
bytes_dataÚresultr9   Zstring_dtyper   r‚   r
   Útest_orc_dtype_backend_pyarrow4  s>    


ýõÿ
þÿrŽ   c                  C   sŽ  t  d¡ t tdƒdtjdgg d¢ttddƒƒtjdtj	dgd	d
�tjtj	tj	tj	gd	d
�tj
dddd
�dtjdgg d¢g d¢dœ
¡} |  ¡  ¡ }tt|ƒdd�}t ttjg d¢tjd
�ƒttjdtj	dgtjd
�ƒttjdtj	dgtjd
�ƒtjg d¢d	d
�tjdtj	dgd	d
�tjtj	tj	tj	gd	d
�tjg d¢dd
�tjdtj	dgdd
�tjg d¢dd
�tjddtj	gdd
�dœ
¡}t ||¡ d S )Nr_   rm   r   rn   ro   r   rp   rv   ZInt64r   rq   rr   r(   rC   rs   rt   ru   )
rw   rx   ry   rz   Zint_with_nanZna_onlyr{   r|   r"   r}   Znumpy_nullabler~   )r   r   rn   ©r   r   rv   )rq   g      @g      @ZFloat64ÚbooleanTF)r`   ra   r   r   r…   rJ   r†   r‡   r1   ZNArˆ   rŠ   rc   r   r   r   rK   Zobject_r6   r‹   )rƒ   rŒ   r�   r9   r   r   r
   Ú%test_orc_dtype_backend_numpy_nullable^  sD    


öÿÿÿòÿr‘   c                  C   sr   t  dttddƒƒi¡} t d¡�0}|  |¡ t |¡ 	¡ }t
|ƒ}W d   ƒ n1 sX0    Y  t || ¡ d S )Nrz   r   rp   útmp.orc)r   r   r…   r‡   r6   rb   rc   ÚpathlibÚPathÚas_urir   r‹   )r9   r4   Úurir�   r   r   r
   Útest_orc_uri_path‰  s    
&r—   r,   )ÚstartÚstopÚsteprv   znon-default)r˜   r™   rš   Únamer�   c                 C   sT   t jdg d¢i| d�}d}tjt|d�� | ¡  W d   ƒ n1 sF0    Y  d S )Nr   r�   r+   z[orc does not support serializing a non-default index|orc does not serialize index meta-datarg   )r   r   r`   ri   Ú
ValueErrorrc   )r,   rƒ   rk   r   r   r
   Útest_to_orc_non_default_index’  s
    	ÿr�   c               	   C   sŽ   d} t  dttddƒƒi¡}t d¡�T}| |¡ tjt	| d�� t
|dd� W d   ƒ n1 sb0    Y  W d   ƒ n1 s€0    Y  d S )	NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rz   r   rp   r’   rg   Únumpyr~   )r   r   r…   r‡   r6   rb   rc   r`   ri   rœ   r   )rk   rƒ   r4   r   r   r
   Útest_invalid_dtype_backend¤  s    ÿ
rŸ   c                 C   s¢   | d }t jdddgid�}| |¡ t  dd¡� t|ƒ}W d   ƒ n1 sP0    Y  t jdddgit jtjd�t jdgt jtjd�d	�d
�}t	 
||¡ d S )Nztest_string_inference.pr   ÚxÚy)r   zfuture.infer_stringT)Zna_valuer   )r   r   r.   )r   r   rc   Zoption_contextr   ZStringDtyperJ   r†   ÚIndexr6   r‹   )Ztmp_pathr4   rƒ   r�   r9   r   r   r
   Útest_string_inference°  s    
&
ýr£   )2Ú__doc__rZ   Údecimalr   r   r   r3   r“   rž   rJ   r`   Zpandasr   r   Zpandas._testingZ_testingr6   Zpandas.core.arraysr   ra   r_   r   ÚmarkÚfilterwarningsZ
pytestmarkZfixturer   rK   r1   ZIntervalZPeriodr   r<   rO   rR   r[   r\   r]   rd   rf   rl   rŽ   r‘   r—   Zparametrizer/   r¢   r�   rŸ   r£   r   r   r   r
   Ú<module>   s`   
ÿ
üÿ
")))
*+	ýþ

