Ë
    ž…jl6  ã                   ó$  — 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&                  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&                  jA                  d ejB                  ddgd¬«       ejD                  g d¢d¬«       ejF                  dd¬«       ejF                  dd¬«      g ejH                  dd¬«       ejH                  dd¬«      gg«      d„ «       Z%d „ Z&d!„ Z'd"„ Z(e	j&                  jA                  d# ejR                  ddd¬$«       ejR                  dd%dd&¬'«       ejT                  g d(¢«      g«      d)„ «       Z+d*„ Z,d+„ Z-y),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    úY/root/aria/tools/markitdown-venv/lib/python3.12/site-packages/pandas/tests/io/test_orc.pyÚdirpathr      s   € á�D˜& %Ó(Ð(ó    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
                  j                  d
«      |_        t        j                  j                  | d«      }t        ||¬«      }t        j                  ||«       y )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ð 	ØØØØØØØÙ#‰¨ð
€Fô �|‰|¤"§-¡-°Ó"2Ô3€HÜ˜g v°dÔ;ò 3‰ˆ�ÜŸI™I¨EÔ2ˆ�Òð3à×'Ñ'×.Ñ.¨uÓ5€HÔä—‘—‘˜WÐ&AÓB€IÜ
�9 gÔ
.€Cä‡O�O�H˜cÕ"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                  j	                  |«      }t
        j                  j                  | d«      }t        ||j                  «       ¬«      }t        j                  ||«       y )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   ?   sû   € ä—H‘H˜e T˜]°&Ô9Ü—‘˜1˜c˜(¨&Ô1Ü—(‘(˜D $˜<¨wÔ7Ü—‘˜% ˜¨wÔ7Ü—‘Ð.Ð0CÐDÈGÔTÜ—(‘(˜C ˜:¨YÔ7Ü—8‘8˜U D˜M°Ô;Ü—(‘(Ð3°SÐ9ÀÔJÜ—8‘8˜T 5˜M°Ô:ñ
€Dô �|‰|×%Ñ% dÓ+€Hä—‘—‘˜WÐ&=Ó>€IÜ
�9 d§i¡i£kÔ
2€Cä‡O�O�H˜cÕ"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                  j                  |«      }t        j                  j                  | d«      }t        |«      j                  d d }t        j                  ||«       y )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Ó
×
"Ñ
" 3 BÐ
'€Cä‡O�O�H˜cÕ"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
                  j                  |«      }t        j                  j                  | d	«      }t        |«      j                  d d
 }t        j                  ||«       y )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   ó(  € ä—‘òð #ô
ô —‘ä—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+Ü—‘˜d B¨Ó+ðð ô
ñ!€Dô@ �|‰|×%Ñ% dÓ+€Hä—‘—‘˜WÐ&DÓE€IÜ
�9Ó
×
"Ñ
" 3 BÐ
'€Cä‡O�O�H˜cÕ"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
                  j                  |«      }t        j                  j                  | d	«      }t        |«      j                  d d
 }t        j                  ||«       y )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                 óD  — t        j                  g d¢d¬«      t        j                  g d¢d¬«      dœ}t        j                  j	                  |«      }t
        j                  j                  | d«      }t        |«      j                  d d }t        j                  ||«       y )	N)
iEAÚºiùîjFiAî!{iÝ~ðiY5B
i�ðrhi;õÎSinåóqið:²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‘8òð ô
ñ!€Dô@ �|‰|×%Ñ% dÓ+€Hä—‘—‘˜WÐ&BÓC€IÜ
�9Ó
×
"Ñ
" 3 BÐ
'€Cä‡O�O�H˜cÕ"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
                  j                  |«      }|j                  |«       t        |«      }t        j                  ||«       y ©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ü   € ô ×Ñ˜	Ô"ô —H‘H˜e T˜]°&Ô9Ü—‘˜1˜c˜(¨&Ô1Ü—(‘(˜D $˜<¨wÔ7Ü—‘˜% ˜¨wÔ7Ü—‘Ð.Ð0CÐDÈGÔTÜ—(‘(˜C ˜:¨YÔ7Ü—8‘8˜U D˜M°Ô;Ü—(‘(Ð3°SÐ9ÀÔJÜ—8‘8˜T 5˜M°Ô:ñ
