
    Mh$                         S r SSKrSSKrSSKrSSKJr  SSK	J
r
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)ArrowStringArrayStringArray)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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        N/var/www/html/env/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_error2   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_columnsc   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_columnsi   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_orderv   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      [        S9[         R
                  " [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9R                  5       n[        R                  " UR                  [        5      n[        R                  " X#5        g s  snf 	N皙?x      r=   ABCDrA   r   i-ro   index)r0   rY   r3   r\   rp   IndexrZ   objectr[   reset_indexr   round_trip_pathlibr   r   r"   r   ir   r&   s       r   test_path_pathlibTestFeather.test_path_pathlib   s    \\"))C.((11HHT&\8((eBi8ibHi8G
 +-	 	
 &&r}}lC
b) 9   6Cc                    [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      [        S9[         R
                  " [        S5       Vs/ s H  nSU 3PM
     sn[        S9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   r   round_trip_localpathr   r   r"   r   s       r   test_path_localpathTestFeather.test_path_localpath   s    \\"))C.((11HHT&\8((eBi8ibHi8G
 +-	 	
 ((E
b) 9r   c                 n   [         R                  " S[        R                  " S5      R	                  S5      -  [         R
                  " [        S5      [        S9[         R
                  " [        S5       Vs/ s H  nSU 3PM
     sn[        S9S9R                  5       nU R                  US	S
0S9  g s  snf )Nr   r   r   r   rA   r   r   r   versionr+   )r$   )r0   rY   r3   r\   rp   r   rZ   r   r[   r   r'   )r   r   r   s      r   test_passthrough_keywords%TestFeather.test_passthrough_keywords   s    \\"))C.((11HHT&\8((eBi8ibHi8G
 +-	 	
 	b	1~> 9s   6B2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US:X  al  [        [        R                  " / SQ[        R                  S95      n[        [        R                  " SS[         R                  /[        R                  S95      nOUS:X  aA  SSK	J
n  U" [        R                  / SQ5      5      nU" [        R                  / SQ5      5      nO@[        [        R                  / SQ5      5      n[        [        R                  / SQ5      5      n[        R                  " 5        n[        X75        [         R                   " SU5         [#        XrS9nS S S 5        S S S 5        [         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UUS.5      n	US:X  aQ  SSK	J
n  [         R                  " U	R$                   V
s0 s H  n
X" [        R                  X   SS95      _M!     sn
5      n	[        R&                  " WU	5        g ! , (       d  f       GNP= f! , (       d  f       GNZ= 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hpythonr   r   r   r   )ArrowExtensionArrayzmode.string_storagedtype_backendTFboolean)from_pandas)r0   rY   r1   r3   r^   r   r4   object_NApandas.arraysr   par   r   r   r   option_contextr   ro   r"   )r   string_storager   r   string_arraystring_array_nar   r   r&   r#   cols              r   test_read_feather_dtype_backend+TestFeather.test_read_feather_dtype_backend   s\   \\YY2661~W=YYy8YYRVVS1CYYi@(($%	
 X%&rxxrzz'RSL)"((Cbee3DBJJ*WXOi'9.rxx/HIL1"((;K2LMO ,BHH_,EFL.rxx8H/IJO__$r ""#8.I%dH J 
 <<YY2661~W=YYy8YYRVVS1CYYi@YYeRUU39EYY2)D!$	
 I%9||  (/// ,RXXhmQUX-VWW/H 	fh/5 JI ,s*   (#L0
LL0&M
L-	(L00
L?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                 8   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                  " SSS/0SS	9n[
        R                  " WU5        g ! , (       d  f       N?= f)
Nztest_string_inference.pr   r~   r   )datazfuture.infer_stringTzstring[pyarrow_numpy])r   rB   )r0   rY   r   r   r   r   r"   )r   tmp_pathr   r   r&   r#   s         r   test_string_inference!TestFeather.test_string_inference   s    33\\c3Z01
d4d;!$'F <<<cC:%6>UV
fh/ <;s   B
B )__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   __static_attributes__r   r:   r   r	   r	      s    %% -1r 	4	<$5L/I@/
5
**? [[[[-  -90v"	:0r:   r	   )__doc__r   r3   r   pandasr0   pandas._testing_testingr   pandas.core.arraysr   r   pandas.io.feather_formatr   r   r   filterwarnings
pytestmarkimportorskipr   r   r	   r   r:   r   <module>r      sm    "    
 >[[''C
 # f0 f0 f0r:   