
    iP                        d Z ddlmZ ddlZddlZddlmZmZ ddl	m
Z ej                  j                  d      Zej                  j                  d      Zej                  j                  d      Zd Zej                  j'                  d	d
i ddgddgddggfdg dg ddddgddgddgddgddggfdi ddgddgddggfddgdgdddgddggfg      d        Zd Zej                  j'                  dddg      d        Zd Zej                  j'                  ddej0                  ej2                  g      d         Zeej                  j'                  d! ej6                  ej2                        j8                   ej6                  ej0                        j8                   ej6                  ej0                        j:                  g      d"               Zeej                  j'                  d! ej6                  ej2                        j8                  dz    ej6                  ej0                        j:                  dz
  g      d#               Zeej                  j'                  d! ej6                  ej2                        j8                  dz    ej6                  ej0                        j:                  dz
  g      d$               Z eej                  j'                  d% e!d&       e!d'      g e!d'       e!d&      gg      d(               Z"d) Z#y)*zy
Tests that work on both the Python and C engines but do not have a
specific classification into the other test modules.
    )StringION)	DataFrameSeriesz=ignore:Passing a BlockManager to DataFrame:DeprecationWarningpyarrow_xfailpyarrow_skipc                     d}| }|j                  t        |            }t        ddgddgddggdd	g
      }t        j                  ||       y )NzA,B
1.0,1
2.0,2
3.0,3
g      ?   g       @   g      @   ABcolumnsread_csvr   r   tmassert_frame_equalall_parsersdataparserresultexpecteds        d/app/cer_product_mecsu/.venv/lib/python3.12/site-packages/pandas/tests/io/parser/common/test_ints.pytest_int_conversionr      sU    D
 F__Xd^,F3(S!HsAh7#sLH&(+    zdata,kwargs,expectedzA,B
True,1
False,2
True,3Tr	   Fr
   r   zA,B
YES,1
no,2
yes,3
No,3
Yes,3)yesYesYES)noNONo)true_valuesfalse_valueszA,B
TRUE,1
FALSE,2
TRUE,3zA,B
foo,bar
bar,foofoobarc                     | } |j                   t        |      fi |}t        |ddg      }t        j                  ||       y )Nr   r   r   r   )r   r   kwargsr   r   r   s         r   test_parse_boolr)   &   sB    4 FV__Xd^6v6FC:6H&(+r   c                     d}| }|j                  t        |            }t        dg di      }t        j                  ||       y )NzNumbers
17007000002000191
17007000002000191
17007000002000191
17007000002000191
17007000002000192
17007000002000192
17007000002000192
17007000002000192
17007000002000192
17007000002000194Numbers)
   ?u/r,   r,   r,      @u/r-   r-   r-   r-   l   Bu/r   r   s        r   &test_parse_integers_above_fp_precisionr.   F   sK    