€Dô �|‰|×%Ñ% dÓ+€Hà‡O�O�IÔÜ
�9Ó
€Cä‡O�O�H˜cÕ"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
                  j                  | «      }|j                  «       }t        t        |«      «      }t        j                  ||«       y ro   )rq   rr   rJ   rK   r*   r+   rL   rs   r   r   r3   r4   )r   r7   Úbytesr:   s       r   Útest_orc_roundtrip_bytesiorx     s   € ô ×Ñ˜	Ô"ô —H‘H˜e T˜]°&Ô9Ü—‘˜1˜c˜(¨&Ô1Ü—(‘(˜D $˜<¨wÔ7Ü—‘˜% ˜¨wÔ7Ü—‘Ð.Ð0CÐDÈGÔTÜ—(‘(˜C ˜:¨YÔ7Ü—8‘8˜U D˜M°Ô;Ü—(‘(Ð3°SÐ9ÀÔJÜ—8‘8˜T 5˜M°Ô:ñ
€Dô �|‰|×%Ñ% dÓ+€Hà�O‰OÓ€EÜ
”7˜5“>Ó
"€Cä‡O�O�H˜cÕ"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  |j                  «        d d d «       y # 1 sw Y   y xY w)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�     sX   € ô ×Ñ˜	Ô"ä	�‰�xÐ!@ÐAÓ	B€BØ
B€CÜ	�‰Ô*°#Ô	6ñ Ø
�	‰	Œ÷÷ ñ ús   Á
A$Á$A-c                 ó0  — 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   j                  d«      |d<   |j                  «       j                  «       }t        t!        |«      d¬«      }t        j                  |j"                  D �ci c]:  }|t        j$                  j'                  t)        j*                  ||   d¬«      «      “Œ< c}«      }| rlt        j,                  t)        j.                  «       «      }|d   j                  |«      |d<   |d   j                  |«      |d<   |d   j                  |«      |d<   t1        j2                  ||«       y c c}w )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_backendT)Úfrom_pandasrž   rŸ   r    )rq   rr   r*   r+   ÚlistrJ   ÚnanÚrangeÚarangeÚ
date_rangeÚ	TimestampÚNaTr/   Úcopyrs   r   r   r)   ÚarraysÚArrowExtensionArrayÚparK   Ú
ArrowDtyperž   r3   Úassert_frame_equal)r5   r‹   Ú
bytes_dataÚresultÚcolr7   Ústring_dtypes          r   Útest_orc_dtype_backend_pyarrowrº   -  s¶  € Ü
×Ñ˜	Ô"Ü	�‰ä˜5“kØ #¤R§V¡V¨SÐ1Ú 0Ú+Üœ˜a ›Ó$Ü—Y‘Y˜s C¨yÔ9Ø"¤B§F¡F¨CÐ0Ú'Ú/ÜŸ™ j¸!À$ÔGä—‘˜ZÓ(Ü—‘Ü—‘˜ZÓ(ð"ñ	
ó
€Bð( !Ð!4Ñ5×<Ñ<¸XÓF€BÐÑà—‘“×!Ñ!Ó#€JÜ”g˜jÓ)¸ÔC€Fä�|‰|ð —z‘zö	
àð ”—‘×.Ñ.¬r¯x©x¸¸3¹ÈTÔ/RÓSÑSò	
ó€Hñ ô —}‘}¤R§Y¡Y£[Ó1ˆØ% hÑ/×6Ñ6°|ÓDˆ�ÑØ&.Ð/@Ñ&A×&HÑ&HÈÓ&VˆÐ"Ñ#Ø'/Ð0BÑ'C×'JÑ'JÈ<Ó'XˆÐ#Ñ$ä×Ñ˜& (Õ+ùò	
s   Å?H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œ
«      } | j                  «       j                  «       }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$                  ||«       y )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  sÞ  € ä
×Ñ˜	Ô"Ü	�‰ä˜5“kØ #¤R§V¡V¨SÐ1Ú 0Üœ˜a ›Ó$ÜŸI™I q¬"¯%©%° m¸7ÔCÜ—y‘y¤"§%¡%¬¯©´·±Ð!6¸gÔFÜ—Y‘Y˜s C¨yÔ9Ø"¤B§F¡F¨CÐ0Ú'Ú/ñ	
ó
€Bð —‘“×!Ñ!Ó#€JÜ”g˜jÓ)Ð9IÔJ€Fä�|‰|ä—h‘hš´b·n±nÓ6FÔGÜ!Ÿx™x¨¬b¯e©e°SÐ(9ÄÇÁÓAQÔRÜ "§¡¨#¬r¯u©u°cÐ):Ä"Ç.Á.ÓBRÔ SÜ—9‘9šY¨gÔ6ÜŸI™I q¬"¯%©%° m¸7ÔCÜ—y‘y¤"§%¡%¬¯©´·±Ð!6¸gÔFÜ—Y‘Yš°iÔ@Ü Ÿi™i¨¬b¯e©e°SÐ(9ÀÔKÜ—I‘IÒ1¸ÔCÜŸI™I t¨U´B·E±EÐ&:À)ÔLñ	
ó€Hô ×Ñ˜& (Õ+r   c           	      óÜ   — t        j                  dt        t        dd«      «      i«      }|j	                  | «       | j                  «       }t        |«      }t        j                  ||«       y )Nr¡   r=   r’   )	r*   r+   r©   r«   rs   Úas_urir   r3   rµ   )rt   r7   Úurir·   s       r   Útest_orc_uri_pathrÉ   €  sS   € Ü�|‰|˜U¤D¬¨q°!«Ó$5Ð6Ó7€HØ‡O�O�IÔØ
×
Ñ
Ó
€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  |j                  «        d d d «       y # 1 sw Y   y xY w)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Ð   ˆ  sQ   € ô 
�‰�sšIÐ&¨eÔ	4€Bð	1ð ô 
�‰”z¨Ô	-ñ Ø
�	‰	Œ÷÷ ñ ús   ¹AÁAc           	      óø   — d}t        j                  dt        t        dd«      «      i«      }|j	                  | «       t        j                  t        |¬«      5  t        | d¬«       d d d «       y # 1 sw Y   y xY w)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Ó   š  se   € ð	!ð ô 
�‰�uœd¤5¨¨A£;Ó/Ð0Ó	1€BØ‡I�IˆiÔÜ	�‰”z¨Ô	-ñ 3Ü�¨'Õ2÷3÷ 3ñ 3ús   ÁA0Á0A9c           
      óÞ  — t        j                  dddgi¬«      }|j                  | «       t        j                  dd«      5  t	        | «      }d d d «       t        j                  dddgit        j
                  t        j                  ¬«      t        j                  dgt        j
                  t        j                  ¬«      ¬«      ¬	«      }t        j                  |«       y # 1 sw Y   Œ–xY w)
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Ø‡I�IˆiÔÜ	×	Ñ	Ð0°$Ó	7ñ %Ü˜)Ó$ˆ÷%ä�|‰|Ø�C˜�:ÐÜ�n‰n¤b§f¡fÔ-Ü—‘˜#˜¤b§n¡n¼b¿f¹fÔ&EÔFô€Hô
 ×Ñ˜& (Õ+÷%ð %ús   ÁC#Ã#C,).Ú__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Ø	ˆ�‰˜! 1Ô	% { r§{¡{¸ÀÔ'CÐDØ	ˆ�‰�< cÔ	*¨I¨B¯I©I°lÈÔ,MÐNð	óñóðò),òX$,òN,ð ‡�×ÑØàˆ�‰˜A A¨AÔ.Øˆ�‰˜A A¨A°MÔBØˆ�‰’Óðóñóðò3ó,r   