
    KhJ                     P   S r SSKrSSKrSSKrSSKJrJr  SSKJr  SSK	r
SSKJr  SSKJrJrJr  S r\R$                  R'                  S/ S	Q5      S
 5       r\R*                  S 5       r\R$                  R'                  S/ SQ5      S 5       rS rS rS rS rS r\R$                  R'                  SS5      S 5       r\R$                  R'                  SS5      S 5       r\R$                  R'                  SSS/5      S 5       r\R$                  R'                  S/ SQ5      S 5       r \R$                  R'                  SS 5      S! 5       r!S" r"\R$                  R'                  S#\#\$45      S$ 5       r%\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9\R$                  R'                  S#\
RR                  " S(5      \
RR                  " S)5      45      S* 5       5       r*S+ r+S, r,S- r-S. r.S/ r/\R$                  R'                  S0/ S1Q5      \R$                  R'                  S2/ S1Q5      S3 5       5       r0S4 r1S5 r2S6 r3S7 r4\R$                  R'                  S#S85      S9 5       r5\R$                  R'                  S:S;\
RR                  " S<5      4S=\
RR                  " S>5      4/5      S? 5       r6S@ r7SA r8\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9\R$                  R'                  S#\
Rr                  SB   5      \R$                  Ru                  SC5      SD 5       5       5       r;\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9\R$                  R'                  S#\
Rr                  SB   5      \R$                  Ru                  SC5      SE 5       5       5       r<\R$                  R'                  S#\
Rz                  \
R|                  45      \R$                  R'                  SFSG5      SH 5       5       r?SI r@SJ rASK rB\R$                  RM                  \(       + SLS'9SM 5       rC\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9SN 5       rD\R$                  R'                  SOS\#/SP45      SQ 5       rE\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9SR 5       rF\R$                  R'                  SSST5      SU 5       rGSV rH\R$                  R'                  SWSX5      SY 5       rI\R$                  R'                  SWSX5      SZ 5       rJS[ rK\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9S\ 5       rLS] rMS^ rNS_ rOS` rPSa rQ\R$                  R'                  SbSc5      \R$                  R'                  SdSe5      \R$                  R'                  SfSSg/5      Sh 5       5       5       rR\R$                  R'                  SSi5      Sj 5       rS\R$                  R'                  S#Sk/SlSmSnSoSpSqSrSsStSuSv\T" Sw5      4SxSy\T" Sz5      4S{/5      \R$                  R'                  S|S}S~/5      S 5       5       rU\R$                  R'                  S#\
Rr                  SB   S-   S-   5      S 5       rV\R$                  R'                  S#S5      S 5       rW\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9\R$                  R'                  S#S5      \R$                  R'                  S/ SQ5      S 5       5       5       rX\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9\R$                  R'                  S#\
Rr                  SB   S-   S-   5      S 5       5       rY\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9\R$                  R'                  S#\
Rr                  SB   S-   S-   5      S 5       5       rZ\R$                  R'                  SbSS/SS//5      S 5       r[\R$                  R'                  SbSS/SS/SS/SS//5      S 5       r\\R$                  R'                  S/ SQ5      S 5       r]S r^S r_ " S S5      r`S raS rbS rcS rd\R$                  R'                  SS 5      S 5       re\R$                  R'                  SS5      S 5       rf\R$                  R'                  SSS/5      \R$                  R'                  SS5      S 5       5       rgS rh\R$                  RM                  \=(       a    \RN                  RP                  S%:*  S&S'9S 5       riS rj\R$                  Ru                  S5      S 5       rk\R$                  R'                  SS5      S 5       rl\R$                  R'                  SS5      S 5       rmg)z
Tests specific to `np.loadtxt` added during the move of loadtxt to be backed
by C code.
These tests complement those found in `test_io.py`.
    N)NamedTemporaryFilemkstemp)StringIO)assert_equal)assert_array_equalHAS_REFCOUNTIS_PYPYc                      [        S5      n [        R                  " / SQ/ SQ/ SQ/ SQ/5      n[        [        R                  " U SS9U5        g)	z0Test that both 'e' and 'E' are parsed correctly.zE1.0e-1,2.0E1,3.0
4.0e-2,5.0E-1,6.0
7.0e-3,8.0E1,9.0
0.0e-4,1.0E-1,2.0)皙?g      4@      @)g{Gz?      ?   )gy&1|?g      T@	   )r   r      ,	delimiterN)r   nparrayr   loadtxt)dataexpecteds     N/var/www/html/env/lib/python3.13/site-packages/numpy/lib/tests/test_loadtxt.pytest_scientific_notationr      sD     D xx	./;GH rzz$#6A    comment)z..z//z@-zthis is a comment:c                     Sn[        UR                  SU 5      5      n[        R                  " USU S9n[	        USS/SS/S	S
//5        g )Nz,# IGNORE
1.5, 2.5# ABC
3.0,4.0# XXX
5.5,6.0
#r   r   comments      ?      @r         @      @      @)r   replacer   r   r   )r   contenttxtas       r   test_comment_multiple_charsr*   "   sK    @G
7??30
1C


3#8Ac3Z#sc3Z89r   c                      [        S5      n [        R                  " S[        R                  4S[        R                  4SS[        R
                  4/5      n[        R                  " / SQUS9nXU4$ )zq
Fixture providing heterogeneous input data with a structured dtype, along
with the associated structured array.
zo1000;2.4;alpha;-34
2000;3.1;beta;29
3500;9.9;gamma;120
4090;8.1;delta;0
5001;4.4;epsilon;-99
6543;7.8;omega;-1
f0f1f2S7f3)i  g333333@alphai)i  g@beta   )i  g#@gammax   )i  g333333 @deltar   )i  g@epsiloni)i  g333333@omegadtype)r   r   r=   uint16float64int8r   )r   r=   r   s      r   mixed_types_structuredrA   *   sp     "	D HH
			T2::.tRWWoNE xx	
 
H   r   skiprows)r      r      c                 V    Uu  p#n[         R                  " X#SU S9n[        XTU S  5        g )N;)r=   r   rB   r   r   r   )rB   rA   r   r=   r   r)   s         r   1test_structured_dtype_and_skiprows_no_empty_linesrH   K   s/     3D


