o 6a@sddlZddlZddlZddlZddlZddlZddlZddlZddlZddl Z ddl m Z ddl m Z ddlmZmZddlmZddlZddlmZmZddlmZddlZddlmZddlmZmZdd lmZdd l m!Z!dd l"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0dd l1m2Z2Gd ddeZ3ej4dkZ5zddl6Z6dZ7Wn e8ydZ7Ynwzddl9Z9dZ:Wn e8ydZ:Ynwd8ddZ;GdddZGdddZ?GdddZ@Gddde@ZAGd d!d!ZBGd"d#d#e@ZCGd$d%d%ZDd&d'ZEGd(d)d)ZFGd*d+d+ZGd,d-ZHd.d/ZId0d1ZJd2d3ZKe jLjMe, d4d5d6d7ZNdS)9N)Path)NamedTemporaryFile)BytesIOStringIO)datetime)ProcessValue)c_bool)ConverterErrorConversionWarningasbytes) assert_equal) assert_warnsassert_assert_raises_regex assert_raisesassert_allcloseassert_array_equaltemppathtempdirIS_PYPY HAS_REFCOUNTsuppress_warningsassert_no_gc_cyclesassert_no_warnings break_cycles)requires_memoryc@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. cCt|t|dSN)r__init__r selfsr&9/usr/lib/python3/dist-packages/numpy/lib/tests/test_io.pyr"*zTextIO.__init__cCr r!)rwriter r#r&r&r'r)-r(z TextIO.writecCst|dd|DdS)NcSsg|]}t|qSr&r ).0r%r&r&r' 1z%TextIO.writelines..)r writelines)r$linesr&r&r'r-0szTextIO.writelinesN)r)__name__ __module__ __qualname____doc__r"r)r-r&r&r&r'r!s   rlTFcCs.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'r9As  r9c@sjeZdZddZddZddZddZd d Zej j e j d kd d ddZ ddZej jddZdS) RoundtripTestc Os:|di}|dddi}|dd}|rtdd}|j}nt}|}zX|} ||g| Ri|||dtjd krIt|tsI| t j |fi|} | |_ | |_ Wt|tsw| d tvryt| t jjjs{t|jd Sd Sd Sd St|ts| d tvrt| t jjjst|jwwww) 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 allow_pickleT file_on_diskF)deleterwin32 arr_reloadedN)getrnamerflushseeksysplatform isinstanceclosenploadarrrBlocalslibnpyioNpzFileosremove) r$ save_funcargskwargsr<r=r? target_file load_filerMrBr&r&r' roundtripMsD        zRoundtripTest.roundtripcCs|||j|dd|t||jt|dd|jddkrA|t|dd|jt|dddddSdS)NT)r?r)rYrKasfortranarrayshaper$ar&r&r'check_roundtrips}s  zRoundtripTest.check_roundtripscCstgt}||tddgddggt}||tddgddggt}||tjddgddggtjd }||tjddgddggtjd }||dS) NrZr4y?@y@@y@@y@ @dtype)rKarrayfloatr_intcsinglecdoubler]r&r&r' test_arrays     zRoundtripTest.test_arraycCs<tgt}||tddgddggt}||dS)NrZr`r4ra)rKrdobjectr_r]r&r&r'test_array_objects  zRoundtripTest.test_array_objectcCstgdt}||dS)NrZr`r4ra)rKrdrfrYr]r&r&r'test_1DszRoundtripTest.test_1DrAzFails on Win32reasoncCsXtddgddgg}|j|dddidtddgddgg}|j|dddiddS) NrZg@rag333333@T mmap_moder)r?r=)rKrdrYr[r]r&r&r' test_mmapszRoundtripTest.test_mmapcCs$tjddgddgd}||dS)NrZr`r4raxi4yrwrb)rKrdr_r]r&r&r' test_recordszRoundtripTest.test_recordcCsjddtdD}tjd|d}tjddtdd t||WddS1s.wYdS) NcSsg|] }d|dtfqS)%ddrer*ir&r&r'r+sz1RoundtripTest.test_format_2_0..irbTrecordalwaysr)rangerKoneswarningscatch_warningsfilterwarnings UserWarningr_)r$dtr^r&r&r'test_format_2_0s  "zRoundtripTest.test_format_2_0N)r/r0r1rYr_rirkrmpytestmarkskipifrGrHrrrzslowrr&r&r&r'r;Ls0  r;c@eZdZddZdS) TestSaveLoadcOsbtj|tjg|Ri|t|jd|jt|jdj|jjt|jdjj |jjj dS)Nr) r;rYrKsaverrMrBrcflagsfnc)r$rUrVr&r&r'rYszTestSaveLoad.roundtripN)r/r0r1rYr&r&r&r'r rc@sveZdZddZejje ddejjddZ ddZ d d Z d d Z d dZ ddZejjddZddZdS) TestSavezLoadc Ostj|tjg|Ri|z=t|jD] \}}|jd|}t||t|j|jt|j j |j j qW|jj rJ|jj t |jj jdSdS|jj r_|jj t |jj jww)Nzarr_%d)r;rYrKsavez enumeraterMrBrrcrrfidrJrRrSrD)r$rUrVnrMreloadedr&r&r'rYs   zTestSavezLoad.roundtripzNeeds 64bit platformrncCsrd}tj|tjd}tddd}tj||d~t|}|d}|~WddS1s2wYdS)Nlrbnumpy_test_big_arrays_.npz)prefixsuffixr^r^)rKemptyuint8rrrLrJ)r$Lr^tmpnpfiler&r&r'test_big_arrayss "zTestSavezLoad.test_big_arrayscCs@tddgddggt}tddgddggt}|||dS) NrZr`r4ra?@@@@@(@)rKrdrecomplexrY)r$r^br&r&r'test_multiple_arrayssz"TestSavezLoad.test_multiple_arrayscCsztddgddggt}tddgddggt}t}tj|||d |d t|}t||d t||d dS NrZr`r4rarrrr)file_afile_brrr) rKrdrerrrrFrLrr$r^rclr&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 dSr)rKrdrerrrrFrLrsorteddirfrrrr&r&r' test_BagObjs  zTestSavezLoad.test_BagObjcsXddgfddtdD}|D]}|q|D]}|qr*tdS)Nc Sstdd9}tjdd}z tj||dWnty-}z ||WYd}~n d}~wwWddSWddS1sAwYdS)Nrrr)rM)rrKrandomrandnrOSErrorappend) error_listrrMerrr&r&r'writers "z9TestSavezLoad.test_savez_filename_clashes..writercsg|] }tjfdqS)targetrU) threadingThread)r*jerrorsrr&r'r+sz=TestSavezLoad.test_savez_filename_clashes..r4)rstartjoinAssertionError)r$threadstr&rr'test_savez_filename_clashess   z)TestSavezLoad.test_savez_filename_clashesc Cstddf}t|d}tj|ddWdn1swYt|dd+}|dt|j t|d t|j |dt|j Wdn1sVwYWddSWddS1snwYdS) Nrrwb LOVELY LOADdatarbi'rr)ropenrKrrFrclosedrL)r$rfpr&r&r'test_not_closing_opened_fid s      "z)TestSavezLoad.test_not_closing_opened_fidc Cstddf}tj|ddtC}|ttddD]0}z&z t|dWnty;}zd|}t |d}~wwWt rCt qt rKt wwWdn1sVwYWddSWddS1snwYdS) NrrrrrZirz#Failed to load data from a file: %s) rrKrrfilterResourceWarningrrL Exceptionrrgccollect)r$rsupremsgr&r&r'test_closing_fids0   "zTestSavezLoad.test_closing_fidcCshd}td|d"}tj|ddt|}|jj}|t|jWddS1s-wYdS)N&numpy_test_closing_zipfile_after_load_r)rr place holderlab) rrKrrLziprrJrr)r$rrrrr&r&r'test_closing_zipfile_after_load5s  "z-TestSavezLoad.test_closing_zipfile_after_loadN)r/r0r1rYrrrIS_64BITrrrrrrr slow_pypyrrr&r&r&r'rs      rc@seZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ ddZddZddZddZdd Zd!d"Zejd#d$d%gejd&eegd'd(Zejjejd)kd*d+ejjed,d-d.d/Zd0S)1 TestSaveTxtcCstddgddggt}d}t}tj|||d|dt|t|d|d d t|d|d d gtddgddggt }t}tj||d d|dt|d dgdS)NrZr`r4raz%.18er:r  rsrtr{1 2 3 4 ) rKrdrersavetxtrFr readlinesr rf)r$r^r:rr&r&r'riDs  zTestSaveTxt.test_arraycCsJtgdt}t}tj||dd|d|}t|gddS)Nrlr{rr)s1 s2 s3 s4 )rKrdrfrrrFrrr$r^rr.r&r&r'rmTs  zTestSaveTxt.test_1DcCs@t}tttj|tdtttj|tdgdgggdS)NrZr`)rr ValueErrorrKrrdr$rr&r&r' test_0D_3D\s$zTestSaveTxt.test_0D_3DcCsLtjddgddgd}t}tj||dd|dt|d d gdS) Nrsrtrurxrbr{rrrrrKrdrrrFrrr$r^rr&r&r'test_structuredas  zTestSaveTxt.test_structuredcCsTtjddggdd}t}tj||ddgdd|d t|d d gdS) NrZr`r4ra))foorw)barrw)bazrwrbrrr{rrs1 3 s4 6 rrr&r&r'test_structured_paddedhs  z"TestSaveTxt.test_structured_paddedcCsvtjdgdd}|ddg}tdd}t|}t||t|}t||WddS1s4wYdS)NrZ)rurx)zf4rbrvr.npyr)rKrrrrrLr)r$r^vpathrr&r&r'test_multifield_viewrs     "z TestSaveTxt.test_multifield_viewcCsNtddgddgg}t}tj||ddd|dt|d d gdS) N?@@@,r{) delimiterr:rs1,2 s3,4 rrr&r&r'test_delimiter{s  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)Nrsrtz%02dz%3.1frrs01 2.0 s03 4.0 z %02d : %3.1fs 01 : 2.0 s 03 : 4.0 r )r:r c) rKrdrrrFrrrrrr&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)NrsrtrbzTest header / footerz%1d)r:headerrz# z 1 2 3 4 )r:footerz 1 2 3 4 # rz% )r:rcommentsz1 2 3 4 )r:rr) rrKrdrfrrFrreadr )r$rr^test_header_footer commentstrr&r&r'rs@      zTestSaveTxt.test_header_footercCsZt }tddg}t||t|}t||WddS1s&wYdS)Nrsrt)rrKrdrloadtxtr)r$rDr^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`rb?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) rKzeros complex128pirrrrFrrr$ncolsnrowsr^reimrr.r&r&r'test_complex_arrayssH   zTestSaveTxt.test_complex_arrayscCsvd}d}tj||ftjd}tj}tj}|d||dd<t}tj||dd|d|}t |ddgdS)Nr`rbrz%.3errs0 (3.142e+00-2.718e+00j) (3.142e+00-2.718e+00j) rrr&r&r'test_complex_negative_exponents  z*TestSaveTxt.test_complex_negative_exponentcCsHGdddt}|}tddg}t||t|}t||dS)Nc@r)z4TestSaveTxt.test_custom_writer..CustomWritercSs||ddS)N )extendsplit)r$textr&r&r'r)r(z:TestSaveTxt.test_custom_writer..CustomWriter.writeN)r/r0r1r)r&r&r&r' CustomWriterrr&rsrt)listrKrdrrr)r$r&wr^rr&r&r'test_custom_writers   zTestSaveTxt.test_custom_writercCsfdd}tj|gtjd}t}tjtj|d|dgddWddS1s,wYdS)NϖUTF-8rbtest.csv%sr:encoding) r7rKrdunicode_rrrRrr)r$utf8r^tmpdirr&r&r' test_unicode s "zTestSaveTxt.test_unicodecCsdd}tj|gtjd}ddg}tr|dtr"|ddgt4}|D](}tj t j |d ||d gd d tj t j |d |d tjd }t||q(WddS1s\wYdS)Nr*r+rbr.gz.bz2.xz.lzmar,r-z UTF-16-LEr.r/rc)r7rKrdr0HAS_BZ2rHAS_LZMAr#rrrRrrrr)r$r1r^suffixesr2rrr&r&r'test_unicode_roundtrips$   "z"TestSaveTxt.test_unicode_roundtripcCs\dd}tj|gtjd}t}tj||dgdd|dt|d|ddSNr*r+rbr-r.rr) r7rKrdr0rrrFrrr$r1r^r%r&r&r'test_unicode_bytestream"s  z#TestSaveTxt.test_unicode_bytestreamcCsVdd}tj|gtjd}t}tj||dgdd|dt||ddSr=) r7rKrdr0rrrFrrr>r&r&r'test_unicode_stringstream*s  z%TestSaveTxt.test_unicode_stringstreamr:%fs%fiotypecCs`tdg}|}tj|||d|d|tur%t|dddSt|dddS)Nrrrz%f s%f )rKrdrrFrrr)r$r:rBr^r%r&r&r'test_unicode_and_bytes_fmt2s  z&TestSaveTxt.test_unicode_and_bytes_fmtrAzfiles>4GB may not workrng`A) free_bytescCsbdd}tt}t||fd}|||jrtd|jdkr(t d|jdks/JdS)NcSsd|_z2tjddtdDtd}t}tjtj |d|dWdWdS1s.wYWdSt y@d|_w) NFcSs$g|]}tjtjdddqS)2r|ra)rKrrandrandintr~r&r&r'r+Hs zGTestSaveTxt.test_large_zip..check_large_zip..i5 rbztest.npz) test_dataT) valuerKasarrayrrjrrrRrr MemoryError)memoryerror_raisedrHr2r&r&r'check_large_zipCs  & z3TestSaveTxt.test_large_zip..check_large_ziprz,Child process raised a MemoryError exceptionzCsubprocess got a SIGKILL, apparently free memory was not sufficientr) rr rrrrIrKexitcoderxfail)r$rMrLpr&r&r'test_large_zip?s  zTestSaveTxt.test_large_zipN) r/r0r1rirmrrrrr r rrr r!r)r3r<r?r@rr parametrizerrrCrrGrHrrrRr&r&r&r'rCs2  "&   rc@sxeZdZddZddZejje ddddZ ejje d dd d Z d d Z ddZ ddZddZddZdS) LoadTxtBasec Cstdd}d}|D]k}d|d}|D]`}t|dQ}||ddd  } | |Wdn1s5wY|j|dd } t| |||d dd  } || } Wdn1s]wYt| |Wdn1sqwYqq dS) Nrr`r4rz  0 1 23 4 5rwtz UTF-32-LE)moder/r/rt)rKarangereshaperr)loadfuncr) r$fopenr;wantedlinesepseprrrDrresr&r&r'check_compressed`s&      zLoadTxtBase.check_compressedcC|tjddS)N)r4)rfgziprr$r&r&r'test_compressed_gzippsz LoadTxtBase.test_compressed_gzipz Needs bz2rncCrg)N)r5)rfbz2rrir&r&r'test_compressed_bz2szLoadTxtBase.test_compressed_bz2z Needs lzmacCrg)N)r6r7)rflzmarrir&r&r'test_compressed_lzmawrmz LoadTxtBase.test_compressed_lzmac Cst4}t|d}|ddWdn1swY|j|dd}t|gdWddS1s:wYdS)Nrz0. 1. 2.UTF-16r\)rr)rrr)encoder`r)r$rrrvr&r&r' test_encoding{s "zLoadTxtBase.test_encodingc Csdd}t4}t|d}||dWdn1s!wY|j|dtjd}t||WddS1s?wYdS)Nsöüör+rrpr8) r7rrr)rrr`rKr0r)r$nonasciirrrvr&r&r'test_stringloads   "zLoadTxtBase.test_stringloadcCs8d}|jt|tjdd}t|t|ddSNs h i jrp)rcr/)r`rrKr0rrdr7r$r$utf16rr&r&r'test_binary_decodeszLoadTxtBase.test_binary_decodecCsTt}|d|d|j|tjdddid}tddg}t||dS)Nr*rcS |dS)Nr+r7rvr&r&r' z4LoadTxtBase.test_converters_decode..)rc convertersr+) rr)rFr`rKr0rdr7rr$rrvr^r&r&r'test_converters_decodes    z"LoadTxtBase.test_converters_decodec Csdd}tA}tj|ddd }||Wdn1s!wY|j|tjdddidd}t|d g}t ||WddS1sLwYdS) Nr*r+rZr\rcSs|dS)Nrr&r|r&r&r'r}sz6LoadTxtBase.test_converters_nodecode..)rcrr/r) r7riorr)r`rKr0rdr)r$r1rrrvr^r&r&r'test_converters_nodecodes     "z$LoadTxtBase.test_converters_nodecodeN)r/r0r1rfrjrrrr9rlr:rorsruryrrr&r&r&r'rT_s    rTc@sVeZdZeejZddZddZddZ 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/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&e'j(j)e*+dAkdBdCdDdEZ,dFdGZ-dHdIZ.dJdKZ/dLdMZ0dNS)O TestLoadTxtcCstjjj|_dtjj_dSNrZ)rKrOrP_loadtxt_chunksize orig_chunkrir&r&r'setups zTestLoadTxt.setupcCs|jtjj_dSr!)rrKrOrPrrir&r&r'teardownszTestLoadTxt.teardowncCst}|d|dtj|dtjfdtjfgd}tjddgdd gd}t||t}|d |dd d d }tjddg|d}tj||d}t||dS)N1 2 3 4rrvryrbrsrtrurxM 64.0 75.0 F 25.0 60.0genderageweightS1rwrnamesformatsMP@R@F9@N@)rr)rFrKrint32rdr)r$rrvr^d mydescriptorrryr&r&r'rzs&     zTestLoadTxt.test_recordcCst}|d|dtj|td}tddgddggt}t|||dtj|td}tddgddggt}t||dS)NrrrbrZr`r4ra) rr)rFrKrrfrdrrerr&r&r'ris    zTestLoadTxt.test_arraycCst}|d|dtj|td}tgdt}t||t}|d|dtj|tdd}tgdt}t||dS)N1 2 3 4 rrbrl1,2,3,4 r rcr rr)rFrKrrfrdrrr&r&r'rms     zTestLoadTxt.test_1DcCsRt}|d|dtj|tddddid}tgdt}t||dS) N 1,2,3,,5 rr r4cS t|pdSNrfr%r&r&r'r} z*TestLoadTxt.test_missing..rcr rrZr`r4rrrrr&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 rr r4cSrrrrr&r&r'r}rz:TestLoadTxt.test_converters_with_usecols..rZr4rcr rusecolsr`r rrr&r&r'test_converters_with_usecolss    z(TestLoadTxt.test_converters_with_usecolscCJt}|d|dtj|tddd}tgdt}t||dS)N# comment 1,2,3,5 rr #rcr rrZr`r4rrrr&r&r'test_comments_unicode   z!TestLoadTxt.test_comments_unicodecCr)Nrrr #rrrrr&r&r'test_comments_byterzTestLoadTxt.test_comments_bytecCsVt}|d|dtj|tdgdd}tgdgdgt}t||dS)Nz,# comment 1,2,3 @ comment2 4,5,6 // comment3rr )r@z//rrrrrr&r&r'test_comments_multiples   z"TestLoadTxt.test_comments_multiplecCszt}|d|dtj|tddd}tgdt}t||t}|d|dtt tj|tddddS)Nz/* comment 1,2,3,5 rr z/*rrz*/ comment 1,2,3,5 ) rr)rFrKrrfrdrrrrr&r&r'test_comments_multi_charss       z%TestLoadTxt.test_comments_multi_charscCst}|d|dtj|tddd}tgdt}t||t}|d|dtj|tddd}tgdt}t||dS)Ncomment 1,2,3,5 rr rZ)rcr skiprowsrrrrr&r&r' test_skiprowss        zTestLoadTxt.test_skiprowsc Csztddgddggt}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| tj|| dttdt| tj|d| dgddS)NrZr`r4rarrZrcrrr4rarrsc@r)z*TestLoadTxt.test_usecols..CrazyIntcSsdSrr&rir&r&r' __index__Nsz4TestLoadTxt.test_usecols..CrazyInt.__index__N)r/r0r1rr&r&r&r'CrazyIntMrrz.rr*rZcSrrrrr&r&r'r}r~!B)rr-rFrKrr)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 idxcodecSt|dSNz%Y-%m-%dr9striprr&r&r'r}z4TestLoadTxt.test_dtype_with_object..rZ;r rcrr`rb)rfrjrKrrrdrrr$rndtypefuncrtestcontrolr&r&r'test_dtype_with_objectsz"TestLoadTxt.test_dtype_with_objectcC@d}t}|d||dtj|tjd}t||dS)N)l+&|l-(|%s %srrb)rr)rFrKrrrr$tgtrrer&r&r'test_uint64_type  zTestLoadTxt.test_uint64_typecCr)N)llrrrb)rr)rFrKrrrrr&r&r'test_int64_typer!zTestLoadTxt.test_int64_typecCstdddtj}t|| ft}dttj|}t }| |ttjfD]}| dtj ||d}t ||d|dq,dS) Nirrrrrbr-)err_msg)rKlogspaceastypefloat32hstackrermaphexrr)rFrr)r$rinprrrer&r&r'test_from_float_hexs  zTestLoadTxt.test_from_float_hexcCsNtddtddf}t}|d||dtj|td}t||dS)NrZrrrb)rrr)rFrKrrrr&r&r'test_from_complexs  zTestLoadTxt.test_from_complexcCstjdtjd}tj}tj}|d||dd<t}tj||dd|d|}|d| dd}t ||k| ||dtj |t d}t||dS) Nr`r`rbrz%.16errse+00-se00+-)rKrrrrrrrFrreplacerr)rrr)r$r^rrrtxttxt_badrer&r&r'test_complex_misformatteds      z%TestLoadTxt.test_complex_misformattedc Cs~t'}t|d }|dWdn1swYt|}Wdn1s-wYt|ddgddggdS)Nr(z 1 21 3 42 rZrr4r)rrr)rKrr)r$rDrrr&r&r'test_universal_newlines   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)rvryrcomment).countr)rKrrr^r$rMrer&r&r'test_generator_source>s z!TestLoadTxt.test_generator_sourcecCs.t}|d|dttdtj|dS)Nz1 2 3 4 5 6 2 3r3)rr)rFrrrKrrr&r&r' test_bad_lineFs  zTestLoadTxt.test_bad_linecCsHt}|d|dtdtfddtfg}tj|d|dddS)Nz100,foo,200 300,None,400rrv)r^S10ryr )r rcr)rr)rFrKrcrfr)r$rrr&r&r'test_none_as_stringNs   zTestLoadTxt.test_none_as_stringzANSI_X3.4-1968zWrong preferred encodingrnc Csd}|ddd}tq}t|d }||Wdn1s&wYt|d}tj|dtjd}Wdn1sDwYt ||t|d}tj|ddd}Wdn1sfwYgd }t |tj |dd WddS1swYdS) Ns/5,6,7,Õscarscar 15,2,3,hello 20,2,3,Õscar r+rWrrrr8S)s5,6,7,Õscarscars 15,2,3,hellos 20,2,3,Õscarrb) r7r/ splitlinesrrr)rKrr0rrd)r$butf8sutf8rrrvr&r&r'test_binary_loadVs      "zTestLoadTxt.test_binary_loadcCr)N1,2,3,5 4,5,7,8 2,1,4,5rr rZrcr max_rowsrrrr&r&r' test_max_rowshrzTestLoadTxt.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,5rr rZrcr rr[rcomment 1,2,3,5 4,5,7,8 2,1,4,5r`rarrrrrr&r&r'test_max_rows_with_skiprowsqs        z'TestLoadTxt.test_max_rows_with_skiprowscCs|t}|d|dtj|tddd}tgdgdgt}t||tj|tdd}tgd t}t||dS) NrYrr r`rZrr_rr`rZrarrrr&r&r'$test_max_rows_with_read_continuations    z0TestLoadTxt.test_max_rows_with_read_continuationcCsZt}|d|dtj|tdddd}tgdgdgd gt}t||dS) Nr^rr rZrr]rr_rarrr&r&r'test_max_rows_largers   z TestLoadTxt.test_max_rows_largerN)1r/r0r1 staticmethodrKrr`rrrzrirmrrrrrrrrrrrrrrrr r"r+r-r2r3r:rFrIrOrQrSrrrlocalegetpreferredencodingrXr\r`rbrcr&r&r&r'rsT      E         +   rc@s4eZdZddZddZddZddZd d Zd S) TestfromregexcCVt}|d|ddtjfdg}t|d|}tjgd|d}t||dS)Nz1.312 foo 1.534 bar 4.444 quxrnumvalS3z([0-9.]+)\s+(...)))ˡE?rg%C?rg-@quxrbrr)rFrKfloat64 fromregexrdrrr&r&r'rz   zTestfromregex.test_recordcCrh)N1312 foo 1534 bar 4444 quxrrirjz (\d+)\s+(...))) r)r)\rprb)rr)rFrKrrsrdrrr&r&r' test_record_2rtzTestfromregex.test_record_2cCsTt}|d|ddtjfg}t|d|}tjgd|d}t||dS)Nrurriz (\d+)\s+...))rv)rw)rxrbrqrr&r&r' test_record_3s   zTestfromregex.test_record_3c Csd}tb}t|d}|d|dWdn1swYdtjfdg}tj|d|dd }tjd d |dfd d g|d}t||t dt j }tj|||dd }t||WddS1sjwYdS)Nr*rs 1.312 foos 1.534 bar 4.444 quxri)rkU4z(?u)([0-9.]+)\s+(\w+)r+r\rmrrnrorbz([0-9.]+)\s+(\w+)) rrr)rKrrrsrdr7rrcompileUNICODE)r$r1rrrrvr^regexpr&r&r'test_record_unicodes"   "z!Testfromregex.test_record_unicodecCsLtd}td}dtjfg}tjgd|d}t|||}t||dS)Ns(\d)s123rirrb)rr|rrKrrrdrsr)r$r~rrr^rvr&r&r'test_compiled_bytess  z!Testfromregex.test_compiled_bytesN)r/r0r1rzryrzrrr&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/d0Zd1d2Zd3d4Z d5d6Z!d7d8Z"d9d:Z#d;d<Z$d=d>Z%d?d@Z&dAdBZ'dCdDZ(dEdFZ)dGdHZ*dIdJZ+dKdLZ,dMdNZ-dOdPZ.dQdRZ/dSdTZ0dUdVZ1dWdXZ2dYdZZ3d[d\Z4d]d^Z5d_d`Z6dadbZ7dcddZ8dedfZ9dgdhZ:didjZ;dkdlZdqdrZ?dsdtZ@dudvZAdwdxZBdydzZCd{d|ZDd}d~ZEddZFddZGddZHddZIddZJddZKddZLddZMddZNddZOddZPddZQddZRddZSddZTddZUddZVdS) TestFromTxtcCstd}tj|dtjfdtjfgd}tjddgddgd}t||td }d d d }tjd dg|d}tj||d}t||dS)Nrrvryrbrsrtrurxrrrrrr)rrK genfromtxtrrdr)r$rrr descriptorr&r&r'rzs  zTestFromTxt.test_recordcCsztd}tjddgddggtd}tj|td}t|||dtjddgddggtd}tj|td}t||dS)NrrZr`r4rarbr) rrKrdrfrrrFrer)r$rrrr&r&r'ris  zTestFromTxt.test_arraycCsVtgdt}td}tj|td}t||td}tj|tdd}t||dS)Nrlrrbrr r)rKrdrfrrrr$rrrr&r&r'rms zTestFromTxt.test_1DcCs\tgdt}td}tj|tddd}t||td}tj|tddd}t||dS)Nrrr rrz1,2,3,5# comment )rKrdrfrrrrr&r&r' test_commentss zTestFromTxt.test_commentscCsptgdt}ttdd}td}tj|fddi|}t||td}tj|fddi|}t||dS) Nrr rr skip_headerrZrr)rKrdrfdictrrrr)r$rrVrrr&r&r'r s  zTestFromTxt.test_skiprowscCsddtddD}|d|ddtdDd|d <td d d d d}tjtd|fi|}tjddtdDdddDd}t ||dS)NcSsg|]}d|qS)z# %ir&r~r&r&r'r+r,z0TestFromTxt.test_skip_footer..rZrzA, B, CcSsg|] }d|||fqS)z %i,%3.1f,%03sr&r~r&r&r'r+s3z99,99r,r Trr)r rr skip_footerrcSs"g|] }d|d|d|fqS)rAr&r~r&r&r'r+s")cSg|]}|tfqSr&r}r*_r&r&r'r+ r,ABCrb) rrr#rrKrrrrdr)r$rrVrctrlr&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 ggWddS1swYdS) Nz1 1 2 2 3 3 4 4 5 6 7 rZ)rF)r invalid_raiserrrrr4z1 1 2 3 3 4 4 5 6 6 7 7 r) rrr rrrKrrrrd)r$rbasestrr^r&r&r'test_skip_footer_with_invalid#s,  (( ( $"z)TestFromTxt.test_skip_footer_with_invalidcCstd}tjdd"}tddtjtj|ddd}t|djtjuWdn1s/wYt dd gt d d gt d d gd}t |d|dt |d|dt |d|ddS)Nz)gender age weight M 64.0 75.0 F 25.0 60.0Trrrrcrrr@rArrrrrrrr) rrrrrKVisibleDeprecationWarningrrcategoryrdrr$rr(rrr&r&r' test_header;s   zTestFromTxt.test_headercCstd}tjdd!}tddtjtj|dd}t|djtjuWdn1s.wYt dd gt d d gt d d gt ddgt ddgg}t |j j gdt |D] \}}t |d||q`dS)Nz*A 64 75.0 3+4j True BCD 25 60.0 5+6j FalseTrrrrbrAsBCD@rry@@y@@F)f0f1f2f3rzf%i)rrrrrKrrrrrdrrcrr)r$rr(rrrrr&r&r'test_auto_dtypeIs      zTestFromTxt.test_auto_dtypecCs:td}tj|dd}tgdgdg}t||dS)Nz1 2 3 4 5 6 7 8 rbrl)rrrrrrKrrdrr$rrrr&r&r'test_auto_dtype_uniformYsz#TestFromTxt.test_auto_dtype_uniformcCsZtd}tdtfddtfdtfgfg}tj||dd}tjdd g|d }t||dS) Nrrvryrr%r rrrrb)rrKrcrfrerrdrr$r fancydtyperrr&r&r'r`s "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.0rrrrrrbr)r$rrrrrr&r&r'test_names_overwritehsz TestFromTxt.test_names_overwritecCstd}tjdd"}tddtjtj|ddd}t|djtjuWdn1s/wYtj gdd d t fd t fgd }t ||td }tjdd"}tddtjtj|ddd}t|djtjuWdn1sxwYt ||dS)NzN #gender age weight M 21 72.100000 F 35 58.330000 M 33 21.99 Trrr)rrcr))rrgfffffR@)rrBg ףp=*M@)rrg= ףp5@)rr=rrrbsO # gender age weight M 21 72.100000 F 35 58.330000 M 33 21.99 rrrrrKrrrrrdrfrer)r$rr(rrr&r&r'test_commented_headerts"  z!TestFromTxt.test_commented_headercCsJtd}tj|ttfddd}tjddgdtfdtfgd}t||dS) Nzcol1 col2 1 2 3 4T)rcrrrsrtcol1col2rbrrKrrfrdrrr&r&r'test_names_and_comments_nonesz(TestFromTxt.test_names_and_comments_nonec Cstd}tj|d}t|d}|ddWdn1s#wYt$t t t j |ddWdn1sCwYWdn1sRwYWddSWddS1sjwYdS)Nr,rϖr1asciir\) rrRrrrr)rrrrraisesUnicodeDecodeErrorrKr)r$r2fpathrr&r&r'test_file_is_closed_on_errors  "z(TestFromTxt.test_file_is_closed_on_errorcCstd}tjdd#}tddtjtj|dddd}t|djtjuWdn1s0wYtj d d d t fd t fgd }t ||dS)NA B C D aaaa 121 45 9.1TrrrACD)rrrcr)r-333333"@r|S4rrrbrrr&r&r'test_autonames_and_usecolssz&TestFromTxt.test_autonames_and_usecolscCsJtd}tj|tddddidd}tdd gd d ggt}t||dS) Nrr r4cSrrrrr&r&r'r}rz:TestFromTxt.test_converters_with_usecols..rrr`rrrrrr&r&r'rs  z(TestFromTxt.test_converters_with_usecolsc Cstd}tjdd(}tddtjtj|dddddd id }t|d jtjuWdn1s5wYtj d d dt fdt fgd}t ||dS)NrTrrrrrcSs dt|S)Nr`rrr&r&r'r}rzDTestFromTxt.test_converters_with_usecols_and_names..)rrrcrr)rZrrrrbrrr&r&r'&test_converters_with_usecols_and_namess  z2TestFromTxt.test_converters_with_usecols_and_namescCsbdddi}td}tj|ddddg|d}tjtdd d d fdtjfdtfgd }t||dS) NdatecSrNz%Y-%m-%d %H:%M:%SZ)r9rr&r&r'r}r~z9TestFromTxt.test_converters_cornercases..2009-02-03 12:00:00Z, 72214.0r rr rcrrr`r4`@rb)rrKrrdrobject_rerr$ converterrrrr&r&r'test_converters_cornercasess z'TestFromTxt.test_converters_cornercasescCs\dddi}td}tj|ddddg|d}tjtdd d d fd dtfgd }t||dS)NrcSstt|dSr)rK datetime64r9rr&r&r'r}z:TestFromTxt.test_converters_cornercases2..rr rrrr`r4r)rzdatetime64[us]rb)rrKrrdrrerrr&r&r'test_converters_cornercases2s  z(TestFromTxt.test_converters_cornercases2cCsbtd}tj|ddddid}t|ddg|dtj|dd d did}t|d d gdS) Nz 1 21 3 42 rrcSrrrrr&r&r'r}r~z3TestFromTxt.test_unused_converter..rrrrZcSrrrrr&r&r'r}r~rr)rrKrrrFr$rrr&r&r'rs   z!TestFromTxt.test_unused_convertercCsFdd}dd}td}t||dddd}tttj|fi|dS)NcS4td|vr |dpd|vr|pdS)Nrr,rqrelowerr$rr|r&r&r'r}z4TestFromTxt.test_invalid_converter..cSr)N%rrqrr|r&r&r'r}rzgD01N01,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.55rUr )rr rc)rrrr rKr)r$ strip_rand strip_perr%rVr&r&r'test_invalid_converters z"TestFromTxt.test_invalid_convertercCsHtd}dd}tj|dd|id}tddgd d gg}t||dS) Nz q1,2 q3,4cSst|ddSrr}rr&r&r'r}rz;TestFromTxt.test_tricky_converter_bug1666..r r)r rrrrrr)r$r%cnvrrr&r&r'test_tricky_converter_bug1666s z)TestFromTxt.test_tricky_converter_bug1666cCs|d}tjt|dtdtid}tjdgddtfdtfgd }t||tjt|dtdtid}tgd }t||dS) Nz 2009; 23; 46rrr)20097@.)rrrrrb)gd@rr)rKrrrer6rdr)r$dstrrrr&r&r'test_dtype_with_converterss     z&TestFromTxt.test_dtype_with_converterscsd}dddddgd}tttfdd d }tjt||d d|d }tjjgd |d}t||gd}tjt||d dd|d}tjjgd|d}t||dS)Nz!1,5,-1,1:1 2,8,-1,1:n 3,3,-2,m:n rrZr`r4)z1:1z1:nzm:1zm:n)e1rwe2rw)e3i2ri1cs |Sr!r{)rqdmapr&r'r}rzDTestFromTxt.test_dtype_with_converters_and_usecols..)rrZr`r4r )rcr rr))rZrr,r)r`rr,rZ)r4r4r4rb)rrr)rrZr4)rcr rrr))rZrr)r`rrZ)r4r4r4)rfrK recfromcsvrrecrdr)r$rdtypconvrrr&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 dtjt|d||d}Wdn1s]wYdtfdtfdgfg}tt dtjt|d||d}WddS1swYdS)Nr r r cSr r rrr&r&r'r}rz4TestFromTxt.test_dtype_with_object..rZrrrr`rrrbnestzNested fields.* not supported.*) rfrjrKrrrdrrrNotImplementedErrorrr&r&r'rs8   "z"TestFromTxt.test_dtype_with_objectcCsHtjtdtd}|ddksJtjtdtd}|ddks"JdS)N1rbr&1stringsstring)rKrrrj)r$parsedr&r&r'#test_dtype_with_object_no_converter4sz/TestFromTxt.test_dtype_with_object_no_convertercCsHtd}tj|ddtddtid}tjdgddtfgd }t||dS) Nzskip,skip,2001-01-01,1.0,skipr rUr`)r rrcrr) 2001-01-01r)r|S10rrb)rrKrrer6rdrrr&r&r''test_userconverters_with_explicit_dtype;s  z3TestFromTxt.test_userconverters_with_explicit_dtypec Csd}t6}t|d}|d|dWdn1swYtj|ddtddtjjidd }Wdn1s>wYtjd | dd fgd d tfgd}t ||dS)Nr*rsskip,skip,2001-01-01s ,1.0,skipr rUr`r+)r rrcrrr/rr)rz|U11rrb) rrr)rKrrecompatunicoderdr7r)r$r1rrrrr&r&r',test_utf8_userconverters_with_explicit_dtypeDs    z8TestFromTxt.test_utf8_userconverters_with_explicit_dtypecCs6td}t|}tgdgdg}t||dS)Nz1 2 3 4 5 6 7 8 9 10)rrrr@)rg@r"@g$@rrr&r&r'test_spacedelimiterPs   zTestFromTxt.test_spacedelimitercCs@d}tjt|dd}tgdgdgdg}t||dS)Nz 1 2 3 4 5 67 890123 4r4)r r)rarC)iz{rarKrrrdrrr&r&r'test_integer_delimiterXsz"TestFromTxt.test_integer_delimitercCs@td}tj|tddddid}tgdt}t||dS)Nrr r4cSrrrrr&r&r'r}brz*TestFromTxt.test_missing..rrrrr&r&r'r_s   zTestFromTxt.test_missingcCshd}tjt|ddd}tdtjdtjfdtjdfg}tjgd td }t|j|t|j|dS) Nz1 2 3 2 1 3r8Tr usemaskrr`rZr4)rrrrZrrZrrZrrb) rKrrrdnanboolrrmask)r$r0rctrl_dctrl_mr&r&r'test_missing_with_tabsfs " z"TestFromTxt.test_missing_with_tabscCstddgddggt}t}t|||dtj|tdd}t||dddftgdgd gt}t}t|||dtj|td d}t||ddddf|dtj|ttddgd}t||ddddfdS) NrZr`r4rarrrrrrs)rKrdrerrrFrrrr&r&r'rps     zTestFromTxt.test_usecolscCsBd}tjt|ddd}tjddgddd Dd }t||dS) N 1 2 3 4 5 6a, b, cza, c)rrrrarcSrr&r}rr&r&r'r+r,z3TestFromTxt.test_usecols_as_css..acrbrr$rrrr&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)rrKrr'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)rKrrrrd)r$rr&r&r'test_usecols_with_integersz%TestFromTxt.test_usecols_with_integercCsxtjddgdtfdtfgd}d}tdd}tjt|fd d i|}t||tjt|fd d i|}t||dS) Nrrr^rrbr r)rrrr,)r^r)rKrdrerrrr)r$rrrVrr&r&r'test_usecols_with_named_columnss  z+TestFromTxt.test_usecols_with_named_columnscCsvt.}|jddt}t|}t|tgtj|dd}t|tgWddS1s4wYdS)Nzgenfromtxt: Empty input file:rrZ)r)rrrrKrrrd)r$rrrr&r&r'rs  "zTestFromTxt.test_empty_filecCs\td}tdtfddtfdtfgfg}tj||ddd}tjd d g|d }t||dS) Nrrvryrr%r T)rcr rrrrb) rrKrcrfrermardrrr&r&r'test_fancy_dtype_alts "z TestFromTxt.test_fancy_dtype_altcCrr)rrKrcrerfrrdrrr&r&r'rrzTestFromTxt.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/Ar N/ATr missing_valuesrrcrrHr`r,FFFTrBr rcrr) rrrKrrrdrfrr rFrer$rrVrrr&r&r'test_withmissings"     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, 3jr T)rcr rrr!rrr))rrqy)rZrr)rNg@8)r4y@)rr)rrrZrr"rcrNr&r%rrZr`)rr)rrrr)rr!r) rrfrerrKrrrrdr)r$r basekwargsmdtyperrr&r&r'test_user_missing_valuessB         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)rr4)rarr^rrbzN/A, 2, 3 4, ,???r za,b,crrz???)rrr`rr)r rcrrfilling_values)rr`r4)rarrcSrr&rrr&r&r'r+r,z8TestFromTxt.test_user_filling_values..abcrrcSrr&rrr&r&r'r+r,rz1,2,*,4 5,*,7,8 *)r rcrr+)rZr`rra)rrrrr,)rZr`r,ra)rr,rr)rKrdrfrrrr)r$rrrVrdata2r&r&r'test_user_filling_valuess6       z$TestFromTxt.test_user_filling_valuescCs^td}tj|dddddd}tjddgdd gd tfd tfgd }t||t|j|jdS) NzA,B 0,1.5 2,-999.00r z-999.0T)rcr rrr)rr)r`grr rr!r") rrKrrrdrfrerr rr&r&r'test_withmissing_floats   z"TestFromTxt.test_withmissing_floatcCsNtd}tj|dddd}tjgdgdggdgdgd}t||dS) Nz 1 2 3 4 5 6 2,5Trcrrrrr)r )rrKrrrdrrr&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 r1Tr2r)rrrrrrrr")rrKrrrdrrfrrr&r&r'test_with_masked_column_various$s 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, 1rEr 2, 2, 2, 2 2rr a, b, c, d, err Tr rcrctjfddiS)NrFrKrr&rVmdatar&r'r7z)TestFromTxt.test_invalid_raise..frcSrr&rrr&r&r'r+;r,z2TestFromTxt.test_invalid_raise..abcderbr r)rinsertrrrrr rlenrKrrFrrr)r$rrrmtestr&r;r'test_invalid_raise.s       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)Nr5rErr6rrr7rr TF)r rcrrcr9)Nr)rrar:r&r;r&r'rKr=z6TestFromTxt.test_invalid_raise_with_usecols..frcSrr&rrr&r&r'r+Or,z?TestFromTxt.test_invalid_raise_with_usecols..aerbrrHcSrr&rrr&r&r'r+Tr,abr.cSsg|]}d|qS)rr&rr&r&r'r+Ur,) rr@rrrrr rrArKrrFr)r$rrrrBrr&r;r'test_invalid_raise_with_usecolsAs$     z+TestFromTxt.test_invalid_raise_with_usecolscCsVdgd}td|}dddi}td|dd d Dd }tttj|fi|dS) Nz1, 1, 1, 1, -1.1rErracSs d|S)Nz(%s)r{r|r&r&r'r}]rz5TestFromTxt.test_inconsistent_dtype..r cSrr&rrr&r&r'r+_r,z7TestFromTxt.test_inconsistent_dtype..r>)r rrc)rrrrrrKr)r$rr<rrVr&r&r'test_inconsistent_dtypeXs   z#TestFromTxt.test_inconsistent_dtypecCsLd}tjt|dddd}tjddgdtfdtfd tfgd }t||dS) N0, 1, 2.3 4, 5, 6.7r f%02ir rc defaultfmtrrZffffff@)rar@f00f01f02rb)rKrrrdrfrerr$rrBrr&r&r'test_default_field_formatbs  z%TestFromTxt.test_default_field_formatcCsBd}tjt|dtdd}tjgdgdgtd}t||dS)NrHr rIrJrqrrMrrrNrbrKrrrerdrrRr&r&r'test_single_dtype_wo_namesks  z&TestFromTxt.test_single_dtype_wo_namescCDd}tjt|dtdd}tjddgddd Dd }t||dS) NrHr rr8rTrUcSrr&r}rr&r&r'r+yr,zBTestFromTxt.test_single_dtype_w_explicit_names..r,rbrVrRr&r&r'"test_single_dtype_w_explicit_namess   z.TestFromTxt.test_single_dtype_w_explicit_namescCrX) Nza, b, c 0, 1, 2.3 4, 5, 6.7r Tr8rTrUcSrr&r}rr&r&r'r+r,zBTestFromTxt.test_single_dtype_w_implicit_names..r,rbrVrRr&r&r'"test_single_dtype_w_implicit_names|rZz.TestFromTxt.test_single_dtype_w_implicit_namescCsRd}tjt|dtttfdd}tjddgdtfdtfd tfgd }t||dS) NrHr zf_%02irJ)rrrM)rarrNf_00f_01f_02rbrKrrrfrerdrrRr&r&r'test_easy_structured_dtypes   z&TestFromTxt.test_easy_structured_dtypecCs,d}tddd}tjdd%}tddtjtjt|fi|}t|dj tjuWdn1s6wYtj d gd d t fd gd }t ||tjdd'}tddtjtjt|fddi|}t|dj tjuWdn1s}wYtj dgdd t fdgd }t ||dS)Nz01/01/2003 , 1.3, abcder )r rcTrrrr)z 01/01/2003 ?z abcde)rz|S12r)rr7rb autostrip)z 01/01/2003rar>)rr)rz|S5) rrrrrKrrrrrrdrer)r$rrVr(rBrr&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.14r Tr rrcAAB_BCC)rZr`gQ @rbrr rrc replace_space deletecharsA.AB (B)C:Cr rrcrjB_(B)r_r$r0r ctrl_dtyperr&r&r'test_replace_space*     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, 3r Trdrerfrgrrbrrhrkrlrmrnro)rKrrrfrdrrpr&r&r'test_replace_space_known_dtypersz*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,5r Tr?r'rcSrr&rrr&r&r'r+r,z5TestFromTxt.test_incomplete_names..)rrrrbrccSrr&r}rr&r&r'r+r,)rrKrdrrrr$rrVrrr&r&r'test_incomplete_namess      z!TestFromTxt.test_incomplete_namescCsPd}tjt|tttfdd}tjddgdtfdtfdtfgd}t||dS) Nz 1 2 3 4 5 6r^rrrrrrbr_rr&r&r'test_names_auto_completions   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`raT)rcr rr)rKrrrfrrcr)r$r ctrl_namesrr&r&r'test_names_with_usecols_bug1636s"     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.)rrraTrdrL)rrrrr!rrbr)rrKrdrfrerrrrur&r&r'test_fixed_width_namess   z"TestFromTxt.test_fixed_width_namescCsVd}tdddd}tjgdgdgdgtd}tjt|fi|}t||dS) Ns1, 2, 3 1, , 5 0, 6, r r)r rcr+r)rZrr)rrrrb)rrKrdrfrrrrur&r&r'test_filling_values s  zTestFromTxt.test_filling_valuescCstjdd%}tddtjtjtddddd}t|djtjuWdn1s.wYt |d d tjdd%}tddtjtjtd dddd}t|djtjuWdn1shwYt |d d dS) NTrrrztest1,testNonetherestofthedatar rcrr rrZstestNonetherestofthedataztest1, testNonetherestofthedatas testNonetherestofthedata) rrrrKrrrrrr)r$r(rr&r&r'test_comments_is_nones   z!TestFromTxt.test_comments_is_nonecCsd}d}d|d}|||}tjdd%}tddtjtjt|ddd d }t|d jtjuWdn1s>wYt |d d t |dd|t |ddtjt|ddd dd}t |d dt |dd| dt |ddtjdd'}tddtjtjtd|ddd d }t|d jtjuWdn1swYt |dd t |dd|dS)Nsnorm1,norm2,norm3 test1,testNonethe,test3 Trrrr r}r)rZrtest1)rZrZ testNonetherstest3r3rcrr r/test1 testNonethetest3 0,testNonetherr) rrrrKrrrrrrr7)r$r3normencr%r(rr&r&r' test_latin1!s<    zTestFromTxt.test_latin1cCs6d}|jt|ddd}t|t|ddSrv)r`rrrKrdr7r$rwr&r&r'test_binary_decode_autodtype=sz(TestFromTxt.test_binary_decode_autodtypecCsd}d}d|d}|||}tjdd%}tddtjtjt|ddd d }t|d jtjuWdn1s>wYt gd d d|dggd g}t ||dS)Nr*rrrTrrrr r}r)snorm1snorm2snorm3rrr) rrrrKrrrrrrdr)r$r1rrr%r(rctlr&r&r'test_utf8_byte_encodingBs"    z#TestFromTxt.test_utf8_byte_encodingc Cs4d}t}t|d}|d|ddWdn1s!wYtj|ddddd}tjd d |dd gd d |dd ggtjd }t||t|d}|d |Wdn1sfwYtj|ddddd}t |ddt |dd |dWddS1swYdS)Nr*rrrr`r r+rrrrrbrrrr) rrr)rKrrdr7r0rr)r$r1rrrrr&r&r'test_utf8_fileRs0     "zTestFromTxt.test_utf8_filec Cs\d}d}z t}||WnttfytdYnwt}t |d}| d| d|d| d|d Wdn1sLwYt j d d #}t d d tjtj|dddd}t|djtjuWdn1s}wYtjgdd|dgdd|dggtjd}t||WddS1swYdS)NruöüözTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingrZznorm1,norm2,norm3 znorm1,z,norm3 ztest1,testNonethez,test3 Trrrr r}r)norm1norm2norm3rrrrrrb)rerfrr UnicodeError ImportErrorrskiprrrr)rrrrKrrrrrdr0r) r$r1r3r/rrr(rrr&r&r'test_utf8_file_nodtype_unicodegs@    "z*TestFromTxt.test_utf8_file_nodtype_unicodecCstd}tdddd}tj|fi|}tjddgdtfd tfgd }tt|tjt ||td }tj|fddd |}t jdd gddgdtfd tfgd}t ||t |j |j t |j ddgdS)N A,B 0,1 2,3r rTrrHrUrr!rbrrrrr r"rr`) rrrK recfromtxtrdrfrrIrecarrayrrr rr#r&r&r'test_recfromtxts"    zTestFromTxt.test_recfromtxtcCstd}tdddd}tj|fddi|}tjddgdtfd tfgd }tt|tjt ||td }tj|fddd |}t jdd gddgdtfd tfgd}t ||t |j |j t |j ddgtd}tj|dd}tjddgdtfdtfgd }tt|tjt ||td}dtfdt fg}tj|d|d}tjddg|d }tt|tjt ||td}tj|dddid}tjddgdtdffgd }t |j|jt ||dS)NrrTrrcase_sensitivercrHrUrr!rbrrrrr r"rr`)rr^r)rrczcolor "red" "blue"cSrz)N")rr|r&r&r'r}r~z-TestFromTxt.test_recfromcsv..)r)red)bluecolorra)rrrKrrdrfrrIrrrr rrer6rc)r$rrVrrrcr&r&r'test_recfromcsvsJ        zTestFromTxt.test_recfromcsvcCsd}t|}tj|dd}t|}t|ddgddgddggt|d d gd d ggtttjt|d dd}tjt|dd}tddgddgg}t||tttjt|dddtttjt|ddtM}|t tjt|ddd}tddgddgddgddgg}t||tjt|ddd}tddgddgddgddgg}t||Wdn1swYd}t|}tj|dddd}tjgdddgd}t||tj|d|j d}tjddgddgd}t||dS) Nz1 2 3 4 5 6 7 8 9 10 r4)r[rZr`rarrrrrrrz1 1 2 2 0 3 3 4 4 5 6 7 rr)rr[F)r[rrrz"a b #c d 1 1 2 2 #0 3 3 4 4 5 5 T)rr[r))rr)rr)rr)r.countr)rKrrr^rNr&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 1024rb)rrrrrrgDli) rrKrrrcrrrerint_rrr&r&r'test_auto_dtype_largeint# s z$TestFromTxt.test_auto_dtype_largeintcCstd}ddd}tj||dd\}}}t|jtdt|jtdt|jtd t|td d gt|td d gt|tddgdS)Nr;r<rrTr>rrwrr@rArrBrCrD)rrKrrrcrrdrEr&r&r'rF< s z"TestFromTxt.test_unpack_structuredcCsrtd}tddgtddgtddgf}tj|ddd d }t||D]\}}t||t|j|jq&dS) NzM 21 72. F 35 58.rrrrBrCrDTzutf-8)rcr?r/)rrKrdrrrrrc)r$r0expectedrrMresultr&r&r'test_unpack_auto_dtypeI s( z"TestFromTxt.test_unpack_auto_dtypecCsRtd}ddd}tjddgtjd}tj||dd }t||t|j|jdS) Nz21 35rrwrrrBrbTr>)rrKrdrrrrrcr$r0rrrr&r&r'test_unpack_single_nameS s   z#TestFromTxt.test_unpack_single_namecCsZtd}ddd}tjdtjd}tj||dd}t||td |jt|j|jdS) NrrrrrrbTr>r&) rrKrdrrrrr\rcrr&r&r'test_squeeze_scalar] s   zTestFromTxt.test_squeeze_scalarN)Wr/r0r1rdrKrr`rzrirmrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr rrrrrrrrr$r*r/r0r3r4rCrFrGrSrWrYr[r`rcrrrtrvrwrzr{r|r~rrrrrrrr\rrrrrFrrrr&r&r&r'rs                                #)6   rc@sdeZdZddZddZddZddZd d Zd d Zd dZ ddZ ddZ ddZ ddZ dS) TestPathUsagecCsntdd(}t|}tddgddgg}t||t|}t||WddS1s0wYdS)N.txtrg?r`r4ra)rrrKrdrrr)r$rr^rvr&r&r' test_loadtxtl s    "zTestPathUsage.test_loadtxtcCsptdd)}t|}tddgddggt}t||t|}t||WddS1s1wYdS)NrrrZr`r4ra)rrrKrdrfrrLrr$rr^rr&r&r'test_save_loadt s    "zTestPathUsage.test_save_loadcCstdd<}t|}tddgddggt}t||tj|dd}t||~tr9t t WddSWddS1sDwYdS) NrrrZr`r4rarqrp) rrrKrdrfrrLrrrrr&r&r'test_save_load_memmap} s   "z#TestPathUsage.test_save_load_memmapcCstddE}t|}tddgddggt}t||tj|dd}d |d d <d |d d <~tr8ttt|}t ||WddS1sMwYdS) NrrrZr`r4razr+rrr) rrrKrdrfrrLrrr)r$rr^rrr&r&r'test_save_load_memmap_readwrite s      "z-TestPathUsage.test_save_load_memmap_readwritec Cstdd8}t|}tj|ddt|}t|ddWdn1s(wYWddSWddS1s@wYdSNrrrrr)rrrKrrLrr$rrr&r&r'test_savez_load s  "zTestPathUsage.test_savez_loadcCsftdd$}t|}tj|ddt|}t|dd|WddS1s,wYdSr)rrrKsavez_compressedrLrrJrr&r&r'test_savez_compressed_load s   "z(TestPathUsage.test_savez_compressed_loadcCsftdd$}t|}tddg}t||t|}t||WddS1s,wYdS)Nrrrsrt)rrrKrdrrrrr&r&r'test_genfromtxt s    "zTestPathUsage.test_genfromtxtc Cstdd@}t|}|d }|dWdn1swYtjddgddggtd }tj|td }t||WddS1sHwYdS) Nrrr(rrZr`r4rarb) rrrr)rKrdrfrr)r$rrrrr&r&r'test_ndfromtxt s    "zTestPathUsage.test_ndfromtxtc Cstdd;}t|}|d }|dWdn1swYtj|ddd}tdd g}t||WddS1sCwYdS) Nrrr(rr Tr)rrr)rrr) rrrr)rKrrrdr)r$rrrrr&r&r'test_mafromtxt s    "zTestPathUsage.test_mafromtxtc CstddS}t|}|d }|dWdn1swYtdddd}tj|fi|}tjd d gd tfd tfgd }t t |tj t ||WddS1s[wYdS)Nrrr(rr rTrrHrUrr!rb) rrrr)rrKrrdrfrrIrrr$rrrVrrr&r&r'r s     "zTestPathUsage.test_recfromtxtc CstddU}t|}|d }|dWdn1swYtdddd}tj|fddi|}tjd d gd tfd tfgd }t t |tj t ||WddS1s]wYdS)Nrrr(rrTrrcrHrUrr!rb) rrrr)rrKrrdrfrrIrrrr&r&r'r s     "zTestPathUsage.test_recfromcsvN)r/r0r1rrrrrrrrrrrr&r&r&r'rj s    rcCs`tjd}t}tj|dd}t||||dtj|dd}tt ||dS)Nrrr(rrrq) rKrrrhrrrJrFrrLr^r%rr&r&r'test_gzip_load s   rc@s$eZdZddZddZddZdS) JustWritercC ||_dSr!baser$rr&r&r'r"  zJustWriter.__init__cC |j|Sr!)rr)r#r&r&r'r)  zJustWriter.writecCs |jSr!)rrErir&r&r'rE rzJustWriter.flushN)r/r0r1r"r)rEr&r&r&r'r s rc@s&eZdZddZddZd ddZdS) JustReadercCrr!rrr&r&r'r" rzJustReader.__init__cCrr!)rr)r$rr&r&r'r rzJustReader.readrcCs|j||Sr!)rrF)r$offwhencer&r&r'rF szJustReader.seekNr)r/r0r1r"rrFr&r&r&r'r srcCsTtjd}t}t|}t||||dt|}tt ||dS)Nrr) rKrrrrrErFrrrLrr&r&r'test_ducktyping s   rc Cst}tj|dd}|d||dtdd)}t|d}||Wdn1s5wYt |}Wdn1sIwY|t |gddS) Nr(r1 2 3 rr4rrr) rrhrr)rJrFrrrrKrr)r%rrDrrer&r&r'test_gzip_loadtxt s     rcCsVt}tj|dd}|d||dtj|dd}tt|gddS)Nr(rrrrqr) rrhrr)rJrFrrKr)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?tt |dk|D]}t|dvq\td|vdS)N)r4r4)rvryrrvryr`) rrKrrrFrLrkeysitemsrr\rA)r%rvryrrr^r&r&r'test_npzfile_dict9 s"       rzPython lacks refcountsrncCst}t|gd|dt t|Wdn1s#wY|dddg}ttjtd|d}t|tj dg|dWddS1sTwYdS)Nrr)r^u1r`)rrr`z0 1 2 3rb)rHrU) rrKrrFrrLrrrrd)rrrvr&r&r'test_load_refcountT s   "rr!)OrGrrhrRrr8rrrrpathlibrtempfilerrrrremultiprocessingrrctypesr numpyrKnumpy.marnumpy.lib._iotoolsr r numpy.compatr numpy.ma.testutilsr numpy.testingrrrrrrrrrrrrrrnumpy.testing._private.utilsrrmaxsizerrkr9rrnr:r9r;rrrrTrrgrrrrrrrrrrrrr&r&r&r's       @      kHu<{