
    m*i'                         S r SSKrSSKrSSKJrJr  SSKrSSK	J
r  SSKJrJr  \R                  R!                  S5      r\R$                  " S5      r\R                  R(                   " S S5      5       rg)	ztest feather-format compat     N)pa_version_under18p0pa_version_under19p0)read_feather
to_featherz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningpyarrowc                   ,   \ rS rSrS rS rS0 4S jrS rS rS r	S	 r
S
 rS rS rS rS rS r\R$                  R&                  \R$                  R(                  S 5       5       rS rS rS rS r\R$                  R5                  \SS9S 5       rSrg)TestFeather   c                     [         R                  " X#S9   [        R                  " 5        n[	        X5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)Nmatch)pytestraisestmensure_cleanr   )selfdfexcerr_msgpaths        \/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/pandas/tests/io/test_feather.pycheck_error_on_write TestFeather.check_error_on_write   sA     ]]3."d2$ # /."" /.s!   AAA
A	A
A'c                     [         R                  " [        5         [         R                  " 5        n[	        X5        S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = fN)r   external_error_raised	Exceptionr   r   )r   r   r   s      r   check_external_error_on_write)TestFeather.check_external_error_on_write!   sC     %%i0"d2$ # 10"" 10s!   AAA
A	A
A-Nc                     Uc  UR                  5       n[        R                  " 5        n[        X40 UD6  [	        U40 UD6n[        R
                  " Xb5        S S S 5        g ! , (       d  f       g = fr   )copyr   r   r   r   assert_frame_equal)r   r   expectedwrite_kwargsread_kwargsr   results          r   check_round_tripTestFeather.check_round_trip)   sU    wwyH__$r0<0!$6+6F!!&3 s   /A!!
A/c                     Sn[         R                  " / SQ5      SS[         R                  " S5      [        R                  " / SQ5      4 H  nU R                  U[        U5        M     g )Nz'feather only support IO with DataFrames         r+   foo20130101)pdSeries	Timestampnparrayr   
ValueError)r   msgobjs      r   
test_errorTestFeather.test_error4   sQ    7IIi LL$HHY
C %%c:s;
    c                 X   [         R                  " [        S5      [        [        SS5      5      [        R
                  " SS5      R                  S5      [        R
                  " SSS	S
9S[        R                  S// SQS[        R                  S/[         R                  " [        S5      5      [         R                  " [        [         R                  " SSS95      S S9[         R                  " [        [         R                  " SSSS95      S S9[         R                  " S5      [         R                  [         R                  " S5      /[         R                  " [        [         R                  " SSSS95      S S9S.5      n[         R                  " SSSS9US'   [         R                  " SSS9US'   [         R                  " SSS5      US'   UR                   R"                  R$                  R&                  S:X  d   eUR)                  5       nS UR*                  S '   U R-                  XS!9  g )"Nabcr+      r-      u1g      @g      @float64dtypeg      ?TFTTFr/   )periods)freqz
US/Eastern)rD   tz20130103ns)rD   rE   )stringintuintfloatfloat_with_nullboolbool_with_nullcatdtdttzdt_with_nulldtns2013M)rE   rD   rD   z1 day
timedeltasr   	intervals)r+   rO   )r#   )r0   	DataFramelistranger3   arangeastypenanCategoricalDatetimeIndex
date_ranger2   NaTperiod_rangetimedelta_rangeinterval_rangerR   rB   rF   zoner!   locr'   r   r   r#   s      r   
test_basicTestFeather.test_basic?   s   \\u+E!QK(		!Q..t439=$'#3+#'"7~~d5k2&&z1=>T ((z1NO
 LL,FFLL,!
 ((z14HIPT+
6 S!D9--gqA<++Aq!4;ww}}$$444779,0()b4r:   c                     [         R                  " [        R                  " S5      R	                  SS5      [        S5      S9R                  5       nU R                  U5        g )N   r=   r-   aaacolumns)r0   rY   r3   r\   reshaperZ   r!   r   r   r   s     r   test_duplicate_columns"TestFeather.test_duplicate_columnse   sD     \\"))B-//15tE{KPPR**2.r:   c                     [         R                  " [        S5      [        [        SS5      5      [        S5      [        [        SS5      5      S.5      nSS/nU R	                  XU   US	9  g )
Nr<   r+   r=   xyz   )col1col2col3col4rw   ry   )r#   ro   )r0   rY   rZ   r[   r'   )r   r   ro   s      r   test_read_columnsTestFeather.test_read_columnsk   sb    \\UU1a[)UU1a[)	
 6"bg;Hr:   c                 v    [         R                  " SS/SS/SS/S.5      nUSS	/   nU R                  XSS	/S
