idrdZddlZddlZddlZddlmZmZddlmZddl Z ddl m Z ddl mZmZmZdZejdgd d Zejd Zejd gd dZdZdZdZdZdZejdddZejdddZejdddgdZejdgddZ ejdd d!Z!d"Z"ejd#e#e$fd$Z%ej&eoej'j(d%kd&'ejd#e j)d(e j)d)fd*Z*d+Z+d,Z,d-Z-d.Z.d/Z/ejd0gd1ejd2gd1d3Z0d4Z1d5Z2d6Z3d7Z4ejd#d8d9Z5ejd:d;e j)d<fd=e j)d>fgd?Z6d@Z7dAZ8ej&eoej'j(d%kd&'ejd#e j9dBej:dCdDZ;ej&eoej'j(d%kd&'ejd#e j9dBej:dCdEZfejdFdGdHZ?dIZ@dJZAdKZBej&e dL'dMZCej&eoej'j(d%kd&'dNZDejdOde#gdPfdQZEej&eoej'j(d%kd&'dRZFejdSdTdUZGdVZHejdWdXdYZIejdWdXdZZJd[ZKej&eoej'j(d%kd&'d\ZLd]ZMd^ZNd_ZOd`ZPdaZQejdbdcejdddeejdfddggdhZRejd didjZSejd#dkgdldmdndodpdqdrdsdtdudveTdwfdxdyeTdzfd{gejd|d}d~gdZUejd#e j9dBdzdzdZVejd#ddZWej&eoej'j(d%kd&'ejd#dejdgddZXej&eoej'j(d%kd&'ejd#e j9dBdzdzdZYej&eoej'j(d%kd&'ejd#e j9dBdzdzdZZejdbddgddggdZ[ejdbddgddgddgddggdZ\ejdgddZ]dZ^dZ_GddZ`dZadZbdZcdZdejdd dZeejdddZfejdddgejdddZgdZhej&eoej'j(d%kd&'dZidZjej:ddZkdS)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)NamedTemporaryFilemkstemp)StringIO) assert_equal)assert_array_equal HAS_REFCOUNTIS_PYPYctd}tjgdgdgdgdg}ttj|d|dS) 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)皙?g4@@)g{Gz??)gy&1|?gT@ )rr , delimiterN)rnparrayrloadtxt)dataexpecteds Q/opt/cloudlinux/venv/lib/python3.11/site-packages/numpy/lib/tests/test_loadtxt.pytest_scientific_notationrsl    Dx ...///;;;GHrz$#666AAAAAcomment)z..z//z@-zthis is a comment:cd}t|d|}tj|d|}t |ddgddgd d ggdS) Nz,# IGNORE 1.5, 2.5# ABC 3.0,4.0# XXX 5.5,6.0 #rrcomments?@r @@@)rreplacerrr)rcontenttxtas rtest_comment_multiple_charsr*"sa@G 7??300 1 1C 3#888Ac3Z#sc3Z899999rctd}tjdtjfdtjfddtjfg}tjgd|}|||fS)z| Fixture providing hetergeneous 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 f0f1f2S7f3)ig333333@alphai)ig@beta)i g#@gammax)ig333333 @deltar)ig@epsiloni)ig333333@omegadtype)rrr=uint16float64int8r)rr=rs rmixed_types_structuredrA*s  "  D H  T2:. tRWoN  Ex      H   rskiprows)rrcr|\}}}tj||d|}t|||ddS)N;)r=rrBrrr)rBrArr=rr)s r1test_structured_dtype_and_skiprows_no_empty_linesrHKsG3D% 4uhGGGAq(899-.....rc|\}}}tj||dd\}}}}t||dt||dt||dt||ddS)NrFT)r=runpackr,r-r/r1rG)rArr=rr)bcds rtest_unpack_structuredrNSs2D%DTJJJJAq!Qq(4.)))q(4.)))q(4.)))q(4.)))))rctjddg}td}tjddg|}t tj|d||dS) N)r)u1r)rKrPrz0,1,2,3 6,7,8,9 rrCrrD))r)rr<rrr=rr=rrrrr=rrs r test_structured_dtype_with_shaperY]sf Hnn5 6 6E ( ) )Dx)+;z2test_converters_negative_indices..AJJ"&&E!HHrr!r"r r$r%r)r=r convertersencoding)rrrrrr?rr(convrrs r test_converters_negative_indicesrs} . / /C << =Dx#sc26]S#J?@@H * 2:   Chrchtd}ddi}tjddgdtjgddgg}tj|tjd |d dgd }t ||tjtd d d dgdd i}t|d dgd dggdS)Nz$1.5,2.5,3.5 3.0,4.0,XXX 5.5,6.0,7.5 r;cD|dkr tjnt|Srrrs rrz?test_converters_negative_indices_with_usecols..rrr!g @r r$g@rr)r=rrusecolsrz0,1,2 0,1,2,3,4cdS)Nr;)r]s rrz?test_converters_negative_indices_with_usecols..sr)rrr)rrrrrr?rrrs r-test_converters_negative_indices_with_usecolsrs < = =C << =Dx#sc26]S#J?@@H * jB    Ch *X455W"||1E G G GCsaWq"g./////rcgd}tjtd5tj|dddddS#1swxYwYdS)N)1,2,3rz4,3,2,1z2the number of columns changed from 3 to 4 at row 3rxrrr})rowss rtest_ragged_errorrs ( ( (D zF H H H(( 43''''((((((((((((((((((sAA Actd}tjddgddgddgg}tj|tdddg}t ||td}t jtd5tj|tdddgddddS#1swxYwYdS) N$0,0,XXX 0,XXX,0,XXX 0,XXX,XXX,0,XXX rrr=rrz0,0,XXX 0 0,XXX,XXX,0,XXX z/invalid column index -2 at row 2 with 1 columnsrx) rrrrrgrr~rrr(rrs rtest_ragged_usecolsrs" < = =Cx!Q!Q!Q011H *Sq"g F F FCh 2 3 3C zG I I IEE 3esQGDDDDEEEEEEEEEEEEEEEEEEs B33B7:B7ctd}tj|tjgdg}|jdksJ|jtjgksJdS)Nrrr)rD)rrrr=rr(rs rtest_empty_usecolsr sd < = =C *S R H H HC 9     9 $ $ $ $ $ $rc1)r)uのu🫕c2cTtd|d|d}tj|tjdd}tjd|ddd|ddgtjd }t ||dS) Nza,z ,c,1.0 e,z,2.0,gU12rrfz,c,1.0ze,r<)rrrr=rsplitr)rrr(rrs rtest_large_unicode_charactersrs 000b000 1 1C *S3 ? ? ?Cx b  s # #_"___%:%:3%?%?@huooHhrctd}ddi}tj|tjd|dd}tjddgd d gd d gg}t ||dS) Nucat,dog αβγ,δεζ abc,def rc*|SNupperrs rrz-test_unicode_with_converter..#srrr)r=rrrCATdoguΑΒΓuδεζABCdef)rrrr=rrr(rrrs rtest_unicode_with_converterr!s 6 7 7C "" #D * huoo    Cx%(H)=u~NOOHhrctd}tjdtjfdtjfdg}ddd}tj||d| }tjgd | }t||dS) Nz$1.5,2.5,Abc 3.0,4.0,dEf 5.5,6.0,ghI mr)r_U8c@tdt|zS)Nrq)rhrgrs rrz6test_converter_with_structured_dtype..2sRa[))rc*|Srrrs rrz6test_converter_with_structured_dtype..2sr)rr;r)r=rr))r"r)rr#DEF)7r%GHIr<)rrr=int32float32rrr)r(rjrrrs r$test_converter_with_structured_dtyper/s < = =C C?S"*$5~F G GB))/B/B C CD *Scd C C CCx>>>bHhrctd}tj}tj|tjd|d}tjddgddgg}t||d S) aL With the default '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`. zabc,def rst,xyzU3r)r=rrrrRSTXYZN)rbytesrrrr=rrrs r!test_converter_with_unicode_dtyper:su % & &C ;D * rx~~$# G G GCx%%899Hhrcddz}|dddz}t|dz}tj|dt}t |tjdd gd dS) Nz 1.5, 2.5,Pr; rrrVr!r")rr)rrrrgrtile)rowr(rs rtest_read_huge_rowrKsj  C crc(T/C 37  C *SCu 5 5 5CbgsCj*5566666redfgFDGcd}tj|}tj|g|d}||dksJdS)Na0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.123456789r<rz 0.123456789)rr=rtype)r=fieldvalues rtest_huge_floatrSsT &E HUOOE Jwe , , ,R 0E EJJ}-- - - - - - -r) given_dtypeexpected_dtypeSS5UU5ctd}tj||d}tjddgddgdd gg| }t ||t |j|d S) 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. zAAA,5-1 BBBBB,0-3 C,4-9 rrfAAAz5-1BBBBBz0-3Cz4-9r<N)rrrrrr=)rrr(rrs rtest_string_no_length_givenr \s 0 1 1C *S s ; ; ;Cx '5)C<8HhN+++++rcgd}td|}tj|}tjd|D}t ||dS)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. )z0.9999999999999999z9876543210.123456z5.43215432154321e+300z0.901z0.333rc,g|]}t|Sr)rg).0rs r z)test_float_conversion..s333aq333rN)rjoinrrrr)stringsr(rrs rtest_float_conversionrrso G 499W%% & &C *S//Cx33733344Hhrctd}tj|td}|jtksJt |ddgddggt |tjddgddggdS)Nz 1, 0 10, -1rrfTFrCr)rrrboolr=rviewuint8rs r test_boolrs > " "C *S 4 4 4C 9    sdE]T4L9:::sxx))QFQF+;<<<<A>C''C+ .C+ ctd}tjt5t j||dddddS#1swxYwYdS)Nz1.0, 2.1, 3.7 4, 5, 6rrfr)r=r(s r%test_implicit_cast_float_to_int_failsrs + , ,C z " "44 3es3333444444444444444444sAAA with_parens)FTcd}|s*|dddd}tjt||d}tjgdgdg| }t ||dS) Nz*(1.0-2.5j),3.75,(7+-5.0j) (4),(-19e2j),(0)()rrf)y?g@y@)r#yrr<)r&rrrrr)r=rrrrs rtest_complex_parsingr$s 6A 0 IIc2   & &sB / / *Xa[[ = = =Cx   !1!1!12%Hhrcd}tj|td}tjgdgdgdgdg}t ||dS)Nc3RKtdD]}|dd|zd|dzVdS)Nrorrrangeis rgenz%test_read_from_generator..gensRq & &A%%1%%q!t%% % % % % & &rrrf)rrr)rCrrC)rroro)rDrr)rrrhrrr+rrs rtest_read_from_generatorr-sm&&& *SSUU# 5 5 5CxIIIyyy)))DEEHhrcd}tj|dd}tjgdd}t||dS)Nc3FKtdD]}|d|dz VdS)NrDrror'r)s rr+z/test_read_from_generator_multitype..gensBq ! !A..Q..  ! !rzi, drrf))rg)rCg?)rr r<)rrrrr,s r"test_read_from_generator_multityper0s`!!! *SSUU&C 8 8 8Cx777vFFFHhrcd}tjtd5tj|ddddddS#1swxYwYdS)Nc3KdD]}|VdS)N)z1,2s3, 5i1r)entrys rr+z)test_read_from_bad_generator..gens*,  EKKKK  r&non-string returned while reading datarxzi, irrfr)r+s rtest_read_from_bad_generatorr5s  F H H H77 3355#6666777777777777777777s A  AAzPython lacks refcountsc0tdfd}tddz}tjtd5t j|td|idddn #1swxYwYtjdksJdS) Nrc<dkrtddz S)Nizfailed half-way through!rC)r)r] already_readsentinels rrz/test_object_cleanup_on_read_error..convs, $  788 8 rzx i'zat row 5000, column 1rx)r=rr) objectrr~rrrrsys getrefcount)rr(r8r9s @@r!test_object_cleanup_on_read_errorr=sxxHL 55= ! !C z)@ A A A<< 3f!T;;;;<<<<<<<<<<<<<<< ?8 $ $ ) ) ) ) ) )sA11A58A5ctd}tjt5t j|dddddS#1swxYwYdS)z9Test exception when a character cannot be encoded as 'S'.u–rr<Nr)rs r#test_character_not_bytes_compatibler?s E??D z " "%% 4t$$$$%%%%%%%%%%%%%%%%%%sA  AArr"cd}tjt|5tjt d|ddddS#1swxYwYdS)Nz\converters must be a dictionary mapping columns to converter functions or a single callable.rx1 2 3 4rr~rrrrr)rrs rtest_invalid_converterrDs * y , , ,:: 8J''D9999::::::::::::::::::s$AAAc~tjtd5tjt ddt idddn #1swxYwYtjtd5tjt ddt idddddS#1swxYwYdS)Nzkeys of the converters dictrxrAr)rBr)rr)r~rrrrrrhrrr+test_converters_dict_raises_non_integer_keyrFsR y(E F F F@@ 8J''S#J????@@@@@@@@@@@@@@@ y(E F F FKK 8J''S#JJJJJKKKKKKKKKKKKKKKKKKs#+AAA9,B22B69B6 bad_col_ind)rDr{ctd}tjtd5t j||t iddddS#1swxYwYdS)NrAzconverter specified for columnrxrB)rr~rrrrrh)rGrs r'test_converters_dict_raises_non_col_keyrIs J  D z)I J J J88 4[#$67777888888888888888888sAAActjtd5tjt dddiddddS#1swxYwYdS)Nz4values of the converters dictionary must be callablerxrArrCrBrCrrr,test_converters_dict_raises_val_not_callablerK s yL N N N<< 8J''QF;;;;<<<<<<<<<<<<<<<<<@r<rMrV) rrr=r?r~rrrseekrr)r(r=rrs rtest_quote_support_defaultr`/s ) * *C HmdBJ%7$ 9KL M ME zB D D D44 3es3333444444444444444 HHQKKKx/0>>>H *S D D DCsH%%%%%sA>>BBctd}d}tjt|5t j|ddddddS#1swxYwYdS)N1,2 3,4z,.*must be a single unicode character or Nonerxrz''rrWrr~rrrr)r(rs rtest_quotechar_multichar_errorre@s :  C 9C y , , ,77 3#6666777777777777777777sAAActd}d}tjt|5t j|ddddddn #1swxYwYtjt|5t j|ddd gddddn #1swxYwYt j|dd d }t |d d gddggdS)NrbzWwhen multiple comments or a multi-character comment is given, quotes are not supported.rxr123rM)rr rWr%)rrNrCrrDro)rr~rrrrr)r(rrs r'test_comment_multichar_error_with_quoteriIs :  C $ z - - -FF 3#EEEEFFFFFFFFFFFFFFF z - - -KK 3#c cJJJJKKKKKKKKKKKKKKK *SC&C H H HC1v1v&'''''s#AAA8BB#&B#ctd}tjdtjfdtjfddtjfg}tjgd|}tj||dd }t||dS) 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.r1r2r<rFrNrV) rrr=r>r?r@rrr)rr=rrs r!test_structured_dtype_with_quotesrkYs  $  D H  T2:. tRWoN  Ex      H *T# E E ECsH%%%%%rctd}tjgdd}tj|ddd}t ||dS)Nz 1 "4" ""14r"U1r<rrMrr=rWrrrrrrs rtest_quoted_field_is_not_emptyrsvsU > " "Cxd333H *SCts C C CChrctd}tjgdd}tj|ddd}t ||dS)Nz1 "4" "rmrpr<rrMrqrrrs r(test_quoted_field_is_not_empty_nonstrictru|sW = ! !Cxd333H *SCts C C CChrctd}tjdd}tj|ddd}t ||dS)Nz"Hello, my name is ""Monty""!"zHello, my name is "Monty"!U40r<rrMrVrrrs r"test_consecutive_quotechar_escapedrxsS 3 4 4Cx4EBBBH *S D D DChrr)r"z z# 1 2 3 # 4 5 6 r)rrCrrrCrrDcH|d}n |dkrd}nd}t|}tjtd5t j|||}dddn #1swxYwY|j|ksJtd 5}||| d tjtd5t j|||}dddn #1swxYwY|j|ksJ ddddS#1swxYwYdS) zDCheck that a UserWarning is emitted when no data is read from input.N)rrDrrR)rinput contained no datarx)rrw)moder) rr~warns UserWarningrrrrwriter_)rrrexpected_shaper(rfhs rtest_warn_on_no_datars  ! 4..C k)B C C C<<jE7;;;<<<<<<<<<<<<<<< 9 & & & &  % % %+   \+-F G G G @ @*Sw???C @ @ @ @ @ @ @ @ @ @ @ @ @ @ @yN***** ++++++++++++++++++sHAA#&A#AD C1% D1C5 5D8C5 9DDDrScd}t|}tjtd5t j||ddddS#1swxYwYdS)Nz 1 2 3 4 5 6r{rx)rB)rr~r~rrr)rBrr(s rtest_warn_on_skipped_datars D 4..C k)B C C C++ 3****++++++++++++++++++sAAAr)rrC)u2rC)i4)u4r)i8  )u8r)float16g#{?)rg. 7) complex64y. 7`F$:)r?g complex128ywfUD3":) longdoubler clongdoubleyp`P@0 BB)U2u𐈃򠬌swapTFcBtj|}d|dg}|r|}tjdd|fgd}|jdddksJtj||ddd }|d||ksJdS) Nzx,r)r)S1rKFrmrCr)r=rrrv)rr= newbyteorderfieldsrr)r=rrrfull_dtrs rtest_byteswapping_and_unalignedrs( HUOOE NNN D %""$$h c5\2%@@@G ># q !Q & & & & *TC$ ! ! !C s8uzz%(( ( ( ( ( ( (refdFD?ctd}tj||dd}t|tjddg|dS)Nu 3 ," 2 "rrMrVrDr)rrrrrastypers r!test_unicode_whitespace_strippingrs\ $ % %C *S D D DCsBHaV,,33E::;;;;;rFDcd}||ddg}tj||d}t|tjgdgdzdS)Nz0 1 , 2+3j , ( 4+5j ), ( 6+-7j ) , 8j , ( 9j ) ru rrf)rCy@@y@@y@y @y"@r)r&rrrr)r=linerrs r)test_unicode_whitespace_stripping_complexrsf ?D $,,sH-- .D *T# 6 6 6CsBH&C&C&C%Dq%HIIJJJJJrr)z1 +2jz1+ 2jz1+2 jz1+-+3z(1jz(1z(1+2jz1+2j)ctjt5tj|dzg|dddddS#1swxYwYdS)Nrrrfr})r=rs rtest_bad_complexrs z " "?? EDL>#>>>>??????????????????sAA AefgdFDGc|dkrtjdtjt5t jdg|ddddddS#1swxYwYdS)Ngz0longdouble/clongdouble assignment may misbehave.1rrMrV)lowerr~xfailrrrrr<s rtest_nul_character_errorrs {{}} GHHH z " "II G9ESCHHHHIIIIIIIIIIIIIIIIIIsA--A14A1cz|dkrtjd|dvrtjdtdt dcxkrt dcxkrdksnJtjt5tj dg|ddddS#1swxYwYdS) Nez5half assignment currently uses Python float convertereGz2clongdouble assignment is buggy (uses `complex`?).1_1rrz1_1 r<) r~skiprrhrgcomplexrrrrr<s rtest_no_thousands_supportrs || KLLL }} IJJJ u::u = = = = = = = =2 = = = = = = z " "++ G9E****++++++++++++++++++s B00B47B4z1,2 z2 ,3 z2 ,3 cd}tjt|5tj|dddddS#1swxYwYdS)Nz7Found an unquoted embedded newline within a single linerxrrr})rrs rtest_bad_newline_in_iteratorr s DC z - - -(( 43''''((((((((((((((((((sAA Az2,3 z'2 ',3 z'2 ',3 z'2 ',3 c`tj|dd}t|ddgddggdS)NrrNrcrbrcr rG)rrs rtest_good_newline_in_iteratorrs= *TSC 8 8 8Csb"XBx011111rnewline)r  cgd}fd|D}tj|tdd}t|ddgdd dggdS) N)z1,"2 " z3,"4 z1" c<g|]}|dS)r)r&)r rrs rrz2test_universal_newlines_quoted..(s' 7 7 73CKKg & & 7 7 7rrrMrVrn23ro)rrr:r)rrrs` rtest_universal_newlines_quotedr"st + * *D 7 7 7 7$ 7 7 7D *T3# F F FCsc=w==1CW3HIJJJJJrctjddgd}t|gdgdgtjddgd t }|gd gd gksJdS) Nz123 z456rry)rorprz1,2,3 z4,5,6rrV)rz2r)z4z56)rrrr:tolist)rs rtest_null_characterr-s *o}5 H H HCsYYY 2333 *'9"& 2 2 2C ::<<3335L5L5LM M M M M M MrcGdd}tjtd5tj|t dddddS#1swxYwYdS)NceZdZdZdZdS):test_iterator_fails_getting_next_line..BadSequencecdS)Nrarselfs r__len__zBtest_iterator_fails_getting_next_line..BadSequence.__len__:s3rc@|dkrtd|d|dzS)N2Bad things happened!z, rC) RuntimeError)ritems r __getitem__zFtest_iterator_fails_getting_next_line..BadSequence.__getitem__=s2rzz"#9:::&&d1f&& &rN)__name__ __module__ __qualname__rrrrr BadSequencer9s2    ' ' ' ' 'rrrrxrrf)r~rrrrrh)rs r%test_iterator_fails_getting_next_liner8s'''''''' |+A B B B<< ;;==s;;;;<<<<<<<<<<<<<<<<< : : : > > G % 9 9  : > > > > > > > > > > > > > > > > > > > > >AA//A36A3c Gdd}tjtd5tjj|tjddddddS#1swxYwYdS)NceZdZdZdZdS)BTestCReaderUnitTests.test_filelike_read_fails..BadFileLikercZ|xjdz c_|jdkrtddS)NrC Bad bad bad!z1,2,3 )counterrrsizes rreadzGTestCReaderUnitTests.test_filelike_read_fails..BadFileLike.readUs2 ! <"$$&~666 yrNrrrrrrrr BadFileLikerRs(G ! ! ! ! !rrrrxr*Tr)r~rrrrrrr=rrs rtest_filelike_read_failsz-TestCReaderUnitTests.test_filelike_read_failsNs ! ! ! ! ! ! ! !]<~ > > > C C G % 9 9 RXc]]T : C C C C C C C C C C C C C C C C C C C C CAA88A<?A<c Gdd}tjtd5tjj|tjddddddS#1swxYwYdS)NceZdZdZdZdS)@TestCReaderUnitTests.test_filelike_bad_read..BadFileLikercdS)Nirrs rrzETestCReaderUnitTests.test_filelike_bad_read..BadFileLike.readgstrNrrrrrrds(G     rrr4rxr*Tr)r~rrrrrrr=rs rtest_filelike_bad_readz+TestCReaderUnitTests.test_filelike_bad_read_s          ]9BDDD C C G % 9 9 RXc]]T : C C C C C C C C C C C C C C C C C C C C Crctjtd5tjjttjddddddS#1swxYwYdS)Nz/error reading from object, expected an iterablerxr*Fr r~rrrrrrr:r=rs rtest_not_an_iterz%TestCReaderUnitTests.test_not_an_iteros ]9KMMM ? ? G % 9 9  : ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?rctjtd5tjjtddddddS#1swxYwYdS)Nzinternal error: dtype mustrxr*Fr)r~rrrrrrr:rs r test_bad_typez"TestCReaderUnitTests.test_bad_typeus ]9,H I I I 5 5 G % 9 9e : 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 5s4AA!$A!ctjtd5tjjttjdddddddS#1swxYwYdS)Nzencoding must be a unicoderxr*F{)r=rrrrs rtest_bad_encodingz&TestCReaderUnitTests.test_bad_encodingzs ]9,H I I I M M G % 9 9  : M M M M M M M M M M M M M M M M M M M M MsAA00A47A4r)rrrc tdd|d}tjj|tjddddd }t|ddd fd d |ddgdS)Nz0 1 "2 " 3 4 # rr")rU10TrMrrC)r=rquoter skiplinesrrnrrz4 )rr&rrrrr=r)rrrrs rtest_manual_universal_newlinesz3TestCReaderUnitTests.test_manual_universal_newliness/77gFF "$$$g';; $sa<11 3qqq!t9sMMM3&EFFFFFrN) rrrrrrrrrr~mark parametrizerrrrrrFs>>> CCC"CCC ??? 555 MMM  [Y(<(<(<== G G>= G G Grrctjtd5tjt dddddddS#1swxYwYdS)N".*control characters.*incompatiblerx1, 2, 3rrrCrrr'test_delimiter_comment_collision_raisesrs y(L M M MEE 8I&&#DDDDEEEEEEEEEEEEEEEEEE%AAActjtd5tjt dddddddS#1swxYwYdS)NrrxrrrcrCrrr)test_delimiter_quotechar_collision_raisesr s y(L M M MFF 8I&&#EEEEFFFFFFFFFFFFFFFFFFrctjtd5tjt dddddddS#1swxYwYdS)Nrrx1 2 3r)r rWrCrrr'test_comment_quotechar_collision_raisesr s y(L M M MCC 8G$$scBBBBCCCCCCCCCCCCCCCCCCrctjtd5tjt ddddgddddS#1swxYwYdS)Nz0Comment characters.*cannot include the delimiterrxrrrrrCrrr5test_delimiter_and_multiple_comments_collision_raisesrs K   LL 8I&&#c KKKKLLLLLLLLLLLLLLLLLLs'AAActjtd5tjt d|d|d|d|d |dddn #1swxYwYtjtd5tjt d|d|d|d|d | ddddS#1swxYwYdS) Nrrxrnrz3 45z6 r rWrC)rs r,test_collision_with_default_delimiter_raisesrs y(L M M MII 8999R99R99"999::RHHHHIIIIIIIIIIIIIII y(L M M MJJ 8999R99R99"999::bIIIIJJJJJJJJJJJJJJJJJJs#1AA A?1B==CCnl)rrc td|d|d||d|d|d||}d}tjt|5t j|| dddn #1swxYwYtjt|5t j|| dddn #1swxYwYtjt|5t j|| ddddS#1swxYwYdS) Nrnrrrorrz&control character.*cannot be a newlinerxrrrrd)rr(rs r%test_control_character_newline_raisesrs E !ZL 0DxN333H 499T?? # #C 3n---A 7hn $ $ $ $H IBHRLLL eS  "R 4!!!""""""""""""""" 5///AIe 7hn $ $ $ $Hs0)C%%C),C)cdgdzdgz}tjdgdzdgzd}d}td|}tj|d |d }|j|jksJt ||t\}}tj |t|d 5}| d|dddn #1swxYwYtj|d |d }tj ||j|jksJt ||dS) Nrr XXXtis_but_a_scratchrrr<c,|dSr)striprs rrz>test_str_dtype_unit_discovery_with_converter..sQWWU^^rrr)r=rrr|r")rrrr(r)r'r(rs r,test_str_dtype_unit_discovery_with_converterr.s >E !%;$< rEs  00000000++++++CCCCCCCCCC B B B $L$L$LMM::NM:!!!@\\\22//32/***OOO@@@ L L LLLL":;;--<;- ":;;..<;. #NNN#C#C#CDD,,ED,         5&/22OO32OGG 2 :i G9;;828D>>828D>>"BCC44DC;;4   000(((( E E E%%%3334433344  5454           "777),,..-,.% hbhtnn hbhtnn , , ,   &===GG 2 :i G9;;",|"<==NOO 4 4PO>=;; 4GG 2 :i G9;;",|"<==NOO44PO>=;;4 2<"?@@ 66   76A@        777 $-EFF**GF*&GG 2 :i G9;;%%;;%!eWb!122::32:GG 2 :i G9;;KK;;K0088108 <<< o.. & &/. &o.. & &/. &&&&"GG 2 :i G9;;77;;7 ( ( ( &&&:         !EFF),,T9$566++76-,GF+*V,,++-,+'7+."$>!I+ ttHIIJ ) GHHI&!.())"$// ) )0/#))$ ) \"W,s244<<44<$''KK('KGG 2 :i G9;;$''KKKMM??MM(';; ? GG 2 :i G9;; L & 2S 8::II::;;IGG 2 :i G9;; \"Y.466 + +66;; + i i"((( i k k m " 22  2 $8$8$899KK:9KNNN < < <FGFGFGFGFGFGFGFGREEE FFF CCC LLL  JJ  J|,,&&-,&F07"4556540GG 2 :i G9;;::;;: 12232r