a :jgO@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl m Z ddl m Z ddl mZmZddlmZddlZddlmZmZddlmZddlZddlmZddlmZdd lmZmZdd l m!Z!dd l"m#Z#m$Z$dd l%m&Z&dd l'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6ddl7m8Z8ddl9m:Z:GdddeZ;ejZ>dZ?Wne@ydZ?Yn0zddlAZAdZBWne@ydZBYn0d=ddZCGdddZDGdddeDZEGdddeDZFGdddZGGdd d ZHGd!d"d"eHZIGd#d$d$ZJGd%d&d&eHZKGd'd(d(ZLd)d*ZMGd+d,d,ZNGd-d.d.ZOd/d0ZPd1d2ZQd3d4ZRd5d6ZSejTjUe1 d7d8d9d:ZVd;d<ZWdS)>N)Path)NamedTemporaryFile)BytesIOStringIO)datetime)Value get_context)c_bool)VisibleDeprecationWarning)ConverterErrorConversionWarning) _npyio_impl) recfromcsv recfromtxt) assert_equal) assert_warnsassert_assert_raises_regex assert_raisesassert_allcloseassert_array_equaltemppathtempdirIS_PYPY HAS_REFCOUNTsuppress_warningsassert_no_gc_cyclesassert_no_warnings break_cyclesIS_WASM)requires_memoryasbytesc@s*eZdZdZd ddZddZddZd S) TextIOzHelper IO class. Writes encode strings to bytes if needed, reads return bytes. This makes it easier to emulate files opened in binary mode without needing to explicitly convert strings to bytes in setting up the test data. cCst|t|dSN)r__init__r"selfsr*A/usr/local/lib/python3.9/site-packages/numpy/lib/tests/test_io.pyr&,szTextIO.__init__cCst|t|dSr%)rwriter"r'r*r*r+r,/sz TextIO.writecCst|dd|DdS)NcSsg|] }t|qSr*r!).0r)r*r*r+ 3z%TextIO.writelines..)r writelines)r(linesr*r*r+r02szTextIO.writelinesN)r$)__name__ __module__ __qualname____doc__r&r,r0r*r*r*r+r##s r#lTFcCs.t|tkr|d}tt||ddS)zY This function is available in the datetime module only from Python >= 2.5. latin1N)typebytesdecodertimestrptime)r)fmtr*r*r+r<Cs  r<c@sjeZdZddZddZddZddZd d Zej j e j d kd d ddZ ddZej jddZdS) RoundtripTestc Os0|di}|dddi}|dd}|r>tdd}|j}n t}|}z|} ||g| Ri|||dtjd krt|ts| t j |fi|} | |_ | |_ Wt|ts| d tvrt| t jjjst|jn@t|ts*| d tvr*t| t jjjs*t|j0d S) a save_func : callable Function used to save arrays to file. file_on_disk : bool If true, store the file on disk, instead of in a string buffer. save_kwds : dict Parameters passed to `save_func`. load_kwds : dict Parameters passed to `numpy.load`. args : tuple of arrays Arrays stored to file. save_kwds load_kwdsZ allow_pickleT file_on_diskF)deleterwin32 arr_reloadedN)getrnamerflushseeksysplatform isinstanceclosenploadarrrDlocalslibZnpyioZNpzFileosremove) r(Z save_funcargskwargsr?r@rAZ target_fileZ load_filerOrDr*r*r+ roundtripOs8        zRoundtripTest.roundtripcCs|||j|dd|t||jt|dd|jddkr~|t|dd|jt|dddddS)NT)rAr)rVrMasfortranarrayshaper(ar*r*r+check_roundtripss zRoundtripTest.check_roundtripscCstgt}||tddgddggt}||tddgddggt}||tjddgddggtjd }||tjddgddggtjd }||dS) NrWr7y?@y@@y@@y@ @dtype)rMarrayfloatr\intZcsingleZcdoublerZr*r*r+ test_arrays     zRoundtripTest.test_arraycCs<tgt}||tddgddggt}||dS)NrWr]r7r^)rMraobjectr\rZr*r*r+test_array_objects  zRoundtripTest.test_array_objectcCstgdt}||dS)NrWr]r7r^)rMrarcrVrZr*r*r+test_1DszRoundtripTest.test_1DrCzFails on Win32reasoncCsXtddgddgg}|j|dddidtddgddgg}|j|dddiddS) NrWg@r^g333333@T mmap_moder)rAr@)rMrarVrXrZr*r*r+ test_mmapszRoundtripTest.test_mmapcCs$tjddgddgd}||dS)NrWr]r7r^xi4yrrr_)rMrar\rZr*r*r+ test_recordszRoundtripTest.test_recordcCshddtdD}tjd|d}tjdd(tdd t||Wdn1sZ0YdS) NcSsg|]}d|dtfqS)%ddrbr-ir*r*r+r.r/z1RoundtripTest.test_format_2_0..ir_Trecordalwaysr$)rangerMoneswarningscatch_warningsfilterwarnings UserWarningr\)r(dtr[r*r*r+test_format_2_0s zRoundtripTest.test_format_2_0N)r2r3r4rVr\rdrfrhpytestmarkskipifrIrJrmruslowrr*r*r*r+r>Ns0  r>c@seZdZddZdS) TestSaveLoadcOsbtj|tjg|Ri|t|jd|jt|jdj|jjt|jdjj |jjj dS)Nr) r>rVrMsaverrOrDr`flagsfnc)r(rTrUr*r*r+rVszTestSaveLoad.roundtripN)r2r3r4rVr*r*r*r+rsrc@seZdZddZejjeddejje ddejj ddZ dd Z d d Z d d Z ddZejjeddddZddZejjddZddZejdgdddZdS) TestSavezLoadc Ostj|tjg|Ri|ztt|jD]@\}}|jd|}t||t|j|jt|j j |j j q(W|jj r|jj t |jj jn&|jj r|jj t |jj j0dS)Nzarr_%d)r>rVrMsavez enumeraterOrDrr`rrZfidrLrRrSrF)r(rTrUnrOZreloadedr*r*r+rVs   zTestSavezLoad.roundtripz Hangs on PyPyrizNeeds 64bit platformcCspd}tj|tjd}tddd<}tj||d~t|}|d}|~Wdn1sb0YdS)Nlr_Znumpy_test_big_arrays_.npz)prefixsuffixr[r[)rMemptyuint8rrrNrL)r(Lr[tmpZnpfiler*r*r+test_big_arrayss zTestSavezLoad.test_big_arrayscCs@tddgddggt}tddgddggt}|||dS) NrWr]r7r^?@@@@@(@)rMrarbcomplexrV)r(r[br*r*r+test_multiple_arrayssz"TestSavezLoad.test_multiple_arrayscCsztddgddggt}tddgddggt}t}tj|||d |d t|}t||d t||d dS NrWr]r7r^rrrr)file_afile_brrr) rMrarbrrrrHrNrr(r[rclr*r*r+test_named_arrayss  zTestSavezLoad.test_named_arrayscCsptgd}t}tj||d|dt|}tjtdd|dWdn1sb0YdS)NrWr]r7rrz(1, 2)matchrn) rMrarrrHrNrraisesKeyError)r(r[frr*r*r+test_tuple_getitem_raisess  z'TestSavezLoad.test_tuple_getitem_raisescCstddgddggt}tddgddggt}t}tj|||d |d t|}tt t |j d d gt||j j t||j j dSr)rMrarbrrrrHrNrsorteddirrrrrr*r*r+ test_BagObjs  zTestSavezLoad.test_BagObjzCannot start threadcsXddgfddtdD}|D] }|q(|D] }|q:rTtdS)Nc Ss~tdd`}tjdd}ztj||dWn.tyZ}z||WYd}~n d}~00Wdn1sp0YdS)Nrrr{)rO)rrMrandomZrandnrOSErrorappend)Z error_listrrOerrr*r*r+writers  z9TestSavezLoad.test_savez_filename_clashes..writercsg|]}tjfdqS)targetrT) threadingThread)r-jerrorsrr*r+r.sz=TestSavezLoad.test_savez_filename_clashes..r7)rstartjoinAssertionError)r(threadstr*rr+test_savez_filename_clashess   z)TestSavezLoad.test_savez_filename_clashesc Cstdd}t|d}tj|ddWdn1s:0Yt|ddV}|dt|j t|d t|j |dt|j Wdn1s0YWdn1s0YdS) Nrrwb LOVELY LOADdatarbi'rr)ropenrMrrHrclosedrN)r(rfpr*r*r+test_not_closing_opened_fids  ,    z)TestSavezLoad.test_not_closing_opened_fidc Cstdd}tj|ddt}|ttddD]l}zXzt|dWn4ty}zd|}t |WYd}~n d}~00Wt rt q6t rt 0q6Wdn1s0YWdn1s0YdS) NrrrrrWirz#Failed to load data from a file: %s) rrMrrfilterResourceWarningrrN ExceptionrrgcZcollect)r(rsuprzemsgr*r*r+test_closing_fid*s    zTestSavezLoad.test_closing_fidcCsfd}td|dB}tj|ddt|}|jj}|t|jWdn1sX0YdS)NZ&numpy_test_closing_zipfile_after_load_r)rr place holderlab) rrMrrNziprrLrr)r(rrrrr*r*r+test_closing_zipfile_after_loadDs z-TestSavezLoad.test_closing_zipfile_after_loadzcount, expected_repr))rWz"NpzFile {fname!r} with keys: arr_0)z>NpzFile {fname!r} with keys: arr_0, arr_1, arr_2, arr_3, arr_4)zANpzFile {fname!r} with keys: arr_0, arr_1, arr_2, arr_3, arr_4...cCstddgddggt}tddR}tj|g|g|Rt|}t||j|dks^J|Wdn1sz0YdS)NrWr]r7r^rr)fname) rMrarbrrrNreprformatrL)r(countZ expected_reprr[rrr*r*r+test_repr_lists_keysQs   z"TestSavezLoad.test_repr_lists_keysN)r2r3r4rVrrrrIS_64BITrrrrrrrrrZ slow_pypyrr parametrizerr*r*r*r+rs"       rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ e j deegddZddZddZddZddZddZd d!Zd"d#Ze j d$eegd%d&Ze j jejd'kd(d)e j je d*d+d,d-Z!d.S)/ TestSaveTxtcCstddgddggt}d}t}tj|||d|dt|t|d|d d t|d|d d gtddgddggt }t}tj||d d|dt|d dgdS)NrWr]r7r^z%.18er=r  rnrorv1 2 3 4 ) rMrarbrsavetxtrHr readlinesr"rc)r(r[r=rr*r*r+rdbs  zTestSaveTxt.test_arraycCsJtgdt}t}tj||dd|d|}t|gddS)Nrgrvrr)s1 s2 s3 s4 )rMrarcrrrHrrr(r[rr1r*r*r+rhrs  zTestSaveTxt.test_1DcCs@t}tttj|tdtttj|tdgdgggdS)NrWr])rr ValueErrorrMrrar(rr*r*r+ test_0D_3DzszTestSaveTxt.test_0D_3DcCsLtjddgddgd}t}tj||dd|dt|d d gdS) Nrnrorprsr_rvrrrrrMrarrrHrrr(r[rr*r*r+test_structureds  zTestSaveTxt.test_structuredcCsTtjddggdd}t}tj||ddgdd|d t|d d gdS) Nrr^rr))foorr)barrr)bazrrr_rrrvrrs1 3 s4 6 rrr*r*r+test_structured_paddeds  z"TestSaveTxt.test_structured_paddedcCsttjdgdd}|ddg}tdd8}t|}t||t|}t||Wdn1sf0YdS)NrW)rprs)zf4r_rqr.npyr)rMrrrrrNr)r(r[vpathrr*r*r+test_multifield_views    z TestSaveTxt.test_multifield_viewcCsNtddgddgg}t}tj||ddd|dt|d d gdS) N?@@@,rv) delimiterr=rs1,2 s3,4 rrr*r*r+test_delimiters  zTestSaveTxt.test_delimitercCstddg}t}tj||ddgd|dt|ddgt}tj||d d|d|}t|d d gt}tj||d d d |d|}t|d d gt}tttj||dddS)Nrnroz%02dz%3.1frrs01 2.0 s03 4.0 z %02d : %3.1fs 01 : 2.0 s 03 : 4.0 r)r=rc) rMrarrrHrrrrrr*r*r+ test_formats"   zTestSaveTxt.test_formatcCst}tjddgtd}d}tj||d|d|dt|td|d t}tj||d|d |dt|td |d t}d }tj||d||d|dt|t||d dt}d }tj||d||d|dt|td||d dS)Nrnror_zTest header / footerz%1d)r=headerrz# z 1 2 3 4 )r=footerz 1 2 3 4 # rz% )r=r commentsz1 2 3 4 )r=r r ) rrMrarcrrHrreadr")r(rr[test_header_footerZ commentstrr*r*r+r s@      zTestSaveTxt.test_header_footer filename_typecCs`tF}tddg}t|||t||}t||Wdn1sR0YdS)Nrnro)rrMrarloadtxtr)r(rrFr[rr*r*r+test_file_roundtrips zTestSaveTxt.test_file_roundtripcCsd}d}tj||ftjd}tj}tj}|d||dd<t}tj||dd|d|}t |ddgt}tj||d|d|d|}t |d d gt}tj||d g|d|d|}t |d d gdS) Nr]r_?z %+.3errs8 ( +3.142e+00+ +2.718e+00j) ( +3.142e+00+ +2.718e+00j) z %+.3e %+.3es1 +3.142e+00 +2.718e+00 +3.142e+00 +2.718e+00 z (%.3e%+.3ej)s.(3.142e+00+2.718e+00j) (3.142e+00+2.718e+00j) rMzeros complex128pirrrrHrrr(ZncolsZnrowsr[reimrr1r*r*r+test_complex_arrayssH   zTestSaveTxt.test_complex_arrayscCsvd}d}tj||ftjd}tj}tj}|d||dd<t}tj||dd|d|}t |ddgdS)Nr]r_rz%.3errs0 (3.142e+00-2.718e+00j) (3.142e+00-2.718e+00j) rrr*r*r+test_complex_negative_exponent s  z*TestSaveTxt.test_complex_negative_exponentcCsHGdddt}|}tddg}t||t|}t||dS)Nc@seZdZddZdS)z4TestSaveTxt.test_custom_writer..CustomWritercSs||ddS)N )extendsplit)r(textr*r*r+r,sz:TestSaveTxt.test_custom_writer..CustomWriter.writeN)r2r3r4r,r*r*r*r+ CustomWritersrrnro)listrMrarrr)r(rwr[rr*r*r+test_custom_writers   zTestSaveTxt.test_custom_writercCsddd}tj|gtjd}t.}tjtj|d|dgddWdn1sV0YdS)NϖUTF-8r_test.csv%sr=encoding) r:rMrastr_rrrRrr)r(utf8r[tmpdirr*r*r+ test_unicode(s  zTestSaveTxt.test_unicodecCsdd}tj|gtjd}ddg}tr2|dtrD|ddgtf}|D]P}tj t j |d ||d gd d tj t j |d |d tjd }t||qPWdn1s0YdS)Nr#r$r_r$.gz.bz2.xz.lzmar%r&z UTF-16-LEr'r(r`)r:rMrar)HAS_BZ2rHAS_LZMArrrrRrrrr)r(r*r[suffixesr+rrr*r*r+test_unicode_roundtrip0s   z"TestSaveTxt.test_unicode_roundtripcCs\dd}tj|gtjd}t}tj||dgdd|dt|d|ddSNr#r$r_r&r'rr) r:rMrar)rrrHrr r(r*r[r)r*r*r+test_unicode_bytestreamAs   z#TestSaveTxt.test_unicode_bytestreamcCsVdd}tj|gtjd}t}tj||dgdd|dt||ddSr6) r:rMrar)rrrHrr r7r*r*r+test_unicode_stringstreamIs   z%TestSaveTxt.test_unicode_stringstreamiotypecCs^tdg}|}tj||dd|d|turHt|ddnt|dddS)Nr%frrz%f s%f )rMrarrHrrr )r(r:r[r)r*r*r+test_unicode_and_bytes_fmtQs  z&TestSaveTxt.test_unicode_and_bytes_fmtrCzfiles>4GB may not workrig`A)Z free_bytescCsldd}tt}td}|j||fd}|||jrFtd|jdkrZt d|jdkshJdS) NcSsd|_z^tjddtdDtd}t(}tjtj |d|dWdn1sX0YWnt y~d|_Yn0dS) NFcSs$g|]}tjtjdddqS)2rwr^)rMrZrandrandintryr*r*r+r.fszGTestSaveTxt.test_large_zip..check_large_zip..i5 r_ztest.npz) test_dataT) valuerMZasarrayrrerrrRrr MemoryError)memoryerror_raisedr?r+r*r*r+check_large_zipas ( z3TestSaveTxt.test_large_zip..check_large_zipforkrz,Child process raised a MemoryError exceptionzCsubprocess got a SIGKILL, apparently free memory was not sufficientr) rr rProcessrrr@rAexitcoderxfail)r(rCrBctxpr*r*r+test_large_zip]s  zTestSaveTxt.test_large_zipN)"r2r3r4rdrhrrrrrrr rrrrstrrrrr"r,r5r8r9rrr<rrIrJrr rKr*r*r*r+ras0  " &  rc@sxeZdZddZddZejje ddddZ ejje d dd d Z d d Z ddZ ddZddZddZdS) LoadTxtBasec Cstdd}d}|D]}d|d}|D]}t|d}||ddd } | |Wdn1sj0Y|j|dd } t| |||d dd } || } Wdn1s0Yt| |Wdq,1s0Yq,qdS) Nrr]r7rz  0 1 23 4 5rwtz UTF-32-LE)moder(r(rt)rMarangereshaperr,loadfuncr) r(Zfopenr4wantedlinesepseprrrFrresr*r*r+check_compresseds  ( (zLoadTxtBase.check_compressedcCs|tjddS)N)r-)r^gziprr(r*r*r+test_compressed_gzipsz LoadTxtBase.test_compressed_gzipz Needs bz2ricCs|tjddS)N)r.)r^bz2rr`r*r*r+test_compressed_bz2szLoadTxtBase.test_compressed_bz2z Needs lzmacCs|tjddS)N)r/r0)r^lzmarr`r*r*r+test_compressed_lzmasz LoadTxtBase.test_compressed_lzmac Cstf}t|d }|ddWdn1s80Y|j|dd}t|gdWdn1sr0YdS)Nrz0. 1. 2.UTF-16rU)rr)rrr,encoderYr)r(rrrqr*r*r+ test_encodings  .zLoadTxtBase.test_encodingc Csdd}tf}t|d }||dWdn1sB0Y|j|dtjd}t||Wdn1s|0YdS)Nsöüör$rrfr1) r:rrr,rhrYrMr)r)r(Znonasciirrrqr*r*r+test_stringloads   .zLoadTxtBase.test_stringloadcCs8d}|jt|tjdd}t|t|ddSNs h i jrfr`r()rYrrMr)rrar:rr(utf16rr*r*r+test_binary_decodeszLoadTxtBase.test_binary_decodecCsVt}|d|d|j|tjddddid}tddg}t||dS)Nr#rr9cSs |dS)Nr$r:rqr*r*r+r/z4LoadTxtBase.test_converters_decode..)r`r( convertersr$) r#r,rHrYrMr)rar:rr(rrqr[r*r*r+test_converters_decodes    z"LoadTxtBase.test_converters_decodec Csdd}t~}t|ddd}||Wdn1s@0Y|j|tjdddidd}t|d g}t||Wdn1s0YdS) Nr#r$rSrUrcSs|dS)Nrr*rqr*r*r+rrr/z6LoadTxtBase.test_converters_nodecode..r`rsr(r) r:rrr,rYrMr)rar)r(r*rrrqr[r*r*r+test_converters_nodecodes (  z$LoadTxtBase.test_converters_nodecodeN)r2r3r4r^rarrrr2rcr3rerirjrorurwr*r*r*r+rMs    rMc @seZdZeejZddZddZddZ ddZ d d Z d d Z d dZ ddZddZddZejjeovejjdkddddZddZddZddZd d!Zd"d#Zd$d%Zd&d'Zd(d)Z d*d+Z!d,d-Z"d.d/Z#d0d1Z$d2d3Z%ejjeoejjdkddd4d5Z&ejjeo*ejjdkddd6d7Z'd8d9Z(d:d;Z)dd?Z+d@dAZ,dBdCZ-dDdEZ.dFdGZ/dHdIZ0ejje12dJkdKddLdMZ3dNdOZ4dPdQZ5dRdSZ6dTdUZ7ej8dVdWgdXgdYfdXgdZfdXe9d[fd\gd]fd\gd^fd\e9d_fgd`daZ:dbS)c TestLoadTxtcCstj|_dt_dSNrW)r _loadtxt_chunksize orig_chunkr`r*r*r+ setup_methodszTestLoadTxt.setup_methodcCs |jt_dSr%)r{r rzr`r*r*r+teardown_methodszTestLoadTxt.teardown_methodcCst}|d|dtj|dtjfdtjfgd}tjddgdd gd}t||t}|d |dd d d }tjddg|d}tj||d}t||dS)N1 2 3 4rrqrtr_rnrorprszM 64 75.0 F 25 60.0genderageweightS1rrrnamesformatsMP@R@F9@N@)r#r,rHrMrint32rar)r(rrqr[dZ mydescriptorrrtr*r*r+rus&     zTestLoadTxt.test_recordcCst}|d|dtj|td}tddgddggt}t|||dtj|td}tddgddggt}t||dS)Nr~rr_rWr]r7r^) r#r,rHrMrrcrarrbrtr*r*r+rds    zTestLoadTxt.test_arraycCst}|d|dtj|td}tgdt}t||t}|d|dtj|tdd}tgdt}t||dS)N1 2 3 4 rr_rg1,2,3,4 rr`rr#r,rHrMrrcrarrtr*r*r+rhs     zTestLoadTxt.test_1DcCsRt}|d|dtj|tddddid}tgdt}t||dS) N 1,2,3,,5 rrr7cSs t|pdSNrcr)r*r*r+rr r/z*TestLoadTxt.test_missing..r`rrsrWr]r7rrrrtr*r*r+ test_missings    zTestLoadTxt.test_missingcCs\t}|d|dtj|tddddidd}td d gd d ggt}t||dS) N1,2,3,,5 6,7,8,9,10 rrr7cSs t|pdSrrrr*r*r+rrr/z:TestLoadTxt.test_converters_with_usecols..rWr7r`rrsusecolsr]r rrtr*r*r+test_converters_with_usecols s    z(TestLoadTxt.test_converters_with_usecolscCsJt}|d|dtj|tddd}tgdt}t||dS)N# comment 1,2,3,5 rr#r`rr rWr]r7rrrtr*r*r+test_comments_unicodes   z!TestLoadTxt.test_comments_unicodecCsJt}|d|dtj|tddd}tgdt}t||dS)Nrrr#rrrrtr*r*r+test_comments_byte s   zTestLoadTxt.test_comments_bytecCsVt}|d|dtj|tdgdd}tgdgdgt}t||dS)Nz,# comment 1,2,3 @ comment2 4,5,6 // comment3rr)r@z//rrrrrtr*r*r+test_comments_multiple)s   z"TestLoadTxt.test_comments_multiple)rr7zPyPy bug in error formattingricCszt}|d|dtj|tddd}tgdt}t||t}|d|dtt tj|tddddS)Nz/* comment 1,2,3,5 rrz/*rrz*/ comment 1,2,3,5 ) r#r,rHrMrrcrarrrrtr*r*r+test_comments_multi_chars2s      z%TestLoadTxt.test_comments_multi_charscCst}|d|dtj|tddd}tgdt}t||t}|d|dtj|tddd}tgdt}t||dS)Ncomment 1,2,3,5 rrrW)r`rskiprowsrrrrtr*r*r+ test_skiprowsDs        zTestLoadTxt.test_skiprowsc Cstddgddggt}t}t|||dtj|tdd}t||dddftgdgd gt}t}t|||dtj|td d}t||ddddf|dtj|ttddgd}t||ddddfttj tj tj tj tj tjtjtjf D]>}|d}|dtj|t|d}t||dddfqGd d d }|}|dtj|t|d}t||dddf|dtj|t|fd}t||dddfd }t|}ddg} ddg} tj|dtt| | d} t| dddgt| dddg|dd} ttdt| jtj|| dttdt| jtj|d| dgddS)NrWr]r7r^rrWr`rrr7r^rrnc@seZdZddZdS)z*TestLoadTxt.test_usecols..CrazyIntcSsdSryr*r`r*r*r+ __index__tsz4TestLoadTxt.test_usecols..CrazyInt.__index__N)r2r3r4rr*r*r*r+CrazyIntssrz.rrs*rWcSs t|dSrrrr*r*r+rrr/!B)r#r0rHrMrr)r(rrr*r*r+test_unused_converters    z!TestLoadTxt.test_unused_convertercCsrd}dtfdtfg}dd}d|i}tjt|d||d}tjdtd ddfd td dd fg|d }t||dS)N0 1; 2001-01-01 2; 2002-01-31 idxcodecSst|dSNz%Y-%m-%dr<striprr*r*r+rrr/z4TestLoadTxt.test_dtype_with_object..rW;rr`rsr]r_)rcrerMrr#rarrr(rZndtypefuncrstestcontrolr*r*r+test_dtype_with_objectsz"TestLoadTxt.test_dtype_with_objectcCs@d}t}|d||dtj|tjd}t||dS)N)l+&|l-(|%s %srr_)r#r,rHrMrrrr(tgtrr]r*r*r+test_uint64_types  zTestLoadTxt.test_uint64_typecCs@d}t}|d||dtj|tjd}t||dS)N)llrrr_)r#r,rHrMrrrrr*r*r+test_int64_types  zTestLoadTxt.test_int64_typecCstdddtj}t|| ft}dttj|}t }| |ttjfD]4}| dtj ||tj dd}t||d|d qXdS) Nirrrrr6rvr&)err_msg)rMZlogspaceZastypeZfloat32Zhstackrbrmaphexr#r,rHrfromhexr)r(rinprrr]r*r*r+test_from_float_hexs   zTestLoadTxt.test_from_float_hexcCsDtd}tjtddt|Wdn1s60YdS)z Ensure that fromhex is only used for values with the correct prefix and is not called by default. Regression test related to gh-19598. za b cz2.*convert string 'a' to float64 at row 0, column 1rNr#rrrrMrrr*r*r+6test_default_float_converter_no_default_hex_conversion s zBTestLoadTxt.test_default_float_converter_no_default_hex_conversioncCsDtd}tjtddt|Wdn1s60YdS)z Ensure that the exception message raised during failed floating point conversion is correct. Regression test related to gh-19598. zqrs tuvz)could not convert string 'qrs' to float64rNrrr*r*r+&test_default_float_converter_exceptions z2TestLoadTxt.test_default_float_converter_exceptioncCsNtddtddf}t}|d||dtj|td}t||dS)NrWrrr_)rr#r,rHrMrrrr*r*r+test_from_complex$s  zTestLoadTxt.test_from_complexcCstjdtjd}tj}tj}|d||dd<t}tj||dd|d|}|d| dd}t ||k| ||dtj |t d}t||dS) Nr]r]r_rz%.16errse+00-se00+-)rMrrrrrrrHr replacerr,rrr)r(r[rrrtxtZtxt_badr]r*r*r+test_complex_misformatted,s      z%TestLoadTxt.test_complex_misformattedc Cs~tN}t|d}|dWdn1s20Yt|}Wdn1sZ0Yt|ddgddggdS)Nr!z 1 21 3 42 rWrr7r)rrr,rMrr)r(rFrrr*r*r+test_universal_newline@s  ((z"TestLoadTxt.test_universal_newlinecCsTt}|d|dddd}tj||dd}tgd}t|d |dS) Nz 1 2 3 start 4 5 6 7 8 9.5 r)rqrtrcomment).countr)rMrrrWr(rr]r*r*r+test_generator_sources z!TestLoadTxt.test_generator_sourcecCs.t}|d|dttdtj|dS)Nz1 2 3 4 5 6 2 3r3)r#r,rHrrrMrrr*r*r+ test_bad_lines  zTestLoadTxt.test_bad_linecCsHt}|d|dtdtfddtfg}tj|d|dddS)Nz100,foo,200 300,None,400rrq)r[ZS10rtr)rr`r )r#r,rHrMr`rcr)r(rrr*r*r+test_none_as_strings   zTestLoadTxt.test_none_as_stringzANSI_X3.4-1968zWrong preferred encodingc Csd}|ddd}t}t|d}||Wdn1sL0Yt|d"}tj|dtjd}Wdn1s0Yt ||t|d }tj|ddd}Wdn1s0Ygd }t |tj |dd Wdn1s0YdS) Ns/5,6,7,Õscarscar 15,2,3,hello 20,2,3,Õscar r$rPr$rrr1S)s5,6,7,Õscarscars 15,2,3,hellos 20,2,3,Õscarr_) r:r  splitlinesrrr,rMrr)rra)r(Zbutf8Zsutf8rrrqr*r*r+test_binary_loads ( 0  .zTestLoadTxt.test_binary_loadcCsJt}|d|dtj|tddd}tgdt}t||dS)N1,2,3,5 4,5,7,8 2,1,4,5rrrWr`rmax_rowsrrrtr*r*r+ test_max_rowss   zTestLoadTxt.test_max_rowscCst}|d|dtj|tdddd}tgdt}t||t}|d|dtj|tdddd}tgdgd gt}t||dS) Nz comments 1,2,3,5 4,5,7,8 2,1,4,5rrrWr`rrr1rcomment 1,2,3,5 4,5,7,8 2,1,4,5r]r^rrrrrtr*r*r+test_max_rows_with_skiprowss        z'TestLoadTxt.test_max_rows_with_skiprowscCs|t}|d|dtj|tddd}tgdgdgt}t||tj|tdd}tgd t}t||dS) Nr/rrr]r0rr5rr]rWr^rrrtr*r*r+$test_max_rows_with_read_continuations    z0TestLoadTxt.test_max_rows_with_read_continuationcCsZt}|d|dtj|tdddd}tgdgdgd gt}t||dS) Nr4rrrWrr3rr5r7rrtr*r*r+test_max_rows_largers   z TestLoadTxt.test_max_rows_largerskiprrW)zignored 1,2 r3,4 )Zignored1,2r$3,4zignored 1,2 3,4r)z-1,0 r;rr<)z-1,0r=r$r>z -1,0 1,2 3,4c Cstjtdd|dLtj|t|dd|d}t|ddgdd gdd gg|dWdn1sj0Yt|tr| dt ^t d tt t(tj|t|dd|dWdn1s0YWdn1s0YdS) NzInput line 3.*max_rows=r7rr)r`rrr1rrrWr]r^error)rrrrMrrcrrKrrHrr simplefilterr)r(r:rr]r*r*r+test_max_rows_empty_liness   B      z%TestLoadTxt.test_max_rows_empty_linesN);r2r3r4 staticmethodrMrrYr|r}rurdrhrrrrrrrrrrIimplementationversionrrrrrrrrrrrrrrrrr r rrr r$r(r*r+localegetpreferredencodingr.r2r6r8r9rrrAr*r*r*r+rxs|       E           *           rxc@sNeZdZddZddZddZejde e gdd Z d d Z d d Z dS) TestfromregexcCsVt}|d|ddtjfdg}t|d|}tjgd|d}t||dS)Nz1.312 foo 1.534 bar 4.444 quxrnumvalZS3z([0-9.]+)\s+(...)))ˡE?rg%C?rg-@quxr_r#r,rHrMfloat64 fromregexrarrr*r*r+rus   zTestfromregex.test_recordcCsVt}|d|ddtjfdg}t|d|}tjgd|d}t||dS)N1312 foo 1534 bar 4444 quxrrHrIz (\d+)\s+(...))) r)r)\rNr_)r#r,rHrMrrQrarrr*r*r+ test_record_2s   zTestfromregex.test_record_2cCsTt}|d|ddtjfg}t|d|}tjgd|d}t||dS)NrRrrHz (\d+)\s+...))rS)rT)rUr_rOrr*r*r+ test_record_3s   zTestfromregex.test_record_3 path_typec Csd}t}||}t|d"}|d|dWdn1sF0Ydtjfdg}tj|d|dd }tjd d |dfd d g|d}t||t dt j } tj|| |dd }t||Wdn1s0YdS)Nr#rs 1.312 foos 1.534 bar 4.444 quxrH)rJZU4z(?u)([0-9.]+)\s+(\w+)r$rUrKrrLrMr_z([0-9.]+)\s+(\w+)) rrr,rMrPrQrar:rrcompileUNICODE) r(rXr*Zstr_pathrrrrqr[regexpr*r*r+test_record_unicodes  0 z!Testfromregex.test_record_unicodecCsLtd}td}dtjfg}tjgd|d}t|||}t||dS)N(\d)123rHrr_)rrYrrMrPrarQr)r(r[rrr[rqr*r*r+test_compiled_bytes-s   z!Testfromregex.test_compiled_bytescCsVtd}td}tjtdd"tj||tjdWdn1sH0YdS)Nr]r^zstructured datatyperr_) rrYrrrrrMrQrP)r(r[rr*r*r+test_bad_dtype_not_structured5s z+Testfromregex.test_bad_dtype_not_structuredN)r2r3r4rurVrWrrrrLrr\r_r`r*r*r*r+rGs    rGc@seZdZeejZddZddZddZ ddZ d d Z d d Z d dZ ddZddZddZddZddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Ze j!"d3d4d5Z#d6d7Z$d8d9Z%d:d;Z&dd?Z(d@dAZ)dBdCZ*dDdEZ+dFdGZ,dHdIZ-dJdKZ.dLdMZ/dNdOZ0dPdQZ1dRdSZ2dTdUZ3dVdWZ4dXdYZ5dZd[Z6d\d]Z7d^d_Z8d`daZ9dbdcZ:dddeZ;dfdgZdldmZ?dndoZ@dpdqZAdrdsZBdtduZCdvdwZDdxdyZEdzd{ZFd|d}ZGd~dZHddZIddZJddZKddZLddZMddZNddZOe j!"dddZPe j!"d3ddZQddZRddZSddZTddZUddZVddZWddZXddZYddZZddZ[e j!\dgde]dddZ^dS) TestFromTxtcCstd}tj|dtjfdtjfgd}tjddgddgd}t||td }d d d }tjd dg|d}tj||d}t||dS)Nr~rqrtr_rnrorprszM 64.0 75.0 F 25.0 60.0rrrrr)r#rM genfromtxtrrar)r(rrr descriptorr*r*r+ruBs  zTestFromTxt.test_recordcCsztd}tjddgddggtd}tj|td}t|||dtjddgddggtd}tj|td}t||dS)Nr~rWr]r7r^r_r) r#rMrarcrbrrHrbr)r(rrrr*r*r+rdQs  zTestFromTxt.test_arraycCsVtgdt}td}tj|td}t||td}tj|tdd}t||dS)Nrgrr_rrr)rMrarcr#rbrr(rrrr*r*r+rh]s zTestFromTxt.test_1DcCs\tgdt}td}tj|tddd}t||td}tj|tddd}t||dS)Nrrrrrz1,2,3,5# comment )rMrarcr#rbrrdr*r*r+ test_commentsis zTestFromTxt.test_commentscCsptgdt}ttdd}td}tj|fddi|}t||td}tj|fddi|}t||dS) Nrrrr skip_headerrWrr)rMrarcdictr#rbrr)r(rrUrrr*r*r+rus  zTestFromTxt.test_skiprowscCsddtddD}|d|ddtdDd|d <td d d d d}tjtd|fi|}tjddtdDdddDd}t ||dS)NcSsg|] }d|qS)z# %ir*ryr*r*r+r.r/z0TestFromTxt.test_skip_footer..rWrzA, B, CcSsg|]}d|||fqS)z %i,%3.1f,%03sr*ryr*r*r+r.r/3z99,99rrTrr)rrrf skip_footerrcSs"g|]}d|d|d|fqS)r;r*ryr*r*r+r.r/)cSsg|] }|tfqSr*rxr-_r*r*r+r.r/ABCr_) rrrrgrMrbr#rrar)r(rrUrctrlr*r*r+test_skip_footers  zTestFromTxt.test_skip_footerc Cs>t }|td}tttjt|ddtjt|ddd}t|t ddgddgddgd d ggtjt|d d}t|t ddgddgddgd d ggd }tjt|ddd}t|t ddgddgd d gd d ggtjt|d dd}t|t ddgddgd d ggWdn1s00YdS) Nz1 1 2 2 3 3 4 4 5 6 7 rW)riF)ri invalid_raiserrrrr7z1 1 2 3 3 4 4 5 6 6 7 7 r) rrr rrrMrbr#rra)r(rZbasestrr[r*r*r+test_skip_footer_with_invalids*   (( ( z)TestFromTxt.test_skip_footer_with_invalidcCstd}tjddB}tddttj|dddd}t|djtuWdn1s\0Yt d d gt d d gt d dgd}t |d|dt |d|dt |d|ddS)Nz)gender age weight M 64.0 75.0 F 25.0 60.0Tr|r~r$r9)r`rr(rrrrrrrrrrr) r#rrrr rMrbrcategoryrarr(rr!rrr*r*r+ test_headers 0   zTestFromTxt.test_headercCstd}tjdd@}tddttj|ddd}t|djtuWdn1sZ0Yt d d gt d d gt d dgt ddgt ddgg}t |j j gdt |D]\}}t |d||qdS)Nz*A 64 75.0 3+4j True BCD 25 60.0 5+6j FalseTr|r~r$r9rlrAsBCD@rry@@y@@F)f0f1f2Zf3rzf%i)r#rrrr rMrbrrrrarr`rr)r(rr!rrrzrnr*r*r+test_auto_dtypes0     zTestFromTxt.test_auto_dtypecCs:td}tj|dd}tgdgdg}t||dS)Nz1 2 3 4 5 6 7 8 r_rg)rrrrr#rMrbrarr(rrrr*r*r+test_auto_dtype_uniformsz#TestFromTxt.test_auto_dtype_uniformcCsZtd}tdtfddtfdtfgfg}tj||dd}tjdd g|d }t||dS) Nrrqrtrr)rrrrr_)r#rMr`rcrbrbrarr(rZ fancydtyperrr*r*r+rs "zTestFromTxt.test_fancy_dtypecCsNddd}td}d}tj|||d}||d<tjdd g|d }t||dS) N)gr[r!rrsM 64.0 75.0 F 25.0 60.0rr`rrrrr_r|)r(rcrrrrr*r*r+test_names_overwritesz TestFromTxt.test_names_overwritecCs<tjtddtdWdn1s.0YdS)Nzfname must be a string,r{)rrrrMrbr`r*r*r+test_bad_fnameszTestFromTxt.test_bad_fnamecCstd}tjddB}tddttj|dddd}t|djtuWdn1s\0Ytj gd d d t fd t fgd }t ||td}tjddB}tddttj|dddd}t|djtuWdn1s0Yt ||dS)NzN #gender age weight M 21 72.100000 F 35 58.330000 M 33 21.99 Tr|r~r$r9)rr`r(r))rrgfffffR@)rrg ףp=*M@)rrg= ףp5@)rrrrr_sO # gender age weight M 21 72.100000 F 35 58.330000 M 33 21.99 r#rrrr rMrbrrrrarcrbr)r(rr!rrnr*r*r+test_commented_headers& 0   0z!TestFromTxt.test_commented_headercCsJtd}tj|ttfddd}tjddgdtfdtfgd}t||dS) Nzcol1 col2 1 2 3 4T)r`r rrnroZcol1Zcol2r_r#rMrbrcrarr}r*r*r+test_names_and_comments_nonesz(TestFromTxt.test_names_and_comments_nonec Cst}tj|d}t|d}|dWdn1sD0YtHt t t j |ddWdn1s0YWdn1s0YWdn1s0YdS)Nr%rϖasciirU) rrRrrrr,rhrrrUnicodeDecodeErrorrMrb)r(r+Zfpathrr*r*r+test_file_is_closed_on_error s , z(TestFromTxt.test_file_is_closed_on_errorcCstd}tjddD}tddttj|ddddd}t|d jtuWdn1s^0Ytj d d d t fd t fgd}t ||dS)NA B C D aaaa 121 45 9.1Tr|r~r$ACDr9)rrr`r(r)r-333333"@r|S4rrr_rrsr*r*r+test_autonames_and_usecolss0z&TestFromTxt.test_autonames_and_usecolscCsJtd}tj|tddddidd}tdd gd d ggt}t||dS) Nrrr7cSs t|pdSrrrr*r*r+rr&r/z:TestFromTxt.test_converters_with_usecols..rrr]rrrrr}r*r*r+r"s  z(TestFromTxt.test_converters_with_usecolsc Cstd}tjddN}tddttj|dddddd d id }t|d jtuWdn1sh0Ytj d ddt fdt fgd}t ||dS)NrTr|r~r$rr9rcSs dt|S)Nr]rrr*r*r+rr2r/zDTestFromTxt.test_converters_with_usecols_and_names..)rrr`r(rsr)rZrrrr_rrsr*r*r+&test_converters_with_usecols_and_names+s  0z2TestFromTxt.test_converters_with_usecols_and_namescCsbdddi}td}tj|ddddg|d}tjtdd d d fdtjfdtfgd }t||dS) NdatecSs t|dSNz%Y-%m-%d %H:%M:%SZ)r<rr*r*r+rr;r/z9TestFromTxt.test_converters_cornercases..2009-02-03 12:00:00Z, 72214.0rrrr`rrsr]r7`@r_)r#rMrbrarZobject_rbrr( converterrrrr*r*r+test_converters_cornercases8s z'TestFromTxt.test_converters_cornercasescCs\dddi}td}tj|ddddg|d}tjtdd d d fd dtfgd }t||dS)NrcSstt|dSr)rMZ datetime64r<rr*r*r+rrFr/z:TestFromTxt.test_converters_cornercases2..rrrrrr]r7r)rzdatetime64[us]r_)r#rMrbrarrbrrr*r*r+test_converters_cornercases2Cs  z(TestFromTxt.test_converters_cornercases2cCsbtd}tj|ddddid}t|ddg|dtj|dd d did}t|d d gdS) Nz 1 21 3 42 rrcSs t|dSrrrr*r*r+rrRr/z3TestFromTxt.test_unused_converter..rrrrWcSs t|dSrrrr*r*r+rrWr/rr)r#rMrbrrHr(rrr*r*r+rNs   z!TestFromTxt.test_unused_convertercCsHdd}dd}td}t||ddddd}tttj|fi|dS) NcSs4td|vr|dp0d|vr.|p0dS)Nrrrgrblowerrrrqr*r*r+rr[sz4TestFromTxt.test_invalid_converter..cSs4td|vr|dp0d|vr.|p0dS)N%rrgrrqr*r*r+rr]szgD01N01,10/1/2003 ,1 %,R 75,400,600 L24U05,12/5/2003, 2 %,1,300, 150.5 D02N03,10/10/2004,R 1,,7,145.55rNrr9)rsrr`r()r#rgrr rMrb)r(Z strip_randZ strip_perr)rUr*r*r+test_invalid_converterZs z"TestFromTxt.test_invalid_convertercCsHtd}dd}tj|dd|id}tddgd d gg}t||dS) Nz q1,2 q3,4cSst|ddSryrxrr*r*r+rrjr/z;TestFromTxt.test_tricky_converter_bug1666..rr)rrsrrrrr|)r(r)Zcnvrrr*r*r+test_tricky_converter_bug1666gs z)TestFromTxt.test_tricky_converter_bug1666cCs|d}tjt|dtdtid}tjdgddtfdtfgd }t||tjt|dtdtid}tgd }t||dS) Nz 2009; 23; 46rrr)Z20097@.)rxrryrzr_)gd@rr)rMrbr#rbr9rar)r(dstrrrr*r*r+test_dtype_with_convertersos     z&TestFromTxt.test_dtype_with_converters(ignore:.*recfromcsv.*:DeprecationWarningc sd}dddddgd}tttfdd d }tt||d d|d d }tjjgd|d}t||gd}tt||d dd|d d}tjjgd|d}t||dS)Nz!1,5,-1,1:1 2,8,-1,1:n 3,3,-2,m:n rrWr]r7)z1:1z1:nzm:1zm:n)e1rre2rr)Ze3i2ri1cs |Sr%rp)rlZdmapr*r+rrr/zDTestFromTxt.test_dtype_with_converters_and_usecols..)rrWr]r7rr9)r`rrrsr())rWrrr)r]rrrW)r7r7r7r_)rrr)rrWr7)r`rrrrsr())rWrr)r]rrW)r7r7r7)rcrr#rMZrecrar)r(rZdtypconvrrr*rr+&test_dtype_with_converters_and_usecols{s    z2TestFromTxt.test_dtype_with_converters_and_usecolscCs d}dtfdtfg}dd}d|i}tjt|d||d}tjdtd ddfd td dd fg|d }t||ddtfdtfgfg}tt d&tjt|d||d}Wdn1s0Ydtfdtfdgfg}tt d&tjt|d||d}Wdn1s0YdS)NrrrcSst|dSrrrr*r*r+rrr/z4TestFromTxt.test_dtype_with_object..rWrrrr]rrr_nestzNested fields.* not supported.*) rcrerMrbr#rarrrNotImplementedErrorrr*r*r+rs4  $ z"TestFromTxt.test_dtype_with_objectcCsHtjtdtd}|ddks"Jtjtdtd}|ddksDJdS)N1r_r*1stringsstring)rMrbr#re)r(parsedr*r*r+#test_dtype_with_object_no_convertersz/TestFromTxt.test_dtype_with_object_no_convertercCsHtd}tj|ddtddtid}tjdgddtfgd }t||dS) Nzskip,skip,2001-01-01,1.0,skiprrNr])rrr`rrs) 2001-01-01r)r$|S10r$r_)r#rMrbrbr9rarr}r*r*r+'test_userconverters_with_explicit_dtypes  z3TestFromTxt.test_userconverters_with_explicit_dtypec Csd}th}t|d"}|d|dWdn1s>0Ytj|ddtddtidd }Wdn1sx0Ytjd |dd fgd d tfgd}t ||dS)Nr#rsskip,skip,2001-01-01s ,1.0,skiprrNr]r$)rrr`rrsr(rr)r$z|U11r$r_) rrr,rMrbrbrLrar:r)r(r*rrrrr*r*r+,test_utf8_userconverters_with_explicit_dtypes 0 $ z8TestFromTxt.test_utf8_userconverters_with_explicit_dtypecCs6td}t|}tgdgdg}t||dS)Nz1 2 3 4 5 6 7 8 9 10)rrrr@)r@r"@g$@r|r}r*r*r+test_spacedelimiters   zTestFromTxt.test_spacedelimitercCs@d}tjt|dd}tgdgdgdg}t||dS)Nz 1 2 3 4 5 67 890123 4r7)rr)r^rC)izrr^rMrbr#rarr}r*r*r+test_integer_delimitersz"TestFromTxt.test_integer_delimitercCs@td}tj|tddddid}tgdt}t||dS)Nrrr7cSs t|pdSrrrr*r*r+rrr/z*TestFromTxt.test_missing..rrrr}r*r*r+rs   zTestFromTxt.test_missingcCshd}tjt|ddd}tdtjdtjfdtjdfg}tjgd td }t|j|t|j|dS) Nz1 2 3 2 1 3rT)rusemaskrr]rWr7)rrrrWrrWrrWrr_) rMrbr#rananboolrrmask)r(r rZctrl_dZctrl_mr*r*r+test_missing_with_tabss " z"TestFromTxt.test_missing_with_tabscCstddgddggt}t}t|||dtj|tdd}t||dddftgdgd gt}t}t|||dtj|td d}t||ddddf|dtj|ttddgd}t||ddddfdS) NrWr]r7r^rrrrrrn)rMrarbr#rrHrbrrdr*r*r+rs     zTestFromTxt.test_usecolscCsBd}tjt|ddd}tjddgddd Dd }t||dS) N 1 2 3 4 5 6a, b, cza, c)rrrr^rcSsg|] }|tfqSr*rxrkr*r*r+r.r/z3TestFromTxt.test_usecols_as_css..acr_rr(rrrnr*r*r+test_usecols_as_csss  zTestFromTxt.test_usecols_as_csscCsZtd}ddg}ddg}tj|dtt||d}t|ddd gt|dd d gdS) NzJOE 70.1 25.3 BOB 60.5 27.9rrrrrrrrrr)r#rMrbr rr)r(rrrrr*r*r+"test_usecols_with_structured_dtypesz.TestFromTxt.test_usecols_with_structured_dtypecCs*tjtddd}t|tddgdS)Ns 1 2 3 4 5 6rrrr)rMrbr#rra)r(rr*r*r+test_usecols_with_integer sz%TestFromTxt.test_usecols_with_integercCsxtjddgdtfdtfgd}d}tdd}tjt|fd d i|}t||tjt|fd d i|}t||dS) Nrrr[rr_rr)rrrr)r[r)rMrarbrgrbr#r)r(rnrrUrr*r*r+test_usecols_with_named_columnss  z+TestFromTxt.test_usecols_with_named_columnscCsttZ}|jddt}t|}t|tgtj|dd}t|tgWdn1sf0YdS)Nzgenfromtxt: Empty input file:)messagerW)rf)rrr#rMrbrra)r(rrrr*r*r+rs  zTestFromTxt.test_empty_filecCs\td}tdtfddtfdtfgfg}tj||ddd}tjd d g|d }t||dS) Nrrqrtrr)rT)r`rrrrr_) r#rMr`rcrbrbmararrr*r*r+test_fancy_dtype_alt&s "z TestFromTxt.test_fancy_dtype_altcCshtd}tddtfdtfdtdfg}tj||d}tjdd d gd gd gfg|d}t||dSr)r#rMr`rbrcrbrarrr*r*r+r.szTestFromTxt.test_shaped_dtypecCstd}tdddd}tj|fddd|}tjddgd d gd tfd tfgd }t||t|j|j| dtj|fddi|}tjddgd d gd t fd t fgd }t||t|j|jdS)N A,B 0,1 2,N/ArN/ATrmissing_valuesrr`rr#r]rFFFTrBrr`rr) r#rgrMrbrrarcrrrHrbr(rrUrrr*r*r+test_withmissing7s"     zTestFromTxt.test_withmissingcCsd}tdddd}dtfdtfdtfg}tjt|fdd i|}tjgd gd |d }t ||||d <tjt|fdddddd|}tjgd gd|d }t ||tjt|fdddddd|}tjgd gd|d }t ||dS)Nz4A, B, C 0, 0., 0j 1, N/A, 1j -9, 2.2, N/A 3, -99, 3jrT)r`rrrrrrr))rrgy)rWrr)rEg@8)r7y@)rr)rrrWrrr`rErrrrWr])rr)rrrr)rrr) rgrcrbrrMrbr#rrar)r(rZ basekwargsZmdtyperrr*r*r+test_user_missing_valuesIsB         z$TestFromTxt.test_user_missing_valuesc Cs8tjddgdtfdtfgd}d}tdtdd d d d d d dd d}tjt|fi|}tjddgdddDd}t||tjt|fddi|}tjddgdddDd}t||d}tjt|dtdd d}tgdgdg}t||tjt|dtddd}tgdgd g}t||dS)!N)rr7)r^rr[rr_zN/A, 2, 3 4, ,???rza,b,crrz???)rrr]rr)rr`rrfilling_values)rr]r7)r^rrcSsg|] }|tfqSr*rrkr*r*r+r.tr/z8TestFromTxt.test_user_filling_values..abcrrcSsg|] }|tfqSr*rrkr*r*r+r.xr/rz1,2,*,4 5,*,7,8 *)rr`rr)rWr]rr^)rrrrr)rWr]rr^)rrrr)rMrarcrgrbr#r)r(rnrrUrZdata2r*r*r+test_user_filling_valuesis6       z$TestFromTxt.test_user_filling_valuescCs^td}tj|dddddd}tjddgdd gd tfd tfgd }t||t|j|jdS) NzA,B 0,1.5 2,-999.00rz-999.0T)r`rrrr)rr)r]grrrrr) r#rMrbrrarcrbrrr}r*r*r+test_withmissing_floats   z"TestFromTxt.test_withmissing_floatcCsNtd}tj|dddd}tjgdgdggdgdgd}t||dS) Nz 1 2 3 4 5 6 2,5Tr`rrrrr)r)r#rMrbrrarr}r*r*r+test_with_masked_column_uniforms &z+TestFromTxt.test_with_masked_column_uniformcCsRtd}tj|dddd}tjddgddgdtfd tfd tfgd }t||dS) NzTrue 2 3 False 5 6 rTrr)rrrrrxryrzr)r#rMrbrrarrcrr}r*r*r+test_with_masked_column_variouss z+TestFromTxt.test_with_masked_column_variouscsdgd}tdD]}d|d|<q|ddtd|td dd d fd d }tt|}tt|dt|t j ddddDd dt t t jd d ddS)N 1, 1, 1, 1, 1r=r 2, 2, 2, 2 2rr a, b, c, d, errTrr`rcstjfddiS)NrpFrMrbr*rUmdatar*r+rsz)TestFromTxt.test_invalid_raise..frcSsg|] }|tfqSr*rrkr*r*r+r.r/z2TestFromTxt.test_invalid_raise..abcder_rr)rinsertr#rrgrr rlenrMrrHrrrb)r(rrzrmtestr*rr+test_invalid_raises      zTestFromTxt.test_invalid_raisecsdgd}tdD]}d|d|<q|ddtd|td dd d d fd d}tt|}tt|dt|t j ddddDd dt j fddi}tt|dt j ddddDd}d|ddtdD<t||dS)Nrr=rrrrrrrTF)rr`rrpcstjfddiS)Nr)rr^rr*rr*r+rsz6TestFromTxt.test_invalid_raise_with_usecols..frcSsg|] }|tfqSr*rrkr*r*r+r.r/z?TestFromTxt.test_invalid_raise_with_usecols..Zaer_rr#cSsg|] }|tfqSr*rrkr*r*r+r.r/abr cSsg|] }d|qS)rr*rkr*r*r+r.r/) rrr#rrgrr rrrMrrHrb)r(rrzrrrr*rr+test_invalid_raise_with_usecolss$     z+TestFromTxt.test_invalid_raise_with_usecolscCsXdgd}td|}dddi}td|dd d Dd d }tttj|fi|dS) Nz1, 1, 1, 1, -1.1r=rr^cSs d|S)Nz(%s)rprqr*r*r+rrr/z5TestFromTxt.test_inconsistent_dtype..rcSsg|] }|tfqSr*rrkr*r*r+r.r/z7TestFromTxt.test_inconsistent_dtype..rr9)rrsr`r()r#rrgrrrMrb)r(rrrsrUr*r*r+test_inconsistent_dtypes  z#TestFromTxt.test_inconsistent_dtypecCsLd}tjt|dddd}tjddgdtfdtfd tfgd }t||dS) N0, 1, 2.3 4, 5, 6.7rf%02irr`Z defaultfmtrrWffffff@)r^r@Zf00Zf01Zf02r_)rMrbr#rarcrbrr(rrrnr*r*r+test_default_field_formats  z%TestFromTxt.test_default_field_formatcCsBd}tjt|dtdd}tjgdgdgtd}t||dS)Nr rr r rgrrrrrr_rMrbr#rbrarrr*r*r+test_single_dtype_wo_namess  z&TestFromTxt.test_single_dtype_wo_namescCsDd}tjt|dtdd}tjddgddd Dd }t||dS) Nr rrrrrcSsg|] }|tfqSr*rxrkr*r*r+r.r/zBTestFromTxt.test_single_dtype_w_explicit_names..rr_rrr*r*r+"test_single_dtype_w_explicit_namess   z.TestFromTxt.test_single_dtype_w_explicit_namescCsDd}tjt|dtdd}tjddgddd Dd }t||dS) Nza, b, c 0, 1, 2.3 4, 5, 6.7rTrrrcSsg|] }|tfqSr*rxrkr*r*r+r.r/zBTestFromTxt.test_single_dtype_w_implicit_names..rr_rrr*r*r+"test_single_dtype_w_implicit_namess   z.TestFromTxt.test_single_dtype_w_implicit_namescCsRd}tjt|dtttfdd}tjddgdtfdtfd tfgd }t||dS) Nr rzf_%02ir )rrr)r^rrZf_00Zf_01Zf_02r_rMrbr#rcrbrarrr*r*r+test_easy_structured_dtypes   z&TestFromTxt.test_easy_structured_dtypecCs&d}tdddd}tjddF}tddttjt|fi|}t|d j tuWdn1sj0Ytj d gd d t fd gd}t ||tjddJ}tddttjt|fddi|}t|d j tuWdn1s0Ytj dgdd t fdgd}t ||dS)Nz01/01/2003 , 1.3, abcderr9)rr`r(Tr|r~r$r)z 01/01/2003 ?z abcde)rxz|S12ry)rzrr_Z autostrip)z 01/01/2003rr)rxr)rzz|S5) rgrrrr rMrbr#rrrrarbr)r(rrUr!rrnr*r*r+test_autostrips$0  0 zTestFromTxt.test_autostripcCsd}tjt|dddd}dtfdtfdtfg}tjd|d }t||tjt|dddd d d }d tfd tfdtfg}tjd|d }t||tjt|dddd d}d tfdtfdtfg}tjd|d }t||dS)NzA.A, B (B), C:C 1, 2, 3.14rTrrr`AAB_BCC)rWr]gQ @r_r$rrr`Z replace_space deletecharsA.AB (B)C:Crrr`r!B_(B)rr(r rZ ctrl_dtypernr*r*r+test_replace_spaces*     zTestFromTxt.test_replace_spacecCsd}tjt|ddtd}dtfdtfdtfg}tjd|d }t||tjt|ddtd d d }d tfd tfdtfg}tjd|d }t||tjt|ddtd d}d tfdtfdtfg}tjd|d }t||dS)NzA.A, B (B), C:C 1, 2, 3rTrrrrrr_r$r r"r#r$r%r&)rMrbr#rcrarr'r*r*r+test_replace_space_known_dtype,s*     z*TestFromTxt.test_replace_space_known_dtypecCsd}tddd}tjddgddd Dd }tjt|fd di|}t||tjddgd dd Dd }tjt|fi|}dS) NzA,,C 0,1,2 3,4,5rTrrrcSsg|] }|tfqSr*rrkr*r*r+r.Jr/z5TestFromTxt.test_incomplete_names..)rrxrr_r`cSsg|] }|tfqSr*rxrkr*r*r+r.Or/)rgrMrarbr#rr(rrUrnrr*r*r+test_incomplete_namesDs      z!TestFromTxt.test_incomplete_namescCsPd}tjt|tttfdd}tjddgdtfdtfdtfgd}t||dS) Nz 1 2 3 4 5 6r[rrrrxryr_rrr*r*r+test_names_auto_completionRs   z&TestFromTxt.test_names_auto_completioncCsd}d}tjt|tttfdddd}t|jj|tjt|tttfdddd}t|jj|tjt|tdddd}t|jj|dS)Nz'A,B,C,D,E 0,1,2,3,4 0,1,2,3,4 0,1,2,3,4)rrEr)rr]r^T)r`rrr)rMrbr#rcrr`r)r(rZ ctrl_namesrr*r*r+test_names_with_usecols_bug1636[s"     z+TestFromTxt.test_names_with_usecols_bug1636cCsd}tdddd}tjddgdtfdtfd tfgd }tjt|fi|}t||td ddd}tjddgdtfdtfd tfgd }tjt|fi|}t||dS) Nz- A B C 0 1 2.3 45 67 9.)rrr^Trr )rrrrrrr_r)rgrMrarcrbrbr#rr*r*r*r+test_fixed_width_namesns   z"TestFromTxt.test_fixed_width_namescCsVd}tdddd}tjgdgdgdgtd}tjt|fi|}t||dS) Ns1, 2, 3 1, , 5 0, 6, rr)rr`rr)rWrr)rrrr_)rgrMrarcrbr#rr*r*r*r+test_filling_values}s  zTestFromTxt.test_filling_valuescCstjddH}tddttjtdddddd}t|d jtuWdn1sZ0Yt |d d tjddH}tddttjtd ddddd}t|d jtuWdn1s0Yt |d d dS)NTr|r~r$ztest1,testNonetherestofthedatarr9r`r rr(rrWstestNonetherestofthedataztest1, testNonetherestofthedatas testNonetherestofthedata) rrrr rMrbr#rrrr)r(r!rr*r*r+test_comments_is_nones  0 0z!TestFromTxt.test_comments_is_nonecCsd}d}d|d}|||}tjddH}tddttjt|ddd d d }t|d jtuWdn1sz0Yt |d dt |dd|t |ddtjt|ddd dd }t |d dt |dd| dt |ddtjddL}tddttjtd|ddd d d }t|d jtuWdn1s^0Yt |dd t |dd|dS)Nsnorm1,norm2,norm3 test1,testNonethe,test3 Tr|r~r$rr9r1r)rWrtest1)rWrW testNonetherntest3r6test1 testNonethetest3 0,testNonetherxry) rrrr rMrbr#rrrrr:)r(r6normencr)r!rr*r*r+ test_latin1s<   0 2zTestFromTxt.test_latin1cCs6d}|jt|ddd}t|t|ddSrk)rYrrrMrar:rrmr*r*r+test_binary_decode_autodtypesz(TestFromTxt.test_binary_decode_autodtypecCsd}d}d|d}|||}tjddH}tddttjt|ddd d d }t|d jtuWdn1sz0Yt gd dd|dggd g}t ||dS)Nr#r3r4r5Tr|r~r$rr9r1r)snorm1snorm2snorm3r6r7r8) rrrr rMrbr#rrrrar)r(r*r=r>r)r!rctlr*r*r+test_utf8_byte_encodings"   0 z#TestFromTxt.test_utf8_byte_encodingc Cs6d}t}t|d&}|d|ddWdn1sD0Ytj|ddddd}tjd d |dd gd d |dd ggtjd }t||t|d}|d |Wdn1s0Ytj|ddddd}t |ddt |dd |dWdn1s(0YdS)Nr#rr4r5r]rr$r1r9r:r;r_r<rxrry) rrr,rMrbrar:r)rr)r(r*rrrrAr*r*r+test_utf8_files*  4   , zTestFromTxt.test_utf8_filec CsXd}d}zt}||Wn ttfy>tdYn0t}t|d>}| d| d|d| d|d Wdn1s0Yt j d d D}t d d t tj|ddddd}t|djt uWdn1s0Ytjgdd|dgdd|dggtjd}t||Wdn1sJ0YdS)NruöüözTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingrSznorm1,norm2,norm3 znorm1,z,norm3 ztest1,testNonethez,test3 Tr|r~r$rr9r1r)norm1Znorm2norm3rDrEr9r:r;r_)rErFrh UnicodeError ImportErrorrr:rrr,rrrr rMrbrrrrar)r) r(r*r6r(rrr!rrAr*r*r+test_utf8_file_nodtype_unicodes8  0 0 z*TestFromTxt.test_utf8_file_nodtype_unicode(ignore:.*recfromtxt.*:DeprecationWarningcCstd}tdddd}t|fi|}tjddgdtfd tfgd }tt|tjt ||td }t|fddd |}t jdd gddgdtfd tfgd}t ||t |j |j t |j ddgdS)N A,B 0,1 2,3rrTrr#rNrrr_rrrrrrrr]) r#rgrrMrarcrrKrecarrayrrrrrr*r*r+test_recfromtxt s"    zTestFromTxt.test_recfromtxtcCstd}tddddd}t|fddi|}tjddgd tfd tfgd }tt|tjt ||td }t|fddd |}t jddgddgd tfd tfgd}t ||t |j |j t |j ddgtd}t|dd}tjddgdtfdtfgd }tt|tjt ||td}dtfdt fg}t|d|d}tjddg|d }tt|tjt ||td}t|dddid}tjddgdtdffgd }t |j|jt ||dS) NrJrTr9)rrcase_sensitiver(r`r#rNrrr_rrrrrrrr])rr[r)rr`zcolor "red" "blue"cSs |dS)N")rrqr*r*r+rr< r/z-TestFromTxt.test_recfromcsv..)rs)red)bluecolorr^)r#rgrrMrarcrrKrKrrrrrbrLr`)r(rrUrrr`r*r*r+test_recfromcsv sN         zTestFromTxt.test_recfromcsvcCsd}t|}tj|dd}t|}t|ddgddgddggt|d d gd d ggtttjt|d dd}tjt|dd}tddgddgg}t||tttjt|dddtttjt|ddt}|t tjt|ddd}tddgddgddgddgg}t||tjt|ddd}tddgddgddgddgg}t||Wdn1sx0Yd}t|}tj|dddd}tjgdddgd}t||tj|d|j d}tjddgddgd}t||dS) Nz1 2 3 4 5 6 7 8 9 10 r7)r1rWr]r^rrrrrrrz1 1 2 2 0 3 3 4 4 5 6 7 rr)rir1F)r1rprrz"a b #c d 1 1 2 2 #0 3 3 4 4 5 5 T)rfr1r))rr)rr)rr)r.countr)rMrbrrWr'r*r*r+test_gft_using_generator s z$TestFromTxt.test_gft_using_generatorcCstd}tj|dd}t|jjgdt|jdtkt|jdtjkt|jdtj kt |ddt|ddt|dd dS) Nz%73786976294838206464 17179869184 1024r_)rxryrzrxryrzgDli) r#rMrbrr`rrrbrint_rrr*r*r+test_auto_dtype_largeint s z$TestFromTxt.test_auto_dtype_largeintcCs^td}tj|ddd\}}}t|tgdt|tgdt|tgddS)Nz1,2,3 4,5,6 7,8,9 0.0,1.0,2.0rT)rr)rrrrg)rrrr)rrrr)r#rMrrra)r(r r[rrr*r*r+test_unpack_float_data s z"TestFromTxt.test_unpack_float_datacCstd}ddd}tj||dd\}}}t|jtdt|jtdt|jtd t|td d gt|td d gt|tddgdS)NrrrrTrrrrrrrrrrr)r#rMrbrr`rrarr*r*r+r  s z"TestFromTxt.test_unpack_structuredcCsrtd}tddgtddgtddgf}tj|ddd d }t||D] \}}t||t|j|jqLdS) NzM 21 72. F 35 58.rrrrrrTzutf-8)r`rr()r#rMrarbrrrr`)r(r expectedrrOresultr*r*r+test_unpack_auto_dtype s ( z"TestFromTxt.test_unpack_auto_dtypecCsRtd}ddd}tjddgtjd}tj||dd }t||t|j|jdS) Nz21 35rrrrrrr_Tr)r#rMrarrbrrr`r(r rr]rr*r*r+test_unpack_single_name s   z#TestFromTxt.test_unpack_single_namecCsZtd}ddd}tjdtjd}tj||dd}t||td |jt|j|jdS) Nrrr`rrr_Trr*) r#rMrarrbrrrYr`rar*r*r+test_squeeze_scalar s   zTestFromTxt.test_squeeze_scalarndimr)rdcCs6d}tjt||d}tjt||d}t||dS)NZ42r!)rMrrrbr)r(rdr r[rr*r*r+r$ szTestFromTxt.test_ndmin_keywordN)_r2r3r4rBrMrbrYrurdrhrerrorqrtr{r~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrr(r)r+r,r.r/r0r2r?r@rBrCrHrLrRr2rTrXrYr[r\r r_rbrcrrcr$r*r*r*r+ra?s                                 #    *6     rac@seZdZddZddZddZejje ddej d e e gd d Z ej d e e gd d Zej d e e gddZej d e e gddZej d e e gejdddZej d e e gejdddZdS) TestPathUsagecCsltddN}t|}tddgddgg}t||t|}t||Wdn1s^0YdS)N.txtrg?r]r7r^)rrrMrarrr)r(rr[rqr*r*r+ test_loadtxt s    zTestPathUsage.test_loadtxtcCsntddP}t|}tddgddggt}t||t|}t||Wdn1s`0YdS)NrrrWr]r7r^)rrrMrarcrrNrr(rr[rr*r*r+test_save_load s    zTestPathUsage.test_save_loadcCstddf}t|}tddgddggt}t||tj|dd}t||~trbt t Wdn1sv0YdS) NrrrWr]r7r^rlrk) rrrMrarcrrNrrrrhr*r*r+test_save_load_memmap s   z#TestPathUsage.test_save_load_memmapzmemmap doesn't work correctlyrircCstdd}||}tddgddggt}t||tj|dd}d |d d <d |d d <~trpttt|}t||Wdn1s0YdS) NrrrWr]r7r^zr+rjrr) rrMrarcrrNrrr)r(rrr[rrr*r*r+test_save_load_memmap_readwrite s     z-TestPathUsage.test_save_load_memmap_readwritec Cs|tdd^}||}tj|ddt|}t|ddWdn1sP0YWdn1sn0YdSNrrrrr)rrMrrNrr(rrrr*r*r+test_savez_load) s   zTestPathUsage.test_savez_loadcCsdtddF}||}tj|ddt|}t|dd|Wdn1sV0YdSrm)rrMZsavez_compressedrNrrLrnr*r*r+test_savez_compressed_load1 s   z(TestPathUsage.test_savez_compressed_loadcCsdtddF}||}tddg}t||t|}t||Wdn1sV0YdS)Nrfrrnro)rrMrarrbr)r(rrr[rr*r*r+test_genfromtxt: s    zTestPathUsage.test_genfromtxtrIc Cstdd}||}t|d}|dWdn1s>0Ytdddd}t|fi|}tjd d gd tfd tfgd }tt |tj t ||Wdn1s0YdS)Nrfrr!rJrrTrr#rNrrr_) rrr,rgrrMrarcrrKrKrr(rrrrUrrr*r*r+rLC s  ( zTestPathUsage.test_recfromtxtrc Cstdd}||}t|d}|dWdn1s>0Ytdddd}t|fddi|}tjd d gd tfd tfgd }tt |tj t ||Wdn1s0YdS)Nrfrr!rJrT)rrrMr`r#rNrrr_) rrr,rgrrMrarcrrKrKrrrr*r*r+rRR s  ( zTestPathUsage.test_recfromcsvN)r2r3r4rgrirkrrrHrrrrLrlrorprqrrLrRr*r*r*r+re s$        recCs`tjd}t}tj|dd}t||||dtj|dd}tt ||dS)Nrrr!rUrrl) rMrrr_rWrrLrHrrNr[r)rr*r*r+test_gzip_loadd s   ruc@s$eZdZddZddZddZdS) JustWritercCs ||_dSr%baser(rxr*r*r+r&u szJustWriter.__init__cCs |j|Sr%)rxr,r'r*r*r+r,x szJustWriter.writecCs |jSr%)rxrGr`r*r*r+rG{ szJustWriter.flushN)r2r3r4r&r,rGr*r*r*r+rvt srvc@s&eZdZddZddZd ddZdS) JustReadercCs ||_dSr%rwryr*r*r+r& szJustReader.__init__cCs |j|Sr%)rxr )r(rr*r*r+r  szJustReader.readrcCs|j||Sr%)rxrH)r(offwhencer*r*r+rH szJustReader.seekN)r)r2r3r4r&r rHr*r*r*r+rz~ srzcCsTtjd}t}t|}t||||dt|}tt ||dS)Nrsr) rMrrrvrrGrHrzrrNrtr*r*r+test_ducktyping s   r}c Cst}tj|dd}|d||dtddR}t|d}||Wdn1sj0Yt |}Wdn1s0Y|t |gddS) Nr!rU1 2 3 rr-rrr) rr_rWr,rLrHrrr rMrr)r)rrFrr]r*r*r+test_gzip_loadtxt s    ,(rcCsVt}tj|dd}|d||dtj|dd}tt|gddS)Nr!rUr~rrlr) rr_rWr,rLrHrrMr)r)rr*r*r+test_gzip_loadtxt_from_string s  rcCst}td}td}tj|||d|dt|}td|vtd|vtd|vtd|v|D] \}}t|dvt |j dq~| D]}t |j dqtt |dk|D]}t|dvqtd|v| d|dksJdS)N)r7r7)rqrtrrqrtr])rrMrrrHrNrkeysitemsrrYvaluesrrEall)r)rqrtrrr[r*r*r+test_npzfile_dict s(        rzPython lacks refcountsricCst}t|gd|dtt|Wdn1sF0Y|dddg}t8tjtd|d}t|tj dg|dWdn1s0YdS)Nrr)r[u1r])rrr]z0 1 2 3r_)r#rN) rrMrrHrrNrr#rra)rrrqr*r*r+test_load_refcount s ( rcCst}t|dt|d|dt|dks:Jt|dksLJttt|Wdn1sv0YdS)NrWr]r)rrMrrHrNrrEOFError)rr*r*r+#test_load_multiple_arrays_until_eof s    r)N)XrIrr_rRrr;rrrpathlibrtempfileriorrrrEmultiprocessingrrctypesr numpyrMZnumpy.marZnumpy.exceptionsr Znumpy.lib._iotoolsr r Z numpy.libr Znumpy.lib._npyio_implrrZnumpy.ma.testutilsrZ numpy.testingrrrrrrrrrrrrrrrZnumpy.testing._private.utilsr Z numpy._utilsr"r#maxsizerrbr2rGrdr3r<r>rrrrMrxrGrarerurvrzr}rrrrrrrr*r*r*r+s        D      k!#H4EAm