B d(d)Z?e@d*kre dS),)divisionabsolute_importprint_functionN)NamedTemporaryFile)BytesIO)datetime)ConverterErrorConversionWarning)asbytesbytesunicodePath) assert_equal) TestCaserun_module_suite assert_warnsassert_assert_raises_regex assert_raisesassert_allcloseassert_array_equaltemppathdecIS_PYPYsuppress_warningsc@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|dS)N)r__init__r )selfsr J/opt/alt/python37/lib64/python3.7/site-packages/numpy/lib/tests/test_io.pyr#szTextIO.__init__cCst|t|dS)N)rwriter )rrr r r!r"&sz TextIO.writecCst|dd|DdS)NcSsg|] }t|qSr )r ).0rr r r! *sz%TextIO.writelines..)r writelines)rlinesr r r!r%)szTextIO.writelinesN)r)__name__ __module__ __qualname____doc__rr"r%r r r r!rs rlcCsHtjddkr,tt|d|ddStt||ddSdS)zY This function is available in the datetime module only from Python >= 2.5. rlatin1N)sys version_infortimestrptimedecode)rfmtr r r!r11sr1c@sheZdZddZddZddZddZd d Zej j e j d kd d dZddZe jddZdS) RoundtripTestc Os|di}|di}|dd}|r:tdd}|j}n t}|}z`|} ||f| |||dtjdkrt|ts| t j |f|} | |_ | |_ Wdt|ts| d tkrt| t jjjst|jXdS) 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_kwds file_on_diskF)deleterwin32N arr_reloaded)getrnamerflushseekr.platform isinstanceclosenploadarrr:localslibZnpyioZNpzFileosremove) rZ save_funcargskwargsr5r6r7Z target_fileZ load_filerDr:r r r! roundtrip>s.        zRoundtripTest.roundtripcCs|||j|dd|t||jt|dd|jddkr~|t|dd|jt|dddddS)NT)r7r)rKrBasfortranarrayshape)rar r r!check_roundtripsns zRoundtripTest.check_roundtripscCstgt}||tddgddggt}||tddgddggt}||tjddgddggtjd }||tjddgddggtjd }||dS) NrLr+r,y?@y@@y@@y@ @)dtype)rBarrayfloatrPintZcsingleZcdouble)rrOr r r! test_arrayxs     zRoundtripTest.test_arraycCs<tgt}||tddgddggt}||dS)NrLr+r,rQ)rBrSobjectrP)rrOr r r!test_array_objects  zRoundtripTest.test_array_objectcCs"tddddgt}||dS)NrLr+r,rQ)rBrSrUrK)rrOr r r!test_1DszRoundtripTest.test_1Dr9z Fail on Win32cCsXtddgddgg}|j|dddidtddgddgg}|j|dddiddS) NrLg@rQg333333@TZ mmap_moder)r7r6)rBrSrKrM)rrOr r r! test_mmapszRoundtripTest.test_mmapcCs$tjddgddgd}||dS)N)rLr+)r,rQ)xi4)yr])rR)rBrSrP)rrOr r r! test_recordszRoundtripTest.test_recordc CsTddtdD}tjd|d}tjddtdd t||WdQRXdS) NcSsg|]}d|dtfqS)z%dd)rT)r#ir r r!r$sz1RoundtripTest.test_format_2_0..ii)rRT)recordalwaysr)rangerBoneswarningscatch_warningsfilterwarnings UserWarningrP)rdtrOr r r!test_format_2_0s zRoundtripTest.test_format_2_0N)r'r(r)rKrPrVrXrYrBtestingrZknownfailureifr.r?r[r_slowrkr r r r!r4=s0 r4c@seZdZddZdS) TestSaveLoadcOs\tj|tjf||t|jd|jt|jdj|jjt|jdjj |jjj dS)Nr) r4rKrBsaverrDr:rRflagsfnc)rrIrJr r r!rKszTestSaveLoad.roundtripN)r'r(r)rKr r r r!rnsrnc@seZdZddZejje dejjj ddZ ddZ dd Z d d Z d d ZddZejjedddZddZdS) TestSavezLoadc Ostj|tjf||zTxNt|jD]@\}}|jd|}t||t|j|jt|j j |j j q$WWd|jj r|jj t |jj jXdS)Nzarr_%d)r4rKrBsavez enumeraterDr:rrRrprqZfidrArGrHr<)rrIrJnrDZreloadedr r r!rKs  zTestSavezLoad.roundtripzWorks only with 64bit systemsc Cs\d}tj|tjd}tddd2}tj||d~t|}|d}|~WdQRXdS)Nl)rRZnumpy_test_big_arrays_z.npz)prefixsuffix)rOrO)rBemptyuint8rrsrCrA)rLrOtmpZnpfiler r r!test_big_arrayss zTestSavezLoad.test_big_arrayscCs@tddgddggt}tddgddggt}|||dS) NrLr+r,rQy?@y@@y@y@(@)rBrSrTcomplexrK)rrObr r r!test_multiple_arrayssz"TestSavezLoad.test_multiple_arrayscCsztddgddggt}tddgddggt}t}tj|||d |d t|}t||d t||d dS) NrLr+r,rQy?@y@@y@y@(@)file_afile_brrr) rBrSrTr}rrsr>rCr)rrOr~clr r r!test_named_arrayss  zTestSavezLoad.test_named_arrayscCstddgddggt}tddgddggt}t}tj|||d |d t|}tt t |j d d gt||j j t||j j dS) NrLr+r,rQy?@y@@y@y@(@)rrrrr)rBrSrTr}rrsr>rCrsorteddirfrr)rrOr~rrr r r! test_BagObjs  zTestSavezLoad.test_BagObjcs`ddgfddtdD}x|D] }|q*Wx|D] }|q@Wr\tdS)Nc SshtddT}tjdd}ytj||dWn,tk rX}z||Wdd}~XYnXWdQRXdS)Nz.npz)rwi)rD)rrBrandomZrandnrsOSErrorappend)Z error_listr{rDerrr r r!writers  z9TestSavezLoad.test_savez_filename_clashes..writercsg|]}tjfdqS))targetrI) threadingZThread)r#j)errorsrr r!r$sz=TestSavezLoad.test_savez_filename_clashes..r,)rdstartjoinAssertionError)rZthreadstr )rrr!test_savez_filename_clashess      z)TestSavezLoad.test_savez_filename_clashesc Cstdd}t|d}tj|ddWdQRXt|ddL}|dt|j t|d t|j |dt|j WdQRXWdQRXdS) Nz.npz)rwwbz LOVELY LOAD)datarbi'rr)ropenrBrsr>rclosedrC)rr{fpr r r!test_not_closing_opened_fids      z)TestSavezLoad.test_not_closing_opened_fidz context manager required on PyPyc Cstdd}tj|ddtj}|txXtddD]J}yt|dWq8tk r}zd|}t |Wdd}~XYq8Xq8WWdQRXWdQRXdS) Nz.npz)rwz LOVELY LOAD)rrLirz#Failed to load data from a file: %s) rrBrsrfilterWarningrdrC Exceptionr)rr{supraemsgr r r!test_closing_fid s  zTestSavezLoad.test_closing_fidc CsRd}td|d8}tj|ddt|}|jj}|t|jWdQRXdS)NZ&numpy_test_closing_zipfile_after_load_z.npz)rwrvz place holder)lab) rrBrsrCziprrArr)rrvr{rrr r r!test_closing_zipfile_after_load%s z-TestSavezLoad.test_closing_zipfile_after_loadN)r'r(r)rKrBrlrskipifIS_64BITrmr|rrrrrrrrr r r r!rrs   rrc@sTeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ dS) TestSaveTxtcCstddgddggt}d}t}tj|||d|dt|t|d|d d t|d|d d gtddgddggt }t}tj||d d|dt|d dgdS)NrLr+r,rQz%.18e)r3r  )rLr+)r,rQz%ds1 2 s3 4 ) rBrSrTrsavetxtr>r readlinesr rU)rrOr3rr r r!rV4s  zTestSaveTxt.test_arraycCsRtddddgt}t}tj||dd|d|}t|dd d d gdS) NrLr+r,rQz%d)r3rs1 s2 s3 s4 )rBrSrUrrr>rr)rrOrr&r r r!rYDs  zTestSaveTxt.test_1DcCsLtjddgddgd}t}tj||dd|dt|d d gdS) N)rLr+)r,rQ)r\r])r^r])rRz%d)r3rs1 2 s3 4 )rBrSrrr>rr)rrOrr r r!r_Ls  zTestSaveTxt.test_recordcCsNtddgddgg}t}tj||ddd|dt|d d gdS) Ng?g@g@g@,z%d) delimiterr3rs1,2 s3,4 )rBrSrrr>rr)rrOrr r r!test_delimiterSs  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)N)rLr+)r,rQz%02dz%3.1f)r3rs01 2.0 s03 4.0 z %02d : %3.1fs 01 : 2.0 s 03 : 4.0 r)r3rc) rBrSrrr>rrr ValueError)rrOrr&r r r! test_formatZs"   zTestSaveTxt.test_formatcCs t}tjddgtjd}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)N)rLr+)r,rQ)rRzTest header / footerz%1d)r3headerrz# z 1 2 3 4 )r3footerz 1 2 3 4 # rz% )r3rcommentsz1 2 3 4 )r3rr) rrBrSrUrr>rreadr )rrrOtest_header_footerZ commentstrr r r!rts4        zTestSaveTxt.test_header_footerc CsDt4}tddg}t||t|}t||WdQRXdS)N)rLr+)r,rQ)rrBrSrloadtxtr)rr<rOr~r 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+)rRy?z %+.3e)r3rs8 ( +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) ) rBzerosZ complex128Zpirrrr>rr)rZncolsZnrowsrOreZimrr&r r r!test_complex_arrayss<   zTestSaveTxt.test_complex_arrayscCsHGdddt}|}tddg}t||t|}t||dS)Nc@seZdZddZdS)z4TestSaveTxt.test_custom_writer..CustomWritercSs||ddS)N )extendsplit)rtextr r r!r"sz:TestSaveTxt.test_custom_writer..CustomWriter.writeN)r'r(r)r"r r r r! CustomWritersr)rLr+)r,rQ)listrBrSrrr)rrwrOr~r r r!test_custom_writers   zTestSaveTxt.test_custom_writerN) r'r(r)rVrYr_rrrrrrr r r r!r3s"&rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;S)< TestLoadTxtcCst}|d|dtj|dtjfdtjfgd}tjddgdd gd}t||t}|d |dd d d }tjddg|d}tj||d}t||dS)Nz1 2 3 4rr\r^)rR)rLr+)r,rQ)r\r])r^r]zM 64.0 75.0 F 25.0 60.0)genderageweight)S1r]f4)namesformats)MgP@gR@)Fg9@gN@)rr"r>rBrint32rSr)rrr\rOdZ mydescriptorr~r^r r r!r_s      zTestLoadTxt.test_recordcCst}|d|dtj|tjd}tddgddggt}t|||dtj|td}tddgddggt}t||dS)Nz1 2 3 4r)rRrLr+r,rQ) rr"r>rBrrUrSrrT)rrr\rOr r r!rVs    zTestLoadTxt.test_arraycCst}|d|dtj|td}tddddgt}t||t}|d|dtj|td d }tddddgt}t||dS) Nz1 2 3 4 r)rRrLr+r,rQz1,2,3,4 r)rRr)rr"r>rBrrUrSr)rrr\rOr r r!rYs     zTestLoadTxt.test_1DcCsXt}|d|dtj|tddddid}tdd dd d gt}t||dS) Nz 1,2,3,,5 rrr,cSs t|pdS)Ni)rU)rr r r!z*TestLoadTxt.test_missing..)rRr convertersrLr+i)rr"r>rBrrUrSr)rrr\rOr r r! test_missings   zTestLoadTxt.test_missingcCs\t}|d|dtj|tddddidd}td d gd d ggt}t||dS) Nz1,2,3,,5 6,7,8,9,10 rrr,cSs t|pdS)Ni)rU)rr r r!rrz:TestLoadTxt.test_converters_with_usecols..)rLr,)rRrrusecolsr+i )rr"r>rBrrUrSr)rrr\rOr r r!test_converters_with_usecols s    z(TestLoadTxt.test_converters_with_usecolscCsNt}|d|dtj|tddd}tdddd gt}t||dS) Nz# comment 1,2,3,5 rr#)rRrrrLr+r,r)rr"r>rBrrUrSr)rrr\rOr r r!test_comments_unicodes   z!TestLoadTxt.test_comments_unicodecCsNt}|d|dtj|tddd}tdddd gt}t||dS) Nz# comment 1,2,3,5 rr#)rRrrrLr+r,r)rr"r>rBrrUrSr)rrr\rOr r r!test_comments_bytes   zTestLoadTxt.test_comments_bytecCs\t}|d|dtj|tddddgd}tdd d gd d d ggt}t||dS)Nz,# comment 1,2,3 @ comment2 4,5,6 // comment3rrr@z//)rRrrrLr+r,rQr)rr"r>rBrrUrSr)rrr\rOr r r!test_comments_multiple%s   z"TestLoadTxt.test_comments_multiplecCs~t}|d|dtj|tddd}tdddd gt}t||t}|d |dtt tj|tddddS) Nz/* comment 1,2,3,5 rrz/*)rRrrrLr+r,rz*/ comment 1,2,3,5 ) rr"r>rBrrUrSrrr)rrr\rOr r r!test_comments_multi_chars.s      z%TestLoadTxt.test_comments_multi_charscCst}|d|dtj|tddd}tddddgt}t||t}|d |dtj|tddd}tddddgt}t||dS) Nzcomment 1,2,3,5 rrrL)rRrskiprowsr+r,rz# comment 1,2,3,5 )rr"r>rBrrUrSr)rrr\rOr r r! test_skiprows>s       zTestLoadTxt.test_skiprowsc Cstddgddggt}t}t|||dtj|tdd}t||dddftdddgdddggt}t}t|||dtj|td d}t||ddddf|dtj|ttddgd}t||ddddfxhttj tj tj tj tj tjtjtjg D]>}|d}|dtj|t|d}t||dddfq"WGd d d t}|}|dtj|t|d}t||dddf|dtj|t|fd}t||dddfd }t|}d dg} ddg} tj|dtt| | d} t| d ddgt| dddg|dd} ttdt| tj|| dttdt| tj|d| dgddS)NrLr+r,rQr)rL)rRrr)rLr+c@seZdZddZdS)z*TestLoadTxt.test_usecols..CrazyIntcSsdS)NrLr )rr r r! __index__nsz4TestLoadTxt.test_usecols..CrazyInt.__index__N)r'r(r)rr r r r!CrazyIntmsrzrrrUZint8Zint16rint64ryZuint16Zuint32uint64rWrrrrr TypeErrortype) rrOrr\Zint_typeZto_readrZ crazy_intrrdtypesrDZ bogus_idxr r r! test_usecolsOs^            zTestLoadTxt.test_usecolscCsjt}|d|dtdtfddtfdtfgfg}tj||dd}td d g|}t ||dS) Nz1,2,3.0 4,5,6.0 rr\r^rrr)rRr)rL)r+g@)rQ)rg@) rr"r>rBrRrUrTrrSr)rrrjr\rOr r r!test_fancy_dtypes  "zTestLoadTxt.test_fancy_dtypecCsltd}tddtfdtfdtdfg}tj||d}tjdd d d d d gdddggfg|d}t||dS)Nzaaaa 1.0 8.0 1 2 3 4 5 6)r<rr\r^block)r+r,)rRaaaag?g @rLr+r,rQrr)rrBrRrTrUrrSr)rrrjr\rOr r r!test_shaped_dtypes zTestLoadTxt.test_shaped_dtypec Cstd}tddtfdtfdtdfg}tj||d}tjdd d d d d gdddggdddgdddgggfg|d}t||dS)Nz*aaaa 1.0 8.0 1 2 3 4 5 6 7 8 9 10 11 12)r<rr\r^r)r+r+r,)rRrg?g @rLr+r,rQrrrr )rrBrRrTrUrrSr)rrrjr\rOr r r!test_3d_shaped_dtypes *z TestLoadTxt.test_3d_shaped_dtypecCsJddg}x.)rr*rLcSs t|dS)Nr)rU)rr r r!rr!B)rr%r>rBrr)rrrr r r!test_unused_converters  z!TestLoadTxt.test_unused_convertercCstd}dtfdtjfg}dd}d|i}tjt|d||d}tjdtd ddfd td dd fg|d }t||dS)Nz0 1; 2001-01-01 2; 2002-01-31 idxcodecSst|dS)Nz%Y-%m-%d)r1strip)rr r r!rrz4TestLoadTxt.test_dtype_with_object..rL;)rrRrir+i)rR)rUrBrWrrrSrr)rrndtypefuncrtestcontrolr r r!test_dtype_with_objectsz"TestLoadTxt.test_dtype_with_objectcCs@d}t}|d||dtj|tjd}t||dS)N)l+&|l-(|z%s %sr)rR)rr"r>rBrrr)rtgtrresr r r!test_uint64_types  zTestLoadTxt.test_uint64_typecCs@d}t}|d||dtj|tjd}t||dS)N)llz%s %sr)rR)rr"r>rBrrr)rrrrr r r!test_int64_types  zTestLoadTxt.test_int64_typecCstdddtj}t|| ftj}dttj|}t }| |x>tjtjgD].}| dtj ||d}t ||d|dq^WdS) Nirrrr)rRz%s)Zerr_msg)rBZlogspaceZastypeZfloat32ZhstackrTrmaphexrr"r>rr)rrZinprrjrr r r!test_from_float_hexs  zTestLoadTxt.test_from_float_hexcCsPtddtddf}t}|d||dtj|tjd}t||dS)NrLz%s %sr)rR)r}rr"r>rBrr)rrrrr r r!test_from_complexs  zTestLoadTxt.test_from_complexc CsVt0}t|d}|dWdQRXt|}WdQRXt|ddgddggdS)Nrz 1 21 3 42 rLrr,r)rrr"rBrr)rr<rrr r r!test_universal_newlines  z"TestLoadTxt.test_universal_newlinecCsVt}|d|dddd}tj||dd}tdd d g}t|d |dS) Nz 1 2 3 start 4 5 6 7 8 9.5 r)r\r^zcomment)zrBrrSr)rrrjr\rOr r r!test_empty_field_after_tab s  z&TestLoadTxt.test_empty_field_after_tabcCstd}ddd}tj||dd\}}}t|jjdkt|jjdkt|jjd kt|td d gt|td d gt|tddgdS)NzM 21 72 F 35 58)rOr~r)z|S1zrrrBrrUrSrrrNrr)rrr\rOrrrrr r r!test_ndmin_keywordsJ              zTestLoadTxt.test_ndmin_keywordcCs(dd}t|}t|tddS)Ncss xtdD]}d|Vq WdS)Nrz%d)rd)rar r r!countKsz0TestLoadTxt.test_generator_source..countr)rBrrarange)rr%rr r r!test_generator_sourceJs z!TestLoadTxt.test_generator_sourcecCs.t}|d|dttdtj|dS)Nz1 2 3 4 5 6 2 3r3)rr"r>rrrBr)rrr r r! test_bad_lineRs  zTestLoadTxt.test_bad_linecCsHt}|d|dtdtfddtfg}tj|d|dddS)Nz100,foo,200 300,None,400rr\)rOZS10r^r)rrRr)rr"r>rBrRrUr)rrrjr r r!test_none_as_stringZs   zTestLoadTxt.test_none_as_stringN) r'r(r)r_rVrYrrrrrrrrrrrrrrrrrrrrrr"r$r'r)r*r r r r!rs:     E         +rc@s$eZdZddZddZddZdS) TestfromregexcCsXt}|d|ddtjfdg}t|d|}tjdddg|d }t||dS) Nz1.312 foo 1.534 bar 4.444 quxrnum)valS3z([0-9.]+)\s+(...))gˡE?foo)g%C?bar)g-@qux)rR)rr"r>rBfloat64 fromregexrSr)rrrjr\rOr r r!r_es   zTestfromregex.test_recordcCsXt}|d|ddtjfdg}t|d|}tjdddg|d }t||dS) Nz1312 foo 1534 bar 4444 quxrr,)r-r.z (\d+)\s+(...))i r/)ir0)i\r1)rR)rr"r>rBrr3rSr)rrrjr\rOr r r! test_record_2ps   zTestfromregex.test_record_2cCsVt}|d|ddtjfg}t|d|}tjdddg|d}t||dS) Nz1312 foo 1534 bar 4444 quxrr,z (\d+)\s+...)i )i)i\)rR)rr"r>rBr2r3rSr)rrrjr\rOr r r! test_record_3{s   zTestfromregex.test_record_3N)r'r(r)r_r4r5r r r r!r+cs  r+c@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zd#d$Zd%d&Zd'd(Zd)d*Zd+d,Zd-d.Zd/d0Zd1d2Zd3d4Zd5d6Zd7d8Zd9d:Zd;d<Z d=d>Z!d?d@Z"dAdBZ#dCdDZ$dEdFZ%dGdHZ&dIdJZ'dKdLZ(dMdNZ)dOdPZ*dQdRZ+dSdTZ,dUdVZ-dWdXZ.dYdZZ/d[d\Z0d]d^Z1d_d`Z2dadbZ3dcddZ4dedfZ5dgdhZ6didjZ7dkdlZ8dmdnZ9dodpZ:dqdrZ;dsdtZdydzZ?d{d|Z@d}d~ZAddZBddZCddZDdS) TestFromTxtcCstd}tj|dtjfdtjfgd}tjddgddgd}t||td }d d d }tjd dg|d}tj||d}t||dS)Nz1 2 3 4r\r^)rR)rLr+)r,rQ)r\r])r^r]zM 64.0 75.0 F 25.0 60.0)rrr)rr]r)rr)rgP@gR@)rg9@gN@)rrB ndfromtxtrrSr)rrr r  descriptorr r r!r_s  zTestFromTxt.test_recordcCsztd}tjddgddggtd}tj|td}t|||dtjddgddggtd}tj|td}t||dS)Nz1 2 3 4rLr+r,rQ)rRr) rrBrSrUr7rr>rTr)rrr r r r r!rVs  zTestFromTxt.test_arraycCsZtddddgt}td}tj|td}t||td}tj|tdd }t||dS) NrLr+r,rQz1 2 3 4 )rRz1,2,3,4 r)rRr)rBrSrUrr7r)rr rr r r r!rYs zTestFromTxt.test_1DcCs`tddddgt}td}tj|tddd}t||td }tj|tddd}t||dS) NrLr+r,rz# comment 1,2,3,5 rr)rRrrz1,2,3,5# comment )rBrSrUrr7r)rr rr r r r! test_commentss zTestFromTxt.test_commentscCsttddddgt}ttdd}td}tj|fddi|}t||td }tj|fd di|}t||dS) NrLr+r,rr)rRrzcomment 1,2,3,5 skip_headerz# comment 1,2,3,5 r)rBrSrUdictrr7rr)rr rJrr r r r!rs  zTestFromTxt.test_skiprowscCsddtddD}|d|ddtdDd|d <td d d d d}tjtd|f|}tjddtdDdddDd}t ||dS)NcSsg|] }d|qS)z# %ir )r#rar r r!r$sz0TestFromTxt.test_skip_footer..rLrzA, B, CcSsg|]}d|||fqS)z %i,%3.1f,%03sr )r#rar r r!r$s3z99,99rrTrr)rrr: skip_footerrcSs"g|]}d|d|d|fqS)z%fr )r#rar r r!r$s)cSsg|] }|tfqSr )rT)r#_r r r!r$sABC)rR) rdrrr;rB genfromtxtrrrSr)rrrJr ctrlr 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 ggWdQRXdS) Nz1 1 2 2 3 3 4 4 5 6 7 rL)r=F)r= invalid_raiseg?g@g@g@r,z1 1 2 3 3 4 4 5 6 6 7 7 g@) rrr rrrBrArrrS)rrZbasestrrOr r r!test_skip_footer_with_invalids"  (((z)TestFromTxt.test_skip_footer_with_invalidcCs|td}tj|ddd}tddgtddgtdd gd }t|d |d t|d |d t|d |d dS)Nz)gender age weight M 64.0 75.0 F 25.0 60.0T)rRrrrgP@g9@gR@gN@)rrrrrr)rrBr7rSr)rrr r r r r! test_headers  zTestFromTxt.test_headercCstd}tj|dd}tddgtddgtddgtd d gtd d gg}t|jjd ddddgx&t|D]\}}t|d||qxWdS)Nz*A 64 75.0 3+4j True BCD 25 60.0 5+6j False)rRAsBCD@gR@gN@y@@y@@TFf0f1f2Zf3rzf%i)rrBr7rSrrRrrt)rrr r rarBr r r!test_auto_dtypes    zTestFromTxt.test_auto_dtypecCsBtd}tj|dd}tddddgddd d gg}t||dS) Nz1 2 3 4 5 6 7 8 )rRrLr+r,rQrrrr)rrBr7rSr)rrr r r r r!test_auto_dtype_uniformsz#TestFromTxt.test_auto_dtype_uniformcCsZtd}tdtfddtfdtfgfg}tj||dd}tjdd g|d }t||dS) Nz1,2,3.0 4,5,6.0 r\r^rrr)rRr)rL)r+g@)rQ)rg@)rR)rrBrRrUrTr7rSr)rr fancydtyper r r r r!r s "zTestFromTxt.test_fancy_dtypecCsNddd}td}d}tj|||d}||d<tjdd g|d }t||dS) N)grOr)rr]r)rrsM 64.0 75.0 F 25.0 60.0)rrr)rRrr)rgP@gR@)rg9@gN@)rR)rrBr7rSr)rr8rrr r r r r!test_names_overwrites z TestFromTxt.test_names_overwritecCsjtd}tj|ddd}tjdddgddtfd tfgd }t||td }tj|ddd}t||dS) NzN #gender age weight M 21 72.100000 F 35 58.330000 M 33 21.99 T)rrR)rrgfffffR@)rr g ףp=*M@)rrg= ףp5@)rz|S1rr)rRsO # gender age weight M 21 72.100000 F 35 58.330000 M 33 21.99 )rrBrArSrUrTr)rrr rBr r r!test_commented_header!s  z!TestFromTxt.test_commented_headercCsDtd}tj|dddd}tjdddtfdtfgd }t||dS) NzA B C D aaaa 121 45 9.1)ACDT)rrrR)r-g333333"@)rSz|S4rTrU)rR)rrBr7rSrUrTr)rrr r r r r!test_autonames_and_usecols8s  z&TestFromTxt.test_autonames_and_usecolscCsJtd}tj|tddddidd}tdd gd d ggt}t||dS) Nz1,2,3,,5 6,7,8,9,10 rr,cSs t|pdS)Ni)rU)rr r r!rErz:TestFromTxt.test_converters_with_usecols..)rLr,)rRrrrr+irr)rrBr7rUrSr)rrr r r r r!rAs   z(TestFromTxt.test_converters_with_usecolscCsNtd}tj|ddddddid}tjdd dtfd tfgd }t||dS) NzA B C D aaaa 121 45 9.1)rSrTrUTrTcSs dt|S)Nr+)rU)rr r r!rNrzDTestFromTxt.test_converters_with_usecols_and_names..)rrrRr)rZg333333"@)rSz|S4rU)rR)rrBr7rSrUrTr)rrr r r r r!&test_converters_with_usecols_and_namesJs  z2TestFromTxt.test_converters_with_usecols_and_namescCsbdddi}td}tj|ddddg|d}tjtdd d d fdtjfdtfgd }t||dS) NdatecSs t|dS)Nz%Y-%m-%d %H:%M:%SZ)r1)rr r r!rVrz9TestFromTxt.test_converters_cornercases..z2009-02-03 12:00:00Z, 72214.0rr)rrRrrir+r,g`@)rR)rrBr7rSrZobject_rTr)r converterrr r r r r!test_converters_cornercasesSs  z'TestFromTxt.test_converters_cornercasescCs\dddi}td}tj|ddddg|d}tjtdd d d fd dtfgd }t||dS)NrZcSstt|dS)Nz%Y-%m-%d %H:%M:%SZ)rBZ datetime64r1)rr r r!rarz:TestFromTxt.test_converters_cornercases2..z2009-02-03 12:00:00Z, 72214.0rr)rrRrrir+r,g`@)rZzdatetime64[us])rR)rrBr7rSrrTr)rr[rr r r r r!test_converters_cornercases2^s  z(TestFromTxt.test_converters_cornercases2cCsbtd}tj|ddddid}t|ddg|dtj|dd d did}t|d d gdS) Nz 1 21 3 42 )rLrcSs t|dS)Nr)rU)rr r r!rmrz3TestFromTxt.test_unused_converter..)rrrrrLcSs t|dS)Nr)rU)rr r r!rrrrr)rrBr7rr>)rrr r r r!ris z!TestFromTxt.test_unused_convertercCsBdd}dd}td}t||dddd}tttj|f|dS)NcSs4td|kr|dp0d|kr.|p0dS)Nrrg)rTlowerrr)r\r r r!rvsz4TestFromTxt.test_invalid_converter..cSs4td|kr|dp0d|kr.|p0dS)N%rg)rTr_rr)r\r r r!rxszgD01N01,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.55)r+r,r)rrrR)rr;rrrBrA)rZ strip_randZ strip_perrrJr r r!test_invalid_converterus z"TestFromTxt.test_invalid_convertercCsHtd}dd}tj|dd|id}tddgd d gg}t||dS) Nz q1,2 q3,4cSst|ddS)NrL)rT)rr r r!rrz;TestFromTxt.test_tricky_converter_bug1666..rr)rrg?g@g@g@)rrBrArSr)rrZcnvr r r r r!test_tricky_converter_bug1666s z)TestFromTxt.test_tricky_converter_bug1666cCs~d}tjt|dtdtid}tjdgddtfdtfgd }t||tjt|dtdtid}td d d g}t||dS) Nz 2009; 23; 46rr)rrRr)Z2009g7@.)rJz|S4rKrL)rRgd@g7@rc)rBr7rrTr rSr)rdstrr r r r r!test_dtype_with_converterss   z&TestFromTxt.test_dtype_with_converterscsd}dddddddd d g}tttfd d d }tjt||dd|d}tjjddddgddddgddddgg|d}t||ddd g}tjt||ddd|d}tjjdddgdddgdddgg|d}t||dS)Nz!1,5,-1,1:1 2,8,-1,1:n 3,3,-2,m:n rrLr+r,)z1:1z1:nzm:1zm:n)Ze1r])Ze2r])Ze3Zi2)ruZi1cs |S)N)r2)rZ)dmapr r!rrzDTestFromTxt.test_dtype_with_converters_and_usecols..)rrLr+r,r)rRrrrrrr)rR)rrLr,)rRrrrr)rUrB recfromcsvrZrecrSr)rrdZdtypZconvr r r )rfr!&test_dtype_with_converters_and_usecolss  .   (z2TestFromTxt.test_dtype_with_converters_and_usecolscCsd}dtfdtjfg}dd}d|i}tjt|d||d}tjdtd ddfd td dd fg|d }t||ddtfdtjfgfg}ytjt|d||d}Wntk rYnXd}t |dS)Nz0 1; 2001-01-01 2; 2002-01-31 rrcSst|dS)Nz%Y-%m-%d)r1r)rr r r!rrz4TestFromTxt.test_dtype_with_object..rLr)rrRrir+ir )rRZnestz3Nested dtype involving objects should be supported.) rUrBrWrArrSrrNotImplementedErrorr)rrr r rr r errmsgr r r!rs$  z"TestFromTxt.test_dtype_with_objectcCsHtd}tj|ddtddtid}tjdgddtfgd }t||dS) Nzskip,skip,2001-01-01,1.0,skipr)r+r,r+)rrrRrr)z 2001-01-01g?)rz|S10r)rR)rrBrArTr rSr)rrr r r r r!'test_userconverters_with_explicit_dtypes  z3TestFromTxt.test_userconverters_with_explicit_dtypecCsBtd}t|}tdddddgddd d d gg}t||dS) Nz1 2 3 4 5 6 7 8 9 10g?g@g@g@g@g@g@g @g"@g$@)rrBr7rSr)rrr r r r r!test_spacedelimiters  zTestFromTxt.test_spacedelimitercCsFd}tjt|dd}tdddgdddgd d dgg}t||dS) Nz 1 2 3 4 5 67 890123 4r,)rrLr+rQrCiz{)rBrArrSr)rrr r r r r!test_integer_delimiters"z"TestFromTxt.test_integer_delimitercCsFtd}tj|tddddid}tdddd d gt}t||dS) Nz 1,2,3,,5 rr,cSs t|pdS)Ni)rU)rr r r!rrz*TestFromTxt.test_missing..)rRrrrLr+ir)rrBr7rUrSr)rrr r r r r!rs  zTestFromTxt.test_missingcCsjd}tjt|ddd}tdtjdtjfdtjdfg}tjd d d gtd }t|j|t|j|dS) Nz1 2 3 2 1 3rT)rusemask)rLr+r,r+rLr,)rrr)rLrrL)rrLr)rR) rBrArrSnanboolrrmask)rr!r Zctrl_dZctrl_mr r r!test_missing_with_tabss " z"TestFromTxt.test_missing_with_tabscCstddgddggt}t}t|||dtj|tdd}t||dddftdddgdddggt}t}t|||dtj|td d}t||ddddf|dtj|ttddgd}t||ddddfdS) NrLr+r,rQr)rL)rRrr)rLr+)rBrSrTrrr>r7r)rr rr r r r!rs     zTestFromTxt.test_usecolscCsBd}tjt|ddd}tjddgddd Dd }t||dS) Nz 1 2 3 4 5 6za, b, cza, c)rr)rLr,)rQrcSsg|] }|tfqSr )rT)r#r?r r r!r$sz3TestFromTxt.test_usecols_as_css..ac)rR)rBrArrSr)rrr rBr 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.9rrrr)rr+)rrRsJOEsBOBgL9@gfffff;@)rrBr7rrr)rrrrr r r r!"test_usecols_with_structured_dtypesz.TestFromTxt.test_usecols_with_structured_dtypecCs*tjtddd}t|tddgdS)Ns 1 2 3 4 5 6r)rg?g@)rBrArrrS)rr r 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) N)rLr,)rQrrOr)rRz 1 2 3 4 5 6za, b, c)rr)rr)rOr)rBrSrTr;rArr)rrBrrJr r r r!test_usecols_with_named_columnss   z+TestFromTxt.test_usecols_with_named_columnsc CsBt2}|jddt}t|}t|tgWdQRXdS)Nzgenfromtxt: Empty input file:)r)rrrrBrArrS)rrrr r r r!rs   zTestFromTxt.test_empty_filecCsZtd}tdtfddtfdtfgfg}tj||dd}tjdd g|d }t||dS) Nz1,2,3.0 4,5,6.0 r\r^rrr)rRr)rL)r+g@)rQ)rg@)rR) rrBrRrUrT mafromtxtmarSr)rrrOr r r r r!test_fancy_dtype_alt%s "z TestFromTxt.test_fancy_dtype_altcCsltd}tddtfdtfdtdfg}tj||d}tjdd d d d d gdddggfg|d}t||dS)Nzaaaa 1.0 8.0 1 2 3 4 5 6)r<rr\r^r)r+r,)rRrg?g @rLr+r,rQrr)rrBrRrTrUr7rSr)rrrjr\rOr r r!r-s zTestFromTxt.test_shaped_dtypecCstd}tdddd}tj|fddi|}tjddgd d gd tjfd tjfgd }t||t|j|j| dtj|f|}tjddgd d gd tj fd tj fgd }t||t|j|jdS)Nz A,B 0,1 2,N/ArzN/AT)rmissing_valuesrrR)rrL)r+r)FF)FTrSB)rtrRr) rr;rBr{r|rSrUrrtr>rT)rrrJr r r r r!test_withmissing6s     zTestFromTxt.test_withmissingcCsd}tdddd}dtfdtfdtfg}tjt|fdd i|}tjd d d d gddddg|d}t ||||d<tjt|fdddddi|}tjd d d d gddddg|d}t ||tjt|fdddddi|}tjd d d d gddddg|d}t ||dS)Nz4A, B, C 0, 0., 0j 1, N/A, 1j -9, 2.2, N/A 3, -99, 3jrT)rRrrrSrrTr~zN/A)rgy)rLiy?)ig@y8)r,iy@)rrr)rrLr)rrrL)rtrRrRiiy8)rrLr+)rLrrL)rrrT) r;rUrTr}rBr{rr|rSr)rrZ basekwargsZmdtyper r r r r!test_user_missing_valuesHs4      z$TestFromTxt.test_user_missing_valuesc CsDtjddgdtfdtfgd}d}tdtdd d d d d d dd d}tjt|f|}tjddgdddDd}t||tjt|fddi|}tjddgdddDd}t||d}tjt|dtdd d}tddd dgdd d d!gg}t||tjt|dtdd"d}tddd"dgdd"d d!gg}t||dS)#N)rr,)rQirOr~)rRzN/A, 2, 3 4, ,???rza,b,czN/Arz???)rr~r+ri)rrRrr~filling_values)rr+r,)rQricSsg|] }|tfqSr )rU)r#r?r r r!r$rsz8TestFromTxt.test_user_filling_values..abcr)rrcSsg|] }|tfqSr )rU)r#r?r r r!r$vsrvz1,2,*,4 5,*,7,8 *)rrRr~rrLr+rQrrrr)rBrSrUr;rArr)rrBrrJr Zdata2r r r!test_user_filling_valuesgs.       z$TestFromTxt.test_user_filling_valuescCs`td}tj|ddddd}tjddgdd gd tjfd tjfgd }t||t|j|jdS) NzA,B 0,1.5 2,-999.00rz-999.0T)rRrr~r)rg?)r+g)FF)FTrSr)rtrR) rrBr{r|rSrUrTrrt)rrr r r r r!test_withmissing_floats    z"TestFromTxt.test_withmissing_floatcCsVtd}tj|dddd}tjdddgdd d ggd dd gd dd ggd }t||dS) Nz 1 2 3 4 5 6 z2,5T)rRr~rqrLr+r,rQrrr)rt)rrBrAr|rSr)rrr r 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 z2,5T)rRr~rq)rLr+r,)rrr)rrLrrJrKrL)rtrR)rrBrAr|rSrsrUr)rrr r r r r!test_with_masked_column_variouss  z+TestFromTxt.test_with_masked_column_variouscsdgd}xtdD]}d|d|<qW|ddtd|td dd d i}iffd d }tt||d|d}tt|dt|t j ddddDd dt t t jd d ddS)Nz 1, 1, 1, 1, 12rz 2, 2, 2, 2 2rrz a, b, c, d, errT)rrRrcstjfddi|d<dS)NrDFmtest)rBr7)_ret)rJmdatar r!rsz)TestFromTxt.test_invalid_raise..f)rrrVcSsg|] }|tfqSr )rU)r#r?r r r!r$sz2TestFromTxt.test_invalid_raise..abcde)rR)rr)rdinsertrrr;rr rlenrBrer>rrr7)rrraretrrr )rJrr!test_invalid_raises    zTestFromTxt.test_invalid_raisecsdgd}xtdD]}d|d|<qW|ddtd|td dd d d i}iffd d }tt||d|d}tt|dt|t j ddddDd dt j fddi}tt|dt j ddddDd}d|ddtdD<t||dS)Nz 1, 1, 1, 1, 1rrz 2, 2, 2, 2 2rrz a, b, c, d, errTF)rrRrrDcstjfddi|d<dS)Nr)rrQr)rBr7)r)rJrr r!rsz6TestFromTxt.test_invalid_raise_with_usecols..f)rrrVcSsg|] }|tfqSr )rU)r#r?r r r!r$sz?TestFromTxt.test_invalid_raise_with_usecols..Zae)rRr)rrLcSsg|] }|tfqSr )rU)r#r?r r r!r$sZab)r+r+cSsg|] }d|qS)rr )r#r?r r r!r$s) rdrrrr;rr rrrBrer>r7)rrrarrrr r )rJrr!test_invalid_raise_with_usecolss&   z+TestFromTxt.test_invalid_raise_with_usecolscCsRdgd}td|}dddi}td|dd d Dd }tttj|f|dS) Nz1, 1, 1, 1, -1.1rrrQcSsd|S)Nz(%s)r )r\r r r!rrz5TestFromTxt.test_inconsistent_dtype..rcSsg|] }|tfqSr )rU)r#r?r r r!r$sz7TestFromTxt.test_inconsistent_dtype..r)rrrR)rrr;rrrBrA)rrrrrJr r r!test_inconsistent_dtypes   z#TestFromTxt.test_inconsistent_dtypecCsLd}tjt|dddd}tjddgdtfdtfd tfgd }t||dS) Nz0, 1, 2.3 4, 5, 6.7rzf%02i)rrR defaultfmt)rrLgffffff@)rQrg@Zf00Zf01Zf02)rR)rBr7rrSrUrTr)rrrrBr r r!test_default_field_formats    z%TestFromTxt.test_default_field_formatcCsFd}tjt|dtdd}tjdddgdd d ggtd }t||dS) Nz0, 1, 2.3 4, 5, 6.7rzf%02i)rrRrgg?gffffff@g@g@g@)rR)rBr7rrTrSr)rrrrBr r r!test_single_dtype_wo_namess   z&TestFromTxt.test_single_dtype_wo_namescCsDd}tjt|dtdd}tjddgddd Dd }t||dS) Nz0, 1, 2.3 4, 5, 6.7rza, b, c)rrRr)gg?gffffff@)g@g@g@cSsg|] }|tfqSr )rT)r#r?r r r!r$szBTestFromTxt.test_single_dtype_w_explicit_names..r)rR)rBr7rrTrSr)rrrrBr 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.7rT)rrRr)gg?gffffff@)g@g@g@cSsg|] }|tfqSr )rT)r#r?r r r!r$szBTestFromTxt.test_single_dtype_w_implicit_names..r)rR)rBr7rrTrSr)rrrrBr r r!"test_single_dtype_w_implicit_namess    z.TestFromTxt.test_single_dtype_w_implicit_namescCsRd}tjt|dtttfdd}tjddgdtfdtfd tfgd }t||dS) Nz0, 1, 2.3 4, 5, 6.7rzf_%02i)rrRr)rg?gffffff@)rQg@g@Zf_00Zf_01Zf_02)rR)rBr7rrUrTrSr)rrrrBr r r!test_easy_structured_dtypes   z&TestFromTxt.test_easy_structured_dtypecCsd}tddd}tjt|f|}tjdgddtfdgd}t||tjt|fd d i|}tjd gd dtfd gd}t||dS)Nz01/01/2003 , 1.3, abcder)rrR)z 01/01/2003 g?z abcde)rJz|S12rK)rLz|S8)rRZ autostripT)z 01/01/2003g?r)rJz|S10)rLz|S5)r;rBr7rrSrTr)rrrJrrBr r r!test_autostrips  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.14rT)rrrRAAB_BCC)rLr+gQ @)rRr)rrrR replace_space deletecharszA.AzB (B)zC:C)rrrRrzB_(B))rBrArrUrTrSr)rr!r  ctrl_dtyperBr 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, 3rT)rrrRrrr)rLr+r,)rRr)rrrRrrzA.AzB (B)zC:C)rrrRrzB_(B))rBrArrUrSr)rr!r rrBr 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|f|}dS) NzA,,C 0,1,2 3,4,5rT)rr)rrLr+)r,rQrcSsg|] }|tfqSr )rU)r#r?r r r!r$Ksz5TestFromTxt.test_incomplete_names..)rSrJrT)rRrRcSsg|] }|tfqSr )rT)r#r?r r r!r$Ps)r;rBrSr7rr)rrrJrBr r r r!test_incomplete_namesEs    z!TestFromTxt.test_incomplete_namescCsPd}tjt|tttfdd}tjddgdtfdtfdtfgd}t||dS) Nz 1 2 3 4 5 6rO)rRr)rLr+r,)rQrrrJrK)rR)rBrArrUrTrSr)rrr rBr r r!test_names_auto_completionSs   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)rSrTEr)rr+rQT)rRrrr)rBrArrUrrRr)rrZ ctrl_namesr r r r!test_names_with_usecols_bug1636\s        z+TestFromTxt.test_names_with_usecols_bug1636cCsd}tdddd}tjddgdtfdtfd tfgd }tjt|f|}t||td ddd}tjddgdtfdtfd tfgd }tjt|f|}t||dS) Nz- A B C 0 1 2.3 45 67 9.)rrrQT)rrrR)rrLgffffff@)rVrng"@rSrrT)rRr)r;rBrSrUrTr7rr)rrrJrBr r r r!test_fixed_width_namesos   z"TestFromTxt.test_fixed_width_namescCsXd}tdddd}tjdddgdddgd d dggtd }tjt|f|}t||dS) Ns1, 2, 3 1, , 5 0, 6, ri)rrRrrLr+r,rrr)rR)r;rBrSrUr7rr)rrrJrBr r r r!test_filling_values~s &zTestFromTxt.test_filling_valuescCsLtjtddddd}t|ddtjtddddd}t|dddS)Nztest1,testNonetherestofthedatar)rRrrrLstestNonetherestofthedataztest1, testNonetherestofthedatas testNonetherestofthedata)rBrArr)rr r r r!test_comments_is_nones     z!TestFromTxt.test_comments_is_nonecCstd}tdddd}tj|f|}tjddgdtjfd tjfgd }|t|tjt ||td }tj|fddd |}t jdd gddgdtjfd tjfgd}t ||t |j |j t |j ddgdS)Nz A,B 0,1 2,3rzN/AT)rr~r)rrL)r+r,rSr)rRz A,B 0,1 2,N/A)rRrq)r+r)FF)FT)rtrRrr+) rr;rB recfromtxtrSrU assertTruer@recarrayrr|rtrS)rrrJr r r r r!test_recfromtxts    zTestFromTxt.test_recfromtxtcCstd}tdddd}tj|fddi|}tjddgdtjfd tjfgd }|t|tjt ||td }tj|fddd |}t jdd gddgdtjfd tjfgd}t ||t |j |j t |j ddgtd}tj|dd}tjddgdtjfdtjfgd }|t|tjt ||td}dtjfdtj fg}tj|d|d}tjddg|d }|t|tjt ||dS)Nz A,B 0,1 2,3zN/AT)r~rcase_sensitiverR)rrL)r+r,rSr)rRz A,B 0,1 2,N/A)rRrq)r+r)FF)FT)rtrRrr+)r~rOr~)r~rR)rr;rBrhrSrUrr@rrr|rtrSrT)rrrJr r rRr r r!test_recfromcsvs8       zTestFromTxt.test_recfromcsvc Csd}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||WdQRXd}t|}tj|dddd}tjdddgddgd}t||tj|d|j d}tjd d!gddgd}t||dS)"Nz1 2 3 4 5 6 7 8 9 10 r,)max_rowsrLr+rQrrrrrrrz1 1 2 2 0 3 3 4 4 5 6 7 g?g@)r=rF)rrDg@g@z"a b #c d 1 1 2 2 #0 3 3 4 4 5 5 T)r:rr)g?g?)g@g@)g@g@)rz.countr)rBrArr&)rr%rr r r!test_gft_using_generator s z$TestFromTxt.test_gft_using_generatorcCstd}tj|dd}t|jjdddgt|jdtjkt|jdtjkt|jdtj kt |ddt|ddt|dddS) Nz%73786976294838206464 17179869184 1024)rRrJrKrLgDli) rrBr7rrRrrrTrZintegerr)rrr r r r!test_auto_dtype_largeints z$TestFromTxt.test_auto_dtype_largeintN)Er'r(r)r_rVrYr9rrCrErFrMrNrrQrRrWrrYr\r]rrarbrerirrlrmrprrurrwrxryrzrr}rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr r r r!r6s                               "6 r6c@seZdZejjedkdddZejjedkdddZ ejjedkdddZ ejjedkdd d Z ejjedkdd d Z ejjedkdd dZ ejjedkdddZejjedkdddZejjedkdddZdS) TestPathUsageNzNo pathlib.Pathc CsXtddD}t|}tddgddgg}t||t|}t||WdQRXdS)Nz.txt)rwg?r+r,rQ)rr rBrSrrr)rpathrOr\r r r! test_loadtxt1s    zTestPathUsage.test_loadtxtc CsZtddF}t|}tddgddggt}t||t|}t||WdQRXdS)Nz.npy)rwrLr+r,rQ)rr rBrSrUrorCr)rrrOrr r r!test_save_load:s    zTestPathUsage.test_save_loadc CsTtdd@}t|}tj|ddt|}t|ddWdQRXWdQRXdS)Nz.npz)rwz place holder)rr)rr rBrsrCr)rrrr r r!test_savez_loadDs   zTestPathUsage.test_savez_loadc CsPtdd<}t|}tj|ddt|}t|dd|WdQRXdS)Nz.npz)rwz place holder)rr)rr rBZsavez_compressedrCrrA)rrrr r r!test_savez_compressed_loadMs   z(TestPathUsage.test_savez_compressed_loadc CsPtdd<}t|}tddg}t||t|}t||WdQRXdS)Nz.txt)rw)rLr+)r,rQ)rr rBrSrrAr)rrrOrr r r!test_genfromtxtWs    zTestPathUsage.test_genfromtxtc Csttdd`}t|}|d}|dWdQRXtjddgddggtd }tj|td }t||WdQRXdS) Nz.txt)rwrz1 2 3 4rLr+r,rQ)rR) rr rr"rBrSrUr7r)rrrr r r r r!test_ndfromtxt`s  zTestPathUsage.test_ndfromtxtc CshtddT}t|}|d}|dWdQRXtj|dd}tddg}t||WdQRXdS) Nz.txt)rwrz1,2,3.0 4,5,6.0 r)r)g?g@g@)g@g@g@) rr rr"rBr{r|rSr)rrrr r r r r!test_mafromtxtls  zTestPathUsage.test_mafromtxtc Cstdd}t|}|d}|dWdQRXtdddd}tj|f|}tjd d gd tjfd tjfgd }| t |tj t ||WdQRXdS)Nz.txt)rwrz A,B 0,1 2,3rzN/AT)rr~r)rrL)r+r,rSr)rR) rr rr"r;rBrrSrUrr@rr)rrrrJr r r r r!rxs   zTestPathUsage.test_recfromtxtc Cstdd}t|}|d}|dWdQRXtdddd}tj|fddi|}tjd d gd tjfd tjfgd }| t |tj t ||WdQRXdS)Nz.txt)rwrz A,B 0,1 2,3zN/AT)r~rrrR)rrL)r+r,rSr)rR) rr rr"r;rBrhrSrUrr@rr)rrrrJr r r r r!rs   zTestPathUsage.test_recfromcsv)r'r(r)rBrlrrr rrrrrrrrrr r r r!r/s       rcCs`tjd}t}tj|dd}t||||dtj|dd}tt ||dS)N)rrr)fileobjmoderrZ) rBrrgzipGzipFilerorAr>rrC)rOrrr r r!test_gzip_loads   rc Cst}tj|dd}|d||dtdd4}t|d}||WdQRXt |}WdQRX|t |dd d gdS) Nr)rrs1 2 3 rz.gz)rwrrLr+r,) rrrr"rAr>rrrrBrr)rrPr<rrr r r!test_gzip_loadtxts    rcCsXt}tj|dd}|d||dtj|dd}tt|dddgdS) Nr)rrs1 2 3 rrZrLr+r,) rrrr"rAr>rrBr)rrr r r!test_gzip_loadtxt_from_strings  rcCst}td}td}tj|||d|dt|}td|ktd|ktd|ktd|kx,|D] \}}t|dkt |j dqWtt |dkx|D]}t|dkqWtd|kdS)N)r,r,)r\r^rr\r^r+) rrBrrsr>rCrkeysitemsrrNr)rr\r^rrrOr r r!test_npzfile_dicts"        rcCsnt}t|dddg|dtttztt |t}Wdt Xt |ddS)NrLr+r,r) rrBrsr>rgcZ isenabledZdisableZcollectrCZenabler)rZn_objects_in_cyclesr r r!test_load_refcounts     r__main__)N)AZ __future__rrrr.rrGrZtempfilerr0rfriorrZnumpyrBZnumpy.mar|Znumpy.lib._iotoolsrr Z numpy.compatr r r r Znumpy.ma.testutilsrZ numpy.testingrrrrrrrrrrrrrr/ZMAJVERZMINVERmaxsizerr1rWr4rnrrrrr+r6rrrrrrr'r r r r!s^     8  k&-f