
    A>i-                         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  S SKJrJrJrJr  S rS rS rS rS	 r\R,                  R/                  S
\\R0                     S/5      S 5       rg)    N)_maybe_upcast	na_values)NA)ArrowStringArrayBooleanArrayFloatingArrayIntegerArrayc                 Z   [         R                  " U 5      n[        U   n[         R                  " SSU/US9n[	        USS9n[         R                  " / SQ5      n[        UR                  [         R                  5      (       a
  [        X5S9nO	[        X5S9n[        R                  " XF5        g )N      dtypeTuse_dtype_backendFFTmask)npr   r   arrayr   
issubclasstypeintegerr	   r   tmassert_extension_array_equal)any_real_numpy_dtyper   na_valuearrresultexpected_maskexpecteds          a/var/www/html/land-tabula/venv/lib/python3.13/site-packages/pandas/tests/io/parser/test_upcast.pytest_maybe_upcastr"      s     HH)*EH
((Aq(#5
1C3$7FHH12M%**bjj))8 9##F5    c                 B   [         R                  " / SQU S9n[        USS9n[         R                  " / SQ5      n[        [         R                  " U 5      R
                  [         R                  5      (       a
  [        XS9nO	[        XS9n[        R                  " X$5        g )N)r   r      r   Tr   FFFr   )r   r   r   r   r   r   r   r	   r   r   r   )r   r   r   r   r    s        r!   test_maybe_upcast_no_nar'   %   sq    
((9$8
9C3$7FHH23M"((/055rzzBB8 9##F5r#   c                     [         R                  n [        U    n[         R                  " SSU/SS9R	                  U 5      n[        USS9n[         R                  " / SQ5      n[        X$S9n[        R                  " X55        g )NTFuint8r   r   r   r   )	r   bool_r   r   viewr   r   r   r   r   r   r   r   r   r    s         r!   test_maybe_upcaste_boolr-   3   sj    HHEH
((D%*'
:
?
?
FC3$7FHH12MC4H##F5r#   c                      [         R                  n [         R                  " / SQSS9R                  U 5      n[	        USS9n[         R                  " / SQ5      n[        XS9n[        R                  " X$5        g )N)TFFr)   r   Tr   r&   r   )r   r*   r   r+   r   r   r   r   )r   r   r   r   r    s        r!   test_maybe_upcaste_bool_no_nanr/   ?   sZ    HHE
(('w
7
<
<U
CC3$7FHH23MC4H##F5r#   c                      [         R                  n [        U    n[         R                  " X/U S9n[	        USS9n[         R                  " SS/5      n[        X$S9n[        R                  " X55        g )Nr   Tr   r   )r   int64r   r   r   r	   r   r   r,   s         r!   test_maybe_upcaste_all_nanr2   J   s^    HHEH
((H'u
5C3$7FHHdD\*MC4H##F5r#   valcc                    [         R                  " S5      n[        R                  " SU5         [        R
                  " SSU /[        R                  S9n[        USS9nUS:X  a:  U S	:X  a  S	O[        n[        R
                  " SSU/[        R                  " 5       S9nO'U S	:X  a  S	OS n[        UR                  SSU/5      5      n[        R                  " XF5        S S S 5        g ! , (       d  f       g = f)
Npyarrowzmode.string_storageabr   Tr   pythonr4   )pytestimportorskippdoption_contextr   r   object_r   r   StringDtyper   r   r   )r3   string_storagepar   r   exp_valr    s          r!   test_maybe_upcast_objectrC   V   s     
		Y	'B			0.	AhhS#bjj9sd;X% CZcRGxxc7 32>>;KLH CZcTG'#sG1D(EFH
''9 
B	A	As   B.C%%
C3)numpyr   r:   pandas._libs.parsersr   r   pandasr<   r   pandas._testing_testingr   pandas.core.arraysr   r   r   r	   r"   r'   r-   r/   r2   markparametrizer>   rC    r#   r!   <module>rM      sq     
    6"6	66	6 2::!6 <=: >:r#   