9  g )Nr+   r,   xyTF)ABCr   r   rn   )r0   rY   r'   rh   s      r   !test_read_columns_different_order-TestFeather.test_read_columns_different_orderx   sG    \\Ac3ZtUmLMsCj>bS#J?r:   c                 Z    [         R                  " S/ SQ05      nU R                  U5        g )Na)r   r+          @)r0   rY   r   rq   s     r   test_unsupported_other"TestFeather.test_unsupported_other~   s#    \\3./**2.r:   c                     [         R                  " S[        R                  " S5      05      nU R	                  USS9  U R	                  USS9  g )Nr   i T)use_threadsF)r0   rY   r3   r\   r'   rq   s     r   test_rw_use_threadsTestFeather.test_rw_use_threads   sD    \\3		& 123bd3be4r:   c                    [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      5      [         R
                  " [        S5       Vs/ s H  nSU 3PM
     sn5      S9R                  5       n[        R                  " UR                  [        5      n[        R                  " X#5        g s  snf N皙?x      r=   ABCDr   i-ro   index)r0   rY   r3   r\   rp   IndexrZ   r[   reset_indexr   round_trip_pathlibr   r   r"   r   ir   r&   s       r   test_path_pathlibTestFeather.test_path_pathlib   s    \\"))C.((11HHT&\*((eBi8ibHi89
 +-	 	
 &&r}}lC
b) 9   3Cc                    [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      5      [         R
                  " [        S5       Vs/ s H  nSU 3PM
     sn5      S9R                  5       n[        R                  " UR                  [        5      n[        R                  " X#5        g s  snf r   )r0   rY   r3   r\   rp   r   rZ   r[   r   r   round_trip_localpathr   r   r"   r   s       r   test_path_localpathTestFeather.test_path_localpath   s    \\"))C.((11HHT&\*((eBi8ibHi89
 +-	 	
 ((E
b) 9r   c                 b   [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      5      [         R
                  " [        S5       Vs/ s H  nSU 3PM
     sn5      S9R                  5       nU R                  USS	0S
9  g s  snf )Nr   r   r   r   r   r   r   versionr+   )r$   )
r0   rY   r3   r\   rp   r   rZ   r[   r   r'   )r   r   r   s      r   test_passthrough_keywords%TestFeather.test_passthrough_keywords   s    \\"))C.((11HHT&\*((eBi8ibHi89
 +-	 	
 	b	1~> 9s   3B,c                     [        U5      n[        US5       nUR                  UR                  5       S9  [        UR                  5      nS S S 5        [
        R                  " UW5        g ! , (       d  f       N&= f)Nrb)content)r   openserve_contentreadurlr   r"   )r   feather_file
httpserverr#   fress         r   test_http_pathTestFeather.test_http_path   s_      -,%$$QVVX$6z~~.C & 	h, &%s   3A++
A9c                 ~   [         R                  " [         R                  " S[        R                  S/SS9[         R                  " / SQSS9[         R                  " S[        R                  S/SS9[         R                  " / S	QSS9/ S
Q/ SQ/ SQ/ SQS.5      n[
        R                  " 5        n[        XE5        [         R                  " SU5         [        XRS9nS S S 5        S S S 5        US:X  ag  [        R                  " S5      nU(       a%  [         R                  " UR                  5       5      nO;[         R                  " UR                  5       5      nO[         R                  " U5      n[         R                  " [         R                  " S[        R                  S/SS9[         R                  " / SQSS9[         R                  " S[        R                  S/SS9[         R                  " / S	QSS9[         R                  " SS[         R                   /SS9[         R                  " / SQSS9[         R                  " / SQUS9[         R                  " / SQUS9S.5      n	US:X  aM  SSKJn
  [         R                  " U	R&                   Vs0 s H  nX" WR)                  X   SS95      _M     sn5      n	U(       aA  U	R&                  R+                  [         R                  " U[        R                  S95      U	l        [
        R,                  " WU	5        g ! , (       d  f       GNA= f! , (       d  f       GNK= fs  snf )Nr+   r-   Int64rA   r*         ?      @Float64)r   r   r   )TFNrC   )r   bc)r   r   N)r   r   r   der   ghzmode.string_storagedtype_backendr   TFbooleanr   )ArrowExtensionArray)from_pandasna_value)r0   rY   r1   r3   r^   r   r   r   option_contextr   r   importorskip
ArrowDtypelarge_stringrI   StringDtypeNApandas.arraysr   ro   r4   r]   r"   )r   string_storager   using_infer_stringr   r   r&   pastring_dtyper#   r   cols               r   test_read_feather_dtype_backend+TestFeather.test_read_feather_dtype_backend   sX    \\YY2661~W=YYy8YYRVVS1CYYi@(($%	
 __$r ""#8.I%dH J 
 I%$$Y/B!!}}R__->?!}}RYY[9>>.9L<<YY2661~W=YYy8YYRVVS1CYYi@YYeRUU39EYY2)DYYlCYY/|D	
 I%9||  (/// ,RXXhmQUX-VWW/H '//66~? H 	fh/O JI >s*   /#L(
LL("L:
L%	 L((
L7c                     [         R                  " S/ SQ0[         R                  " / SQSS9S9nU R                  U5        g )Nr   r*   )r-   r=      test)name)r   )r0   rY   r   r'   rq   s     r   test_int_columns_and_index&TestFeather.test_int_columns_and_index   s0    \\3	*"((962RSb!r:   c           	      Z   Sn[         R                  " S[        [        SS5      5      05      n[        R
                  " S5       nUR                  U5        [        R                  " [        US9   [        USS9  S S S 5        S S S 5        g ! , (       d  f       N= f! , (       d  f       g = f)	NzPdtype_backend numpy is invalid, only 'numpy_nullable' and 'pyarrow' are allowed.rJ   r+   r=   ztmp.featherr   numpyr   )r0   rY   rZ   r[   r   r   r   r   r   r5   r   )r   r6   r   r   s       r   test_invalid_dtype_backend&TestFeather.test_invalid_dtype_backend   s{    % 	 \\5$uQ{"345__]+tMM$z5T9 6 ,+55 ,+s$   +B/B:B
B	B
B*c           	      H   US-  n[         R                  " SSS/0S9nUR                  U5        [         R                  " SS5         [	        U5      nS S S 5        [         R
                  " [        R                  S9n[         R                  " SSS/0[         R
                  " [        R                  S9S	9n[         R                  " SSS/0U[         R                  " S/[        (       a  U(       d  [        OUS
9S9n[        R                  " WU5        g ! , (       d  f       N= f)Nztest_string_inference.pr   r~   r   )datafuture.infer_stringTr   r   rB   rA   )r   rB   ro   )r0   rY   r   r   r   r   r3   r^   r   r   objectr   r"   )r   tmp_pathr   r   r   r&   rB   r#   s           r   test_string_inference!TestFeather.test_string_inference   s    33\\c3Z01
d4d;!$'F </<<Sz"".."&&*I
 <<Sz"HH''0B 		
 	fh/! <;s   D
D!znot supported before 18.0)reasonc                    SS K nSSK Jn  US-  nUR                  SUR                  / SQUR	                  5       5      05      nUR                  XT5        [        R                  " SS5         [        U5      n[        R                  " S/ SQ0[        R                  " [        R                  S9S	9nS S S 5        [        R                  " WW5        g ! , (       d  f       N&= f)
Nr   )featherzstring_view.parquetr   )Nr   r   r   Tr   r   )r   r   tabler4   string_viewwrite_featherr0   r   r   rY   r   r3   r^   r   r"   )r   r   r   r   r   r   r&   r#   s           r   &test_string_inference_string_view_type2TestFeather.test_string_inference_string_view_type  s     	#//#rxx(8"..:JKLMe*4d;!$'F||+,BNNBFF4SH < 	fh/ <;s   +AC
C )__name__
__module____qualname____firstlineno__r   r   r'   r8   ri   rr   r{   r   r   r   r   r   r   r   marknetwork
single_cpur   r   r   r   r   skipifr   r   __static_attributes__r   r:   r   r	   r	      s    %% -1r 	4	<$5L/I@/
5
**? [[[[-  -:0x"	:0. [[,5PQ0 R0r:   r	   )__doc__r   r3   r   pandas.compat.pyarrowr   r   pandasr0   pandas._testing_testingr   pandas.io.feather_formatr   r   r   filterwarnings
pytestmarkr   r   r   r	   r   r:   r   <module>r     sm    "  
   =[[''C

 # F0 F0 F0r:   