
    OwgK                     r   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  eddgddgddggddg      fdg dg dd eddgddgddgddgddggddg      fdi  eddgddgddggddg      fddgdgd eddgddggdd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 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        ^/var/www/horilla/myenv/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   r   r   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                 l    | } |j                   t        |      fi |}t        j                  ||       y )N)r   r   r   r   )r   r   kwargsr   r   r   s         r   test_parse_boolr)   %   s2    : FV__Xd^6v6F&(+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.   G   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=   h   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   x   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)00013007854817840016671868000130078548178400167492510001300785481784001675463000013007854817840016781876000130078548178400170288240001300785481784001796323500013007854817840018860166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   rO   r   r   r<   errs
             r   test_int64_overflowrV      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   rW   r   r   r   s        r   test_int64_uint64_ranger^      s@     F__Xc#h/_=F#H&(+r   c                     | }|j                  t        t        |            d       }t        t        |      g      }t	        j
                  ||       y rY   r[   r]   s        r   test_outside_int64_uint64_ranger`      sD     F__Xc#h/_=F#c($H&(+r   exp_datal            c                     | }dj                  |      }t        |      }|j                  t        |      d       }t	        j
                  ||       y )N
rZ   )rR   r   r   r   r   r   )r   ra   r   r   r   r   s         r   test_numeric_range_too_widere      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,;,4321113141090630389rZ      l   "ude_ l   :a6_ )name)r   r   r   r   assert_series_equal)r   sr   r   r   s        r   test_integer_precisionrk      sM    	PAF__Xa[_6q9F*,?@qIH68,r   )#__doc__ior   numpyr?   r9   pandasr   r   pandas._testing_testingr   rO   filterwarnings
pytestmarkusefixturesxfail_pyarrowskip_pyarrowr   parametrizer)   r.   r=   rA   int64uint64rV   iinfomaxminr^   r`   r\   re   rk    r   r   <module>r~      s      [[''C
 ''8{{&&~6
,  +ay5!*tQi83*M	
 31CUVUAJq	E1:ayIc
	
 +ay5!*tQi83*M	
 $"GeW=e}udm4sCjI	
'8,98,,B f., /,, $"))!<=1E >1Eh 	HBHHRYY##XRXXbhh%7%;%;XRXXbhh=O=S=ST, , 	HBHHRYY##a'"(();)?)?!)CD, , s2wE
&;c%j#b'=R%ST, U ,-r   