4hGAq89-.r   c                     U u  pn[         R                  " XSSS9u  pEpg[        XCS   5        [        XSS   5        [        XcS   5        [        XsS   5        g )NrF   T)r=   r   unpackr,   r-   r/   r1   rG   )rA   r   r=   r   r)   bcds           r   test_unpack_structuredrN   S   sR    2DDTJJA!q4.)q4.)q4.)q4.)r   c                      [         R                  " SS/5      n [        S5      n[         R                  " SS/U S9n[	        [         R
                  " USU S9U5        g )	N)r)   u1r   )rK   rP   r   z0,1,2,3
6,7,8,9
r   rC   r   rD   ))r      )   r   r<   r   r   r=   r   r=   r   r   r   r   r=   r   r   s      r    test_structured_dtype_with_shaperY   ]   sN    HHnn56E()Dxx)+;<EJHrzz$#UCXNr   c                      [         R                  " S/5      n [        S5      n[         R                  " S/U S9n[	        [         R
                  " XS9U5        g )N)r)   rP   )r   r   z0 1 2 3
)rQ   r<   rW   rX   s      r   &test_structured_dtype_with_multi_shaper[   d   sE    HH)*+EK Dxx,-U;Hrzz$4h?r   c                      [         R                  " S[        4S[        4/5      n [         R                  " S[        4SU S4/5      n[	        S5      n[         R
                  " SSS	/4S
SS/4/US9n[        [         R                  " X!SS9U5        g )Nxycodepoints)r   z100,1,2,3,4
200,5,6,7,8
d   )      ?       @)r   r#      )      @r%   )g      @g       @r<   r   r=   r   )r   r=   floatintr   r   r   r   )pointdtr   r   s       r   test_nested_structured_subarrayrk   k   s    HHsElS%L12E	FC=8UD"9:	;B01Dxx8X&'8X&'	
 H rzz$C@(Kr   c                      [         R                  " SSS9n [        S5      n[         R                  " SS/U S9n[	        [         R
                  " USU S	9U5        g )
Nzi1, i4, i1, i4, i1, i4Talignz1,2,3,4,5,6
7,8,9,10,11,12
)rC   r   rD         r   )rT   rU   r   
         r<   r   rV   rW   )rj   r   r   s      r   test_structured_dtype_offsetsrt   z   sL    	*$	7B34Dxx+-BC2NHrzz$#R@(Kr   param)rB   max_rowsc                     [         R                  " [        SS9   [        R                  " S0 U S0D6  SSS5        g! , (       d  f       g= f)z;skiprows and max_rows should raise for negative parameters.zargument must be nonnegativematchNfoo.barpytestraises
ValueErrorr   r   ru   s    r   "test_exception_negative_row_limitsr      s3     
z)G	H


,, 
I	H	H	   <
A
c                     [         R                  " [        SS9   [        R                  " S0 U S0D6  S S S 5        g ! , (       d  f       g = f)Nzargument must be an integerrx   rb   r{   r~   r   	TypeErrorr   r   r   s    r   $test_exception_noninteger_row_limitsr      s1    	y(E	F


-- 
G	F	Fr   zdata, shape)z
1 2 3 4 5
)rC   rp   )z
1
2
3
4
5
)rp   rC   c                    [         R                  " / SQ5      nUR                  U5      n[        [         R                  " [        U 5      [        S9U5        [        [         R                  " [        U 5      [        SS9U5        [        [         R                  " [        U 5      [        SS9U5        [        [         R                  " [        U 5      [        SS9U5        g )N)rC   r   rD   ro   rp   r<   r   )r=   ndminrC   r   )r   r   reshaper   r   r   rh   )r   shapearrarr2ds       r   test_ndmin_single_row_or_colr      s     ((?
#CKKErzz(4.<cBrzz(4.1EsKrzz(4.1EsKrzz(4.1EuMr   badval)r;   rD   Nzplate of shrimpc                     [         R                  " [        SS9   [        R                  " SU S9  S S S 5        g ! , (       d  f       g = f)NzIllegal value of ndmin keywordrx   r|   )r   r}   )r   s    r   test_bad_ndminr      s,    	z)I	J


9F+ 
K	J	Js	   9
Aws) 	u        u   　c                     [        SU  SU  SU  SU  SU  S35      n[        R                  " / SQ/ SQ/ S	Q/ S
Q/5      n[        [        R                  " U[
        S SS9U5        g )Nz1 2z30

z
4 5 60z
  z  
7 8 z 90
  # comment
3 2 1rC   r      ro   rp   <   rT   rU   Z   rD   r   rC   r   r=   r   r    r   r   r   r   r   rh   )r   r(   r   s      r   test_blank_lines_spaces_delimitr      st     
bTt D d 	C xxZYGHH


3cTC@(r   c            	          [        S5      n [        R                  " / SQ/ SQ/ SQ/ SQ/5      n[        [        R                  " U [
        SSS9U5        g )	Nz&1,2,30

4,5,60

7,8,90
# comment
3,2,1r   r   r   r   r   r   r   r   )r(   r   s     r   !test_blank_lines_normal_delimiterr      s@    
A
BCxxZYGHH


3cS3?r   r=   c                     [        S5      n[        R                  " XSSS9n[        UR                  U 5        [        U[        R
                  " SS/SS//U S	95        g )
Nz1.5,2.5
3.0,4.0
5.5,6.0r   r   r=   r   rv   z1.5z2.5z3.0z4.0r<   )r   r   r   r   r=   r   r=   r(   ress      r   test_maxrows_no_blank_linesr      sO    
.
/C
**Sq
ACE"bhh?uMNr   )rT   rD   rU   zPyPy bug in error formatting)reasonf8i2c                     [        S5      nSU  S3n[        R                  " [        US9   [        R
                  " XSS9  S S S 5        g ! , (       d  f       g = f)Nz1,2
3,XXX
5,6z"could not convert string 'XXX' to z at row 1, column 2rx   r   rf   r   r~   r   r   r   r   )r=   r(   msgs      r   !test_exception_message_bad_valuesr      sF     $
%C.ug5H
IC	z	-


3s3 
.	-	-s   A


Ac                      [        S5      n SS 0n[        R                  " SS/S[        R                  /SS//5      n[        R                  " U [        R
                  S	US
9n[        X25        g )Nz1.5,2.5
3.0,XXX
5.5,6.0r;   c                 D    U S:X  a  [         R                  $ [        U 5      $ NXXXr   nanrg   ss    r   <lambda>2test_converters_negative_indices.<locals>.<lambda>       AJ"&&<E!H<r   r!   r"   r   r$   r%   r   r=   r   
converters)r   r   r   r   r   r?   r   r(   convr   r   s       r    test_converters_negative_indicesr      s]    
.
/C<=Dxx#sc266]S#J?@H
**S

cd
KCr   c                  R   [        S5      n SS 0n[        R                  " SS/S[        R                  /SS//5      n[        R                  " U [        R
                  S	US
S/S9n[        X25        [        R                  " [        S5      S	S
S/SS 0S9n[        US
S/S
S//5        g )Nz$1.5,2.5,3.5
3.0,4.0,XXX
5.5,6.0,7.5
r;   c                 D    U S:X  a  [         R                  $ [        U 5      $ r   r   r   s    r   r   ?test_converters_negative_indices_with_usecols.<locals>.<lambda>   r   r   r!   g      @r   r$   g      @r   r   )r=   r   r   usecolsz0,1,2
0,1,2,3,4c                     g)Nr;    )r]   s    r   r   r      s    r   )r   r   r   )r   r   r   r   r   r?   r   r   r   s       r   -test_converters_negative_indices_with_usecolsr      s    
<
=C<=Dxx#sc266]S#J?@H
**jjBC  **X45W"|1EGCsaWq"g./r   c                      / SQn [         R                  " [        SS9   [        R                  " U SS9  S S S 5        g ! , (       d  f       g = f)N)1,2,3r   z4,3,2,1z2the number of columns changed from 3 to 4 at row 3rx   r   r   r}   )rowss    r   test_ragged_errorr      s:    (D	zF
H


43'
H 
H 
Hs	   =
Ac                  ^   [        S5      n [        R                  " SS/SS/SS//5      n[        R                  " U [        SSS/S9n[        X!5        [        S5      n [        R                  " [        SS9   [        R                  " U [        SSS/S9  S S S 5        g ! , (       d  f       g = f)	N$0,0,XXX
0,XXX,0,XXX
0,XXX,XXX,0,XXX
r   r   r=   r   r   z0,0,XXX
0
0,XXX,XXX,0,XXX
z/invalid column index -2 at row 2 with 1 columnsrx   )	r   r   r   r   rg   r   r~   r   r   r(   r   r   s      r   test_ragged_usecolsr      s    
<
=Cxx!Q!Q!Q01H
**Sq"g
FC
2
3C	zG
I 	

3esQGD
I 
I 
Is   7B
B,c                      [        S5      n [        R                  " U [        R                  " / 5      S/ S9nUR                  S:X  d   eUR                  [        R                  " / 5      :X  d   eg )Nr   r   r   )rD   )r   r   r   r=   r   r(   r   s     r   test_empty_usecolsr   
  sU    
<
=C
**SR
HC9999$$$r   c1)r)   u   のu   🫕c2c                 4   [        SU  SU S35      n[        R                  " U[        R                  " S5      SS9n[        R                  " SU  S3R                  S5      SU S3R                  S5      /[        R                  " S5      S	9n[        X45        g )
Nza,z	,c,1.0
e,z,2.0,gU12r   rf   z,c,1.0ze,r<   )r   r   r   r=   r   splitr   )r   r   r(   r   r   s        r   test_large_unicode_charactersr     s     Rt:bT0
1C
**S3
?CxxbT		s	#r"V_%:%:3%?@hhuoH r   c                      [        S5      n SS 0n[        R                  " U [        R                  " S5      USS S9n[        R                  " SS/S	S
/SS//5      n[        X#5        g )Nu   cat,dog
αβγ,δεζ
abc,def
r   c                 "    U R                  5       $ Nupperr   s    r   r   -test_unicode_with_converter.<locals>.<lambda>   s
    r   r   r   r=   r   r   encodingCATdogu   ΑΒΓu   δεζABCdef)r   r   r   r=   r   r   r(   r   r   r   s       r   test_unicode_with_converterr     si    
6
7C"#D
**hhuoC xx%(H)=u~NOHr   c                  
   [        S5      n [        R                  " S[        R                  4S[        R                  4S/5      nS S S.n[        R
                  " XSUS	9n[        R                  " / S
QUS9n[        X45        g )Nz$1.5,2.5,Abc
3.0,4.0,dEf
5.5,6.0,ghI
mr)r_   U8c                 0    [        S[        U 5      -  5      $ )Nrq   )rh   rg   r   s    r   r   6test_converter_with_structured_dtype.<locals>.<lambda>/  s    Ra[)r   c                 "    U R                  5       $ r   r   r   s    r   r   r   /  s
    r   )r   r;   r   r   ))   r"   r   )r   r#   DEF)7   r%   GHIr<   )r   r   r=   int32float32r   r   r   )r(   rj   r   r   r   s        r   $test_converter_with_structured_dtyper   ,  sm    
<
=C	C?S"**$5~F	GB)/BCD
**Scd
CCxx>bH r   c                      [        S5      n [        R                  n[        R                  " U [        R
                  " S5      USSS9n[        R                  " SS/SS	//5      n[        X#5        g
)a,  
With the 'bytes' encoding, tokens are encoded prior to being
passed to the converter. This means that the output of the converter may
be bytes instead of unicode as expected by `read_rows`.

This test checks that outputs from the above scenario are properly decoded
prior to parsing by `read_rows`.
zabc,def
rst,xyzU3r   bytesr   r   r   RSTXYZN)r   r   r   r   r   r=   r   r   r   s       r   !test_converter_with_unicode_dtyper   7  s_     %
&C;;D
**rxx~$#C xx%%89Hr   c                      SS-  n U S S S-   n [        U S-  5      n[        R                  " US[        S9n[	        U[        R
                  " SS	/S
5      5        g )Nz	1.5, 2.5,P  r;   
r   r   rV   r!   r"   )r   r   )r   r   r   rg   r   tile)rowr(   r   s      r   test_read_huge_rowr   I  sT    

C
cr(T/C
37
C
**SCu
5CbggsCj*56r   edfgFDGc                     Sn[         R                  " U 5      n [         R                  " U/U S9S   nX R                  S5      :X  d   eg )Na  0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.123456789r<   r   z0.123456789)r   r=   r   type)r=   fieldvalues      r   test_huge_floatr  Q  sB     &EHHUOEJJwe,R0EJJ}----r   )given_dtypeexpected_dtypeSS5UU5c                     [        S5      n[        R                  " X SS9n[        R                  " SS/SS/SS	//US
9n[	        X45        [	        UR
                  U5        g)z
The given dtype is just 'S' or 'U' with no length. In these cases, the
length of the resulting dtype is determined by the longest string found
in the file.
zAAA,5-1
BBBBB,0-3
C,4-9
r   rf   AAAz5-1BBBBBz0-3Cz4-9r<   N)r   r   r   r   r   r=   )r  r  r(   r   r   s        r   test_string_no_length_givenr  Z  s^     0
1C
**Ss
;Cxx
'5)C<8H N+r   c                      / SQn [        SR                  U 5      5      n[        R                  " U5      n[        R                  " U  Vs/ s H  n[        U5      PM     sn5      n[        X$5        gs  snf )z
Some tests that the conversion to float64 works as accurately as the
Python built-in `float` function. In a naive version of the float parser,
these strings resulted in values that were off by an ULP or two.
)z0.9999999999999999z9876543210.123456z5.43215432154321e+300z0.901z0.333r   N)r   joinr   r   r   rg   r   )stringsr(   r   r   r   s        r   test_float_conversionr  p  sY    G 499W%
&C
**S/Cxx737aq734H 4s   	A1c                      [        S5      n [        R                  " U [        SS9nUR                  [        :X  d   e[        USS/SS//5        [        UR                  [        R                  5      SS/SS//5        g )Nz1, 0
10, -1r   rf   TFrC   r   )r   r   r   boolr=   r   viewuint8r   s     r   	test_boolr    sk    
>
"C
**S
4C99sdE]T4L9:sxx)QFQF+;<r   
AllIntegerz0error:.*integer via a float.*:DeprecationWarningc                    [         R                  " U 5      n [         R                  " S/U S9S:X  d   eU R                  S:X  a:  [        R
                  " [        5         [         R                  " S/U S9  S S S 5        O[         R                  " S/U S9S:X  d   eS H?  n[        R
                  " [        5         [         R                  " U S	3/U S9  S S S 5        MA     g ! , (       d  f       NT= f! , (       d  f       Md  = f)
Nz+2r<   r   uz-1
z-2
r   )z++z+-z--z-+z2
)r   r=   r   kindr~   r   r   )r=   signs     r   test_integer_signsr     s    
 HHUOE::tfE*a///zzS]]:&JJxu- '& zz6(%0B666(]]:&JJ4&~U3 '& ) '& '&s   C8C0
C-0
C?	c                     [        S5      n[        R                  " [        5         [        R
                  " XSS9  S S S 5        g ! , (       d  f       g = f)Nz1.0, 2.1, 3.7
4, 5, 6r   rf   r   )r=   r(   s     r   %test_implicit_cast_float_to_int_failsr"    s5    
 +
,C	z	"


3s3 
#	"	"   A
Awith_parens)FTc                     SnU(       d"  UR                  SS5      R                  SS5      n[        R                  " [        U5      U SS9n[        R                  " / SQ/ SQ/U S	9n[        X45        g )
Nz*(1.0-2.5j),3.75,(7+-5.0j)
(4),(-19e2j),(0)( )r   rf   )y      ?      g      @y      @      )r#   y            r   r<   )r&   r   r   r   r   r   )r=   r$  r   r   r   s        r   test_complex_parsingr)    sb     	6AIIc2&&sB/
**Xa[
=Cxx	!12%H r   c                      S n [         R                  " U " 5       [        SS9n[         R                  " / SQ/ SQ/ SQ/ SQ/5      n[	        X5        g )Nc               3   T   #    [        S5       H  n U  SSU -   SU S-   3v   M     g 7f)Nro   r   r   rangeis    r   gen%test_read_from_generator.<locals>.gen  s2     qACq1Qq!tf%% s   &(r   rf   )r   r   r   )rC   r   rC   )r   ro   ro   )rD   r   r   )r   r   rh   r   r   r0  r   r   s      r   test_read_from_generatorr3    s<    & **SU#
5CxxIy)DEHr   c                      S n [         R                  " U " 5       SSS9n[         R                  " / SQSS9n[        X5        g )Nc               3   H   #    [        S5       H  n U  SU S-   3v   M     g 7f)NrD   r   ro   r,  r.  s    r   r0  /test_read_from_generator_multitype.<locals>.gen  s'     qACqQ.  s    "zi, dr   rf   ))r   g        )rC   g      ?)r   r   r<   )r   r   r   r   r2  s      r   "test_read_from_generator_multityper7    s6    ! **SU&C
8Cxx7vFHr   c                      S n [         R                  " [        SS9   [        R                  " U " 5       SSS9  S S S 5        g ! , (       d  f       g = f)Nc               3   (   #    / SQ S h  vN   g  N7f)N)z1,2s   3, 5i1  r   r   r   r   r0  )test_read_from_bad_generator.<locals>.gen  s     ***s   &non-string returned while reading datarx   zi, ir   rf   r   )r0  s    r   test_read_from_bad_generatorr<    sA    + 
F
H


35#6
H 
H 
Hs   A
AzPython lacks refcountsc                     ^^ [        5       mSmUU4S jn [        SS-  5      n[        R                  " [        SS9   [
        R                  " U[         SU 0S9  S S S 5        [        R                  " T5      S:X  d   eg ! , (       d  f       N+= f)	Nr   c                 4   > TS:  a  [        S5      eTS-  mT$ )Ni  zfailed half-way through!rC   )r   )r]   already_readsentinels    r   r   /test_object_cleanup_on_read_error.<locals>.conv  s&    $788r   zx
'  zat row 5000, column 1rx   r=   r   r   )	objectr   r~   r   r   r   r   sysgetrefcount)r   r(   r?  r@  s     @@r   !test_object_cleanup_on_read_errorrG    sp    xHL 55=
!C	z)@	A


3f!T; 
B ??8$))) 
B	As   A??
Bc                      [        S5      n [        R                  " [        5         [        R
                  " U SS9  SSS5        g! , (       d  f       g= f)z9Test exception when a character cannot be encoded as 'S'.u   –r
  r<   Nr   )r   s    r   #test_character_not_bytes_compatiblerI    s3     E?D	z	"


4t$ 
#	"	"r#  r   r'  c                     Sn[         R                  " [        US9   [        R                  " [        S5      U S9  S S S 5        g ! , (       d  f       g = f)Nz\converters must be a dictionary mapping columns to converter functions or a single callable.rx   1 2
3 4r   r~   r   r   r   r   r   )r   r   s     r   test_invalid_converterrN    s;    	*  
y	,


8J'D9 
-	,	,s   A
Ac                  b   [         R                  " [        SS9   [        R                  " [        S5      S[        0S9  S S S 5        [         R                  " [        SS9   [        R                  " [        S5      S[        0SS9  S S S 5        g ! , (       d  f       NV= f! , (       d  f       g = f)Nzkeys of the converters dictrx   rK  r)   rL  r   )r   r   )r~   r   r   r   r   r   rh   r   r   r   +test_converters_dict_raises_non_integer_keyrP    sr     
y(E	F


8J'S#J? 
G	y(E	F


8J'S#JJ 
G	F 
G	F	F	Fs   %B &B 
B 
B.bad_col_ind)rD   rz   c                     [        S5      n[        R                  " [        SS9   [        R
                  " X[        0S9  S S S 5        g ! , (       d  f       g = f)NrK  zconverter specified for columnrx   rL  )r   r~   r   r   r   r   rh   )rQ  r   s     r   'test_converters_dict_raises_non_col_keyrS    s9    JD	z)I	J


4#$67 
K	J	Js   A		
Ac                      [         R                  " [        SS9   [        R                  " [        S5      SS0S9  S S S 5        g ! , (       d  f       g = f)Nz4values of the converters dictionary must be callablerx   rK  r   rC   rL  rM  r   r   r   ,test_converters_dict_raises_val_not_callablerU  
  s>    	yL
N


8J'QF;
N 
N 
Ns   !A
Aq)"'`c                     [        U  SU  SU  SU  SU  SU  S35      n[        R                  " SS[        R                  4/5      n[        R                  " / S	QUS
9n[        R
                  " XSU S9n[        XC5        g )Nalpha, xz, 2.5
beta, yz, 4.5
gamma, zz, 5.0
r,   r   r-   )r[  r"   )r\  g      @)r]  re   r<   r   r=   r   	quotecharr   r   r=   r?   r   r   r   rV  r(   r=   r   r   s        r   test_quoted_fieldrd    s    
#XaSs'!GA3hqcIC HHlT2::$678Exx@H **S
BCs%r   c                     [        U  SU  SU  SU  SU  SU  S35      n[        R                  " SS[        R                  4/5      n[        R                  " / S	QUS
9n[        R
                  " XS U S9n[        XC5        g )Nr[  z	     2.5
r\  z 4.5
r]  z   5.0
r^  r-   r_  r<   r`  rb  rc  s        r   *test_quoted_field_with_whitepace_delimiterrf    s    
#XaS
1#WQCvaS8LC HHlT2::$678Exx@H **S
CCs%r   c                     [        S5      n [        R                  " SS[        R                  4S[        R                  4/5      n[        R
                  " [        SS9   [        R                  " XSS9  S	S	S	5        U R                  S
5        [        R                  " S/US9n[        R                  " XSSS9n[        X25        g	! , (       d  f       NW= f)z1Support for quoted fields is disabled by default.z"lat,long", 45, 30
)r,   U24r-   r/   z.the dtype passed requires 3 columns but 4 wererx   r   rf   Nr   )zlat,longg     F@g      >@r<   rW  r`  )r   r   r=   r?   r~   r   r   r   seekr   r   )r(   r=   r   r   s       r   test_quote_support_defaultrj  ,  s    
)
*CHHmdBJJ%7$

9KLME	zB
D


3s3
D
 HHQKxx/0>H
**S
DCs%
D 
Ds   C
Cc                      [        S5      n Sn[        R                  " [        US9   [        R
                  " U SSS9  S S S 5        g ! , (       d  f       g = f)N1,2
3,4z,.*must be a single unicode character or Nonerx   r   z''r   ra  r   r~   r   r   r   r   )r(   r   s     r   test_quotechar_multichar_errorro  =  s=     :
C
9C	y	,


3#6 
-	,	,s   A
Ac                     [        S5      n Sn[        R                  " [        US9   [        R
                  " U SSSS9  S S S 5        [        R                  " [        US9   [        R
                  " U SSS	/SS9  S S S 5        [        R
                  " U SS
SS9n[        USS/SS//5        g ! , (       d  f       Ns= f! , (       d  f       NI= f)Nrl  zWwhen multiple comments or a multi-character comment is given, quotes are not supported.rx   r   123rW  )r   r    ra  r   %)r   rX  rC   r   rD   ro   )r   r~   r   r   r   r   r   )r(   r   r   s      r   'test_comment_multichar_error_with_quoters  F  s    
:
C	$  
z	-


3#E 
.	z	-


3#c
cJ 
. **SC&C
HC1v1v&' 
.	-	-	-s   B, B=,
B:=
Cc                     [        S5      n [        R                  " S[        R                  4S[        R                  4SS[        R
                  4/5      n[        R                  " / SQUS9n[        R                  " XSS	S
9n[        X25        g )Nz{1000;2.4;'alpha';-34
2000;3.1;'beta';29
3500;9.9;'gamma';120
4090;8.1;'delta';0
5001;4.4;'epsilon';-99
6543;7.8;'omega';-1
r,   r-   r.   r1   r2   r<   rF   rX  r`  )	r   r   r=   r>   r?   r@   r   r   r   )r   r=   r   r   s       r   !test_structured_dtype_with_quotesru  V  s}    $	D HH
			T2::.tRWWoNE xx	
 
H **T#
ECs%r   c                      [        S5      n [        R                  " / SQSS9n[        R                  " U SSSS9n[	        X!5        g )Nz	1

"4"
""14r'  U1r<   r   rW  r   r=   ra  r   r   r   r   r   r   s      r   test_quoted_field_is_not_emptyr}  s  s8    
>
"Cxxd3H
**SCts
CCr   c                      [        S5      n [        R                  " / SQSS9n[        R                  " U SSSS9n[	        X!5        g )Nz1

"4"
"rw  rz  r<   r   rW  r{  r|  r   s      r   (test_quoted_field_is_not_empty_nonstrictr  y  s:     =
!Cxxd3H
**SCts
CCr   c                      [        S5      n [        R                  " SSS9n[        R                  " U SSSS9n[	        X!5        g )Nz"Hello, my name is ""Monty""!"zHello, my name is "Monty"!U40r<   r   rW  r`  r|  r   s      r   "test_consecutive_quotechar_escapedr    s:    
3
4Cxx4EBH
**S
DCr   r   )r'  z


z# 1 2 3
# 4 5 6
r   )r   rC   r   r   rC   r   rD   c                 0   Ub  SnOUS:X  a  SnOSn[        U 5      n[        R                  " [        SS9   [        R
                  " XAUS9nSSS5        WR                  U:X  d   e[        S	S
9 nUR                  U 5        UR                  S5        [        R                  " [        SS9   [        R
                  " XAUS9nSSS5        UR                  U:X  d   e SSS5        g! , (       d  f       N= f! , (       d  f       N;= f! , (       d  f       g= f)zDCheck that a UserWarning is emitted when no data is read from input.N)r   rD   r   rR   )r   input contained no datarx   )r   r   w)moder   )
r   r~   warnsUserWarningr   r   r   r   writeri  )r   r   r   expected_shaper(   r   fhs          r   test_warn_on_no_datar    s    
 	!
4.C	k)B	Cjj7; 
D99&&&		%


\\+-FG**Sw?C HyyN*** 
&	%	 
D	C HG 
&	%s/   C%/<D+C6D%
C36
D	 D
DrS   c                     Sn[        U5      n[        R                  " [        SS9   [        R
                  " X S9  S S S 5        g ! , (       d  f       g = f)Nz1 2 3
4 5 6r  rx   )rB   )r   r~   r  r  r   r   )rB   r   r(   s      r   test_warn_on_skipped_datar    s8    D
4.C	k)B	C


3* 
D	C	Cs   A
Ar  )r   rC   )u2rC   )i4 )u4r  )i8   
 )u8r  )float16g#{ ?)r   g. 7)	complex64y. 7`F$:)r?   g
complex128ywfUD3":)
longdoubler  clongdoubleyp`P@0 B B)U2u   𐈃򠬌swapTFc                 .   [         R                  " U 5      n SU S3/nU(       a  U R                  5       n [         R                  " SSU 4/SS9nUR                  S   S   S:X  d   e[         R                  " X4SSS	9nUS   U R                  U5      :X  d   eg )
Nzx,r   )r)   S1rK   Frm   rC   r   r   )r   r=   newbyteorderfieldsr   r  )r=   r  r  r   full_dtr   s         r   test_byteswapping_and_unalignedr    s    ( HHUOErND""$hhc5\2%@G>>#q!Q&&&
**TC!Cs8uzz%((((r   efdFD?c                     [        S5      n[        R                  " XSSS9n[        U[        R                  " SS/5      R                  U 5      5        g )Nu    3 ," 2
"r   rW  r`  rD   r   )r   r   r   r   r   astyper   s      r   !test_unicode_whitespace_strippingr    sC     $
%C
**S
DCsBHHaV,33E:;r   FDc                     SnXR                  SS5      /n[        R                  " X SS9n[        U[        R                  " / SQ/S-  5      5        g )Nz0 1 , 2+3j , ( 4+5j ), ( 6+-7j )  , 8j , ( 9j ) 
r   u    r   rf   )rC   y       @      @y      @      @y      @      y               @y              "@r   )r&   r   r   r   r   )r=   liner   r   s       r   )test_unicode_whitespace_stripping_complexr    sH     ?D,,sH-.D
**T#
6CsBHH&C%Dq%HIJr   r  )z1 +2jz1+ 2jz1+2 jz1+-+3z(1jz(1z(1+2jz1+2j)c                     [         R                  " [        5         [        R                  " US-   /U SS9  S S S 5        g ! , (       d  f       g = f)Nr   r   rf   r}   )r=   r  s     r   test_bad_complexr    s2     
z	"


EDL>#> 
#	"	"s	   ?
AefgdFDGc                     U R                  5       S:X  a  [        R                  " S5        [        R                  " [        5         [
        R                  " S/U SSS9  S S S 5        g ! , (       d  f       g = f)Ngz0longdouble/clongdouble assignment may misbehave.1 r   rW  r`  )lowerr~   xfailr   r   r   r   r<   s    r   test_nul_character_errorr    sK     {{}GH	z	"


G9ESCH 
#	"	"s   A''
A5c                 p   U S:X  a  [         R                  " S5        U S;   a  [         R                  " S5        [        S5      [	        S5      s=:X  a  [        S5      s=:X  a  S:X  d   e   e[         R                  " [        5         [        R                  " S/U S9  S S S 5        g ! , (       d  f       g = f)	Nez5half assignment currently uses Python float convertereGz2clongdouble assignment is buggy (uses `complex`?).1_1rr   z1_1
r<   )
r~   skipr  rh   rg   complexr   r   r   r   r<   s    r   test_no_thousands_supportr    s~     |KL}IJu:u==2=====	z	"


G9E* 
#	"	"s   B''
B5z1,2
z2
,3
z2,3
c                     Sn[         R                  " [        US9   [        R                  " U SS9  S S S 5        g ! , (       d  f       g = f)Nz7Found an unquoted embedded newline within a single linerx   r   r   r}   )r   r   s     r   test_bad_newline_in_iteratorr    s2     DC	z	-


43' 
.	-	-s	   ;
A	z2,3
z'2
',3
z'2',3
z'2
',3
c                 T    [         R                  " U SSS9n[        USS/SS//5        g )Nr   rX  rm  rb   rc   r   rG   )r   r   s     r   test_good_newline_in_iteratorr    s-     **TSC
8Csb"XBx01r   newline)r   
c                     / SQnU Vs/ s H  o"R                  SU 5      PM     nn[        R                  " U[        SSS9n[	        USSU  3/SS	U  S3//5        g s  snf )
N)z1,"2
"
z3,"4
z1"
r   r   rW  r`  rx  23ry  )r&   r   r   rD  r   )r  r   r   r   s       r   test_universal_newlines_quotedr    sf    
 +D267$3KKg&$D7
**T3#
FCscQwi=1C1WIQ3HIJ 8s   Ac                      [         R                  " SS/SS9n [        U / SQ/ SQ/5        [         R                  " SS/S	[        S
9n U R	                  5       / SQ/ SQ/:X  d   eg )Nz1 2 3
z4 5 6 r   r  )ro   rp   r   z1 ,2 ,3
z4 ,5 ,6r   rV   )r  z2 r  )z4 z5 6)r   r   r   rD  tolist)r   s    r   test_null_characterr  *  s^    
**o}5
HCsY	23 **'9"&2C::<35LMMMMr   c                       " S S5      n [         R                  " [        SS9   [        R                  " U " 5       [
        SS9  S S S 5        g ! , (       d  f       g = f)Nc                        \ rS rSrS rS rSrg):test_iterator_fails_getting_next_line.<locals>.BadSequencei6  c                     g)Nra   r   selfs    r   __len__Btest_iterator_fails_getting_next_line.<locals>.BadSequence.__len__7  s    r   c                 8    US:X  a  [        S5      eU SUS-    3$ )N2   Bad things happened!z, rC   )RuntimeError)r  items     r   __getitem__Ftest_iterator_fails_getting_next_line.<locals>.BadSequence.__getitem__:  s*    rz"#9::V2d1fX&&r   r   N)__name__
__module____qualname____firstlineno__r  r  __static_attributes__r   r   r   BadSequencer  6  s    		'r   r  r  rx   r   rf   )r~   r   r  r   r   rh   )r  s    r   %test_iterator_fails_getting_next_liner  5  s<    ' ' 
|+A	B


;=s; 
C	B	Bs    A
Ac                       \ rS rSrS rS rS rS rS rS r	\
R                  R                  S/ S	Q5      S
 5       rSrg)TestCReaderUnitTestsiC  c                     [         R                  " [        SS9   [        R                  R
                  R                  [        5       [        R                  " S5      SS9  S S S 5        g ! , (       d  f       g = f)Nz.*readrx   r/  Tr=   filelike)	r~   r   AttributeErrorr   _core_multiarray_umath_load_from_filelikerD  r=   r  s    r   test_not_an_filelike)TestCReaderUnitTests.test_not_an_filelikeF  sJ    ]]>:HH&&:: ; > ;::   AA))
A7c                     " S S5      n[         R                  " [        SS9   [        R                  R
                  R                  U" 5       [        R                  " S5      SS9  S S S 5        g ! , (       d  f       g = f)Nc                       \ rS rSrSrS rSrg)BTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLikeiO  r   c                 d    U =R                   S-  sl         U R                   S:  a  [        S5      eg)NrC      Bad bad bad!z1,2,3
)counterr  r  sizes     r   readGTestCReaderUnitTests.test_filelike_read_fails.<locals>.BadFileLike.readR  s*    !<<"$&~66 r   r   Nr  r  r  r  r  r  r  r   r   r   BadFileLiker  O  s    G!r   r  r  rx   r/  Tr  )r~   r   r  r   r  r  r  r=   r  r  s     r   test_filelike_read_fails-TestCReaderUnitTests.test_filelike_read_failsK  sW    	! 	! ]]<~>HH&&::RXXc]T ; C ?>>   AA00
A>c                     " S S5      n[         R                  " [        SS9   [        R                  R
                  R                  U" 5       [        R                  " S5      SS9  S S S 5        g ! , (       d  f       g = f)Nc                       \ rS rSrSrS rSrg)@TestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLikeia  r   c                     g)Ni  r   r  s     r   r  ETestCReaderUnitTests.test_filelike_bad_read.<locals>.BadFileLike.readd  s    r   r   Nr  r   r   r   r  r  a  s    Gr   r  r;  rx   r/  Tr  )r~   r   r   r   r  r  r  r=   r  s     r   test_filelike_bad_read+TestCReaderUnitTests.test_filelike_bad_read\  sb    
	 	 ]]9BDHH&&::RXXc]T ; CD D Dr  c                     [         R                  " [        SS9   [        R                  R
                  R                  [        5       [        R                  " S5      SS9  S S S 5        g ! , (       d  f       g = f)Nz/error reading from object, expected an iterablerx   r/  Fr  	r~   r   r   r   r  r  r  rD  r=   r  s    r   test_not_an_iter%TestCReaderUnitTests.test_not_an_iterl  sU    ]]9KMHH&&:: ; ?M M Mr  c                     [         R                  " [        SS9   [        R                  R
                  R                  [        5       SSS9  S S S 5        g ! , (       d  f       g = f)Nzinternal error: dtype mustrx   r/  Fr  )r~   r   r   r   r  r  r  rD  r  s    r   test_bad_type"TestCReaderUnitTests.test_bad_typer  sD    ]]9,HIHH&&::e ; 5 JIIs   2A
A#c                     [         R                  " [        SS9   [        R                  R
                  R                  [        5       [        R                  " S5      SSS9  S S S 5        g ! , (       d  f       g = f)Nzencoding must be a unicoderx   r/  F{   )r=   r  r   r  r  s    r   test_bad_encoding&TestCReaderUnitTests.test_bad_encodingw  sO    ]]9,HIHH&&:: ; M JIIs   AA**
A8r  )r  r   r  c           	          [        SR                  SU5      SS9n[        R                  R                  R                  U[        R                  " S5      SSSS	S
9n[        US S 2S4   SSU 3SS/5        g )Nz0
1
"2
"
3
4 #
r   r'  )r  U10TrW  r   rC   )r=   r  quoter   	skiplinesr   rx  r  r  z4 )r   r&   r   r  r  r  r=   r   )r  r  r   r   s       r   test_manual_universal_newlines3TestCReaderUnitTests.test_manual_universal_newlines|  s{     /77gF "$ hh((<<$sa = 1 	3q!t9sayM3&EFr   r   N)r  r  r  r  r  r  r  r	  r  r  r~   markparametrizer  r  r   r   r   r  r  C  sK    >
C"C ?5
M
 [[Y(<=G >Gr   r  c                      [         R                  " [        SS9   [        R                  " [        S5      SSS9  S S S 5        g ! , (       d  f       g = f)N".*control characters.*incompatiblerx   1, 2, 3r   r   rM  r   r   r   'test_delimiter_comment_collision_raisesr    s3    	y(L	M


8I&#D 
N	M	M    A
Ac                      [         R                  " [        SS9   [        R                  " [        S5      SSS9  S S S 5        g ! , (       d  f       g = f)Nr  rx   r  r   rm  rM  r   r   r   )test_delimiter_quotechar_collision_raisesr     s3    	y(L	M


8I&#E 
N	M	Mr  c                      [         R                  " [        SS9   [        R                  " [        S5      SSS9  S S S 5        g ! , (       d  f       g = f)Nr  rx   1 2 3r   )r    ra  rM  r   r   r   'test_comment_quotechar_collision_raisesr#    s3    	y(L	M


8G$scB 
N	M	Mr  c                      [         R                  " [        SS9   [        R                  " [        S5      SSS/S9  S S S 5        g ! , (       d  f       g = f)Nz0Comment characters.*cannot include the delimiterrx   r  r   r   r   rM  r   r   r   5test_delimiter_and_multiple_comments_collision_raisesr%    s?    	K
 	

8I&#c
K
 
 
s   "A
Ac                 |   [         R                  " [        SS9   [        R                  " [        SU  SU  SU  SU  S3	5      U S9  S S S 5        [         R                  " [        SS9   [        R                  " [        SU  SU  SU  SU  S3	5      U S	9  S S S 5        g ! , (       d  f       N\= f! , (       d  f       g = f)
Nr  rx   rx  r  z3
45z6
r    ra  rM  )r   s    r   ,test_collision_with_default_delimiter_raisesr*    s     
y(L	M


8at1RDRD"S9:RH 
N	y(L	M


8at1RDRD"S9:bI 
N	M 
N	M	M	Ms   ,B',B-
B*-
B;nl)r   r  c                    [        SU  SU  SU  U  SU  SU  SU  U  35      nSn[        R                  " [        US9   [        R
                  " XS	9  S S S 5        [        R                  " [        US9   [        R
                  " XS
9  S S S 5        [        R                  " [        US9   [        R
                  " XS9  S S S 5        g ! , (       d  f       N{= f! , (       d  f       NV= f! , (       d  f       g = f)Nrx  r  r  ry  r'  r  z&control character.*cannot be a newlinerx   r   r(  r)  rn  )r+  r(   r   s      r   %test_control_character_newline_raisesr-    s    
Qrd!B4qRD"Qrd!B4t<
=C
2C	y	,


3% 
-	y	,


3$ 
-	y	,


3% 
-	,	 
-	,	,	,	,	,s#   C3C)C)
C
C&)
C7)generic_data
long_datumunitless_dtyper  )z2012-03z
2013-01-15M8zM8[D])
spam-a-lottis_but_a_scratchr  U17nrows)rq   r   `  c           	         U /U-  U/-   n[         R                  " XSS9n[        U5      US-   :X  d   e[        U5      [        U5      :X  d   e[        SR	                  U5      5      n[         R
                  " XrS9n[        U5      [        U5      :X  d   eUR                  UR                  :X  d   e[        X5        [        5       u  p[        R                  " U	5        [        U
S5       nUR                  SR	                  U5      S-   5        SSS5        [         R
                  " XS9n[        U5      [        U5      :X  d   eUR                  UR                  :X  d   e[        X5        [         R
                  " X[        US-  5      S9n[        R                  " U
5        [        U5      [        US-  5      :X  d   e[        XS[        US-  5       5        g! , (       d  f       N= f)z|Check that the correct unit (e.g. month, day, second) is discovered from
the data when a user specifies a unitless datetime.r<   rC   r   r  Nr   )r=   rv   )r   r   lenr   r  r   r=   r   r   oscloseopenr  rh   remove)r.  r/  r0  r  r5  r   r   r(   r)   fdfnamer  s               r   test_parametric_unit_discoveryr?    s    >E!ZL0Dxx3Ht9at9H%%% 499T?
#C


3-Aq6S]"""77hnn$$$ 	IBHHRL	eS	R
4%& 
 	

5/Aq6S]"""77hnn$$$


5U1WFAIIeq6Sq\!!!]c%'l+, 
	s   *$G
G(c                  |   S/S-  S/-   n [         R                  " S/S-  S/-   SS9nS n[        SR                  U 5      5      n[         R                  " US	US
9nUR
                  UR
                  :X  d   e[        XA5        [        5       u  pV[        R                  " U5        [        US5       nUR                  SR                  U 5      5        S S S 5        [         R                  " US	US
9n[        R                  " U5        UR
                  UR
                  :X  d   e[        XA5        g ! , (       d  f       Nb= f)Nr2  r6  XXXtis_but_a_scratchr3  r4  r<   c                 $    U R                  S5      $ r   )removeprefixr   s    r   r   >test_str_dtype_unit_discovery_with_converter.<locals>.<lambda>  s    Q^^E*r   r   r  rC  r  )r   r   r   r  r   r=   r   r   r9  r:  r;  r  r<  )r   r   r   r(   r)   r=  r>  r  s           r   ,test_str_dtype_unit_discovery_with_converterrE    s   >E!%;$<<Dxx	"5!66eH +D 499T?
#C


3cd3A77hnn$$$ 	IBHHRL	eS	R
4! 



55AIIe77hnn$$$ 
	s   0!D--
D;c                     [         R                  " [        SS9   [        R                  " [        S5      SS9  S S S 5        [         R                  " [        SS9   [        R                  " [        S5      SS9  S S S 5        [         R                  " [        SS9   [        R                  " [        S5      SS9  S S S 5        [         R                  " [        SS9   [        R                  " [        S5      S	S/S9  S S S 5        g ! , (       d  f       N= f! , (       d  f       N= f! , (       d  f       Ns= f! , (       d  f       g = f)
Nz#Text reading control character mustrx   r"  r'  r   r)  z"comments cannot be an empty stringr(  r   )r~   r   r   r   r   r   r   r   r   r   test_control_character_emptyrG    s     
y(M	N


8G$3 
O	y(M	N


8G$3 
O	z)M	N


8G$r2 
O	z)M	N


8G$Ry9 
O	N 
O	N	N	N	N	N	N	Ns/   DDD&!D7
D
D#&
D47
Ec                  ^    [         R                  " [        S5      SSS9n [        U / SQ5        g)z<Byte control characters (comments, delimiter) are supported.z#header
1,2,3   #   ,)r    r   r  N)r   r   r   r   )r)   s    r    test_control_characters_as_bytesrK    s$    


8,-MAIr   zignore::UserWarningc                      [         R                  " S/S[        S9n [        U 5      S:X  d   e[	        SS5       H6  n[         R                  " SU-  /S[        SS9n [        U 5      US-   :X  a  M6   e   g )	Nr'  r   rV   r   rC   i   rq   )r   r=   rv   )r   r   r   r8  r-  )r   r/  s     r   test_field_growing_casesrM    sf     **bTS
6Cs8q==1d^jj#'cL3x1Q3 r   nmax)rB  r   i  r6  c                    SnS/U-  n[        SR                  U5      5      n[        R                  " U[        SU S9n[        U5      U :X  d   e[        5       u  pV[        R                  " U5        [        US5       nUR                  SR                  U5      5        S S S 5        [        R                  " U[        SU S9n[        R                  " U5        [        U5      U :X  d   eg ! , (       d  f       NQ= f)Nr6  za 0.5 1r   r   r   r  )r   r  r   r   strr8  r   r9  r:  r;  r  r<  )rN  file_lengthr   r(   r   r=  r>  r  s           r    test_maxrows_exceeding_chunksizerR     s     K ;{"D
499T?
#C
**SsT
BCs8t 	IBHHRL	eS	R
4! 

**U#t
DCIIes8t	 
	s   =!C))
C7nskip)r   rB  i90  r   i3	 i c                    SnSR                  S [        SUS-   5       5       5      n[        SX!-
  5      n[        R                  " US-   US-   U-   5      R                  [        5      n[        U5      n[        R                  " USSUSS9n[        U5      U:X  d   e[        XWS S 2S	4   5        U S
-  nUR                  U5        [        U5      n	[        R                  " U	SSUSS9n[        U5      U:X  d   e[        XWS S 2S	4   5        g )Ni r   c              3   *   #    U  H	  o S 3v   M     g7f)z a 0.5 1Nr   ).0r/  s     r   	<genexpr>Etest_skiprow_exceeding_maxrows_exceeding_chunksize.<locals>.<genexpr>:  s     G-Fs(^-Fs   rC   r6  rP  r   )r=   r   rB   rv   r   ztest_data.txt)r  r-  minr   aranger  rP  r   r   r8  r   r  )
tmpdirrS  rQ  r   expected_lengthr   r(   r   tmp_filer>  s
             r   2test_skiprow_exceeding_maxrows_exceeding_chunksizer^  5  s     K99GU1kAo-FGGD%!45OyyEAI$?@GGLH 4.C
**Suu
UCs8&&&xQT+ 'HNN4ME
**U%3QV
WCs8&&&xQT+r   )n__doc__rE  r9  r~   tempfiler   r   ior   numpyr   numpy.ma.testutilsr   numpy.testingr   r   r	   r   r  r  r*   fixturerA   rH   rN   rY   r[   rk   rt   r   r   r   r   r   r   rg   rD  r   skipifimplementationversionr=   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  	typecodesfilterwarningsr   r"  r  r  r)  r3  r7  r<  rG  rI  rN  rP  rS  rU  rd  rf  rj  ro  rs  ru  r}  r  r  r  r  reprr  r  r  r  r  r  r  r  r  r  r  r  r  r   r#  r%  r*  r-  r?  rE  rG  rK  rM  rR  r^  r   r   r   <module>rl     s+    	  0   + C CB  $LM: N: ! !@ \2/ 3/*O@LL ":;- <- ":;. <.
 #NN #CD, E,
 		  5&/2O 3O GG 2 2 : :i G9  ;288D>288D>"BC4 D;4 0&(E% 3434  5 5    $7 ),. -. %	bhhtn	bhhtn,, &= GG 2 2 : :i G9  ;",,|"<=NO4 P >;4 GG 2 2 : :i G9  ;",,|"<=NO4 P >;4
 2<<"?@6	  7 A	   7 $-EF* G*& GG 2 2 : :i G9  ;%;% !eWb!12: 3: GG 2 2 : :i G9  ;K;K 08 18< o.
& /
& o.
& /
&&" GG 2 2 : :i G9  ;7;7( &:    !EF),T9$56+ 7 - G+* V,+ -+ '7+."$>!I+ 
tHIJ 	)	GHI&!.( )" $/) 0#)$) 
\"W,s24<4< $'K (K GG 2 2 : :i G9  ;$'KM?M (;
?
 GG 2 2 : :i G9  ;LL&2S8:I:;I GG 2 2 : :i G9  ;
\"Y.46+6;+ ii" (( ikkm	" 22 $89K :KN<FG FGRE
F
C
L 	J	J |,& -& F07 "45 - 6 -F0 GG 2 2 : :i G9  ;:;: 12 3 !=> ?( "IJ, K,r   