D F__Xd^,F 	
H  &(+r   sep z\s+c                 \   d}| }|j                   dk(  rI|dk7  rDd}t        j                  t        |      5  |j	                  t        |      d |       d d d        y |j	                  t        |      d |      }t        ddgd	d
gg      }t        j                  ||       y # 1 sw Y   y xY w)Nz65248E10 11
55555E55 22
pyarrowr0   z6the 'pyarrow' engine does not support regex separatorsmatch)headerr/   g  jC   g!E(E VL   )	enginepytestraises
ValueErrorr   r   r   r   r   )r   r/   r   r   msgr   r   s          r   test_integer_overflow_bugr=   g   s     (DF}}	!cSjF]]:S1 	BOOHTN4SOA	B__Xd^Dc_BF9b/Ir?;<H&(+	Bs   B""B+c                     | }d}|j                  t        |            }t        ddgdt        j                  gd      }t        j                  ||       y )Nz
A,B
0,0
0,r   )r   r   )r   r   r   npnanr   r   )r   r   r   r   r   s        r   test_int64_min_issuesrA   w   sI    FD__Xd^,F1vQK89H&(+r   convc                    d}| }||j                   dk(  r1t        j                  j                  d      }|j	                  |       |j                  t        |            }t        g ddg      }t        j                  ||       y dj                  g d	      }t        }	|j                   dk(  rt        }	d
}t        j                  |	|      5  |j                  t        |      d|i       d d d        y # 1 sw Y   y xY w)NzID
00013007854817840016671868
00013007854817840016749251
00013007854817840016754630
00013007854817840016781876
00013007854817840017028824
00013007854817840017963235
00013007854817840018860166r2   zparses to float64)reason)l   |DpyA,l   rryA,l   syA,l   4rsyA,l   6{yA,l   xyA,l   (yA,IDr   |)z)Python int too large to convert to C longzlong too big to convertzint too big to convertzBThe 'converters' option is not supported with the 'pyarrow' enginer3   )
converters)r8   r9   markxfailapplymarkerr   r   r   r   r   joinOverflowErrorr;   r:   )
r   rB   requestr   r   rH   r   r   r<   errs
             r   test_int64_overflowrO      s    D F| ==I%;;$$,?$@D%$0 F
 	fh/
 hh
 ==I%CVC]]3c* 	EOOHTNd|OD	E 	E 	Es   C77D valc                     | }|j                  t        t        |            d       }t        |g      }t	        j
                  ||       y Nr5   r   r   strr   r   r   r   rP   r   r   r   s        r   test_int64_uint64_rangerW      s@     F__Xc#h/_=F#H&(+r   c                     | }|j                  t        t        |            d       }t        |g      }t	        j
                  ||       y rR   rT   )r   rP   rM   r   r   r   s         r   test_outside_int64_uint64_rangerY      s@     F__Xc#h/_=F#H&(+r   c                     | }|j                  t        | d      d       }t        t        |      dg      }t	        j
                  ||       y )Nz
abcrS   abc)r   r   r   rU   r   r   rV   s        r   *test_outside_int64_uint64_range_follow_strr\      sI    
 F__XUm4T_BF#c(E*+H&(+r   exp_datal            c                     | }dj                  |      }t        |      }|j                  t        |      d       }t	        j
                  ||       y )N
rS   )rK   r   r   r   r   r   )r   r]   r   r   r   r   s         r   test_numeric_range_too_widera      sG    
 F99XD"H__Xd^D_9F&(+r   c                     d}| }|j                  t        |      d       d   }t        ddgd      }t        j                  ||       y )Nz1,1;0;0;0;1;1;3844;3844;3844;1;1;1;1;1;1;0;0;1;1;0;0,,,4321583677327450765
5,1;0;0;0;1;1;843;843;843;1;1;1;1;1;1;0;0;1;1;0;0,64.0,;,4321113141090630389rS      l   "ude_ l   :a6_ )name)r   r   r   r   assert_series_equal)r   sr   r   r   s        r   test_integer_precisionrg      sM    	PAF__Xa[_6q9F*,?@qIH68,r   )$__doc__ior   numpyr?   r9   pandasr   r   pandas._testing_testingr   rH   filterwarnings
pytestmarkusefixturesxfail_pyarrowskip_pyarrowr   parametrizer)   r.   r=   rA   int64uint64rO   iinfomaxminrW   rY   r\   rU   ra   rg    r   r   <module>rz      s6  
    [[''C
 ''8{{&&~6
,  +AY
T1I.	
 31CUVAY
T1IqzD!9E	
 +AY
T1I.	
 $"GeW=E]UDM*	
!2,32,,B f., /,, $"))!<=1E >1Eh 	HBHHRYY##XRXXbhh%7%;%;XRXXbhh=O=S=ST, , 	HBHHRYY##a'"(();)?)?!)CD, , 	HBHHRYY##a'"(();)?)?!)CD, , s2wE
&;c%j#b'=R%ST, U ,-r   