
    G/PhO                    ~   d dl Z d dlZd dlZd dlZd dlZd dlZd dlZd dlZd dlZd dl	m
Z
 d dlmZ d dlmZmZ d dlmZ d dlZd dlmZmZ d dlmZ d dlZd dlmZ d dlmZ d d	lmZmZ d d
l m!Z! d dl"m#Z#m$Z$ d dl%m&Z& d dl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z:  G d de          Z;e j<        dk    Z=	 d dl>Z>dZ?n# e@$ r dZ?Y nw xY w	 d dlAZAdZBn# e@$ r dZBY nw xY wd5dZC G d d          ZD G d deD          ZE G d deD          ZF G d d          ZG G d d          ZH G d  d!eH          ZI G d" d#          ZJ G d$ d%eH          ZK G d& d'          ZLd( ZM G d) d*          ZN G d+ d,          ZOd- ZPd. ZQd/ ZRd0 ZSejT        U                    e1 d12          d3             ZVd4 ZWdS )6    N)Path)NamedTemporaryFile)BytesIOStringIO)datetime)Valueget_context)c_bool)VisibleDeprecationWarning)ConverterErrorConversionWarning)_npyio_impl)
recfromcsv
recfromtxt)assert_equal)assert_warnsassert_assert_raises_regexassert_raisesassert_allcloseassert_array_equaltemppathtempdirIS_PYPYHAS_REFCOUNTsuppress_warningsassert_no_gc_cyclesassert_no_warningsbreak_cyclesIS_WASM)requires_memoryasbytesc                   &    e Zd ZdZddZd Zd Zd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.

     c                 J    t          j        | t          |                     d S N)r   __init__r#   selfss     W/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numpy/lib/tests/test_io.pyr)   zTextIO.__init__,   s!    wqzz*****    c                 J    t          j        | t          |                     d S r(   )r   writer#   r*   s     r-   r0   zTextIO.write/   s     dGAJJ'''''r.   c                 D    t          j        | d |D                        d S )Nc                 ,    g | ]}t          |          S  r"   ).0r,   s     r-   
<listcomp>z%TextIO.writelines.<locals>.<listcomp>3   s    !<!<!<'!**!<!<!<r.   )r   
writelines)r+   liness     r-   r6   zTextIO.writelines2   s*    4!<!<e!<!<!<=====r.   N)r&   )__name__
__module____qualname____doc__r)   r0   r6   r3   r.   r-   r%   r%   #   sP         + + + +( ( (> > > > >r.   r%   l        TFc                     t          |           t          k    r|                     d          } t          t	          j        | |          dd          S )zY
    This function is available in the datetime module only from Python >=
    2.5.

    latin1N   )typebytesdecoder   timestrptime)r,   fmts     r-   rC   rC   C   sF     Aww%HHXT]1c**2A2.//r.   c                       e Zd Zd Zd Zd Zd Zd Zej	        
                    ej        dk    d          d	             Zd
 Zej	        j        d             ZdS )RoundtripTestc                    |                     di           }|                     dddi          }|                     dd          }|rt          d          }|j        }nt                      }|}	 |}	 ||g|	R i | |                                 |                    d           t          j        d	k    r)t          |t                    s|	                                 t          j        |fi |}
|	| _        |
| _        t          |t                    sc|	                                 d
t                      v rAt          |
t          j        j        j                  st%          j        |j                   dS dS dS dS # t          |t                    sb|	                                 d
t                      v r?t          |
t          j        j        j                  st%          j        |j                   w w w w xY w)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)deleter   win32arr_reloadedN)getr   namer   flushseeksysplatform
isinstanceclosenploadarrrN   localslibnpyioNpzFileosremove)r+   	save_funcargskwargsrH   rI   rK   target_file	load_filerY   rN   s              r-   	roundtripzRoundtripTest.roundtripO   s    JJ{B//	JJ{^T,BCC	zz.%88 	$,E:::K#(II!))K#I	4CIk5C5559555Q|w&&z+w/O/O&!!###79::	::LDH ,Dk733 4!!###!VXX--%lBFL4HII 4	+"2333334 4 .-4 4	 k733 4!!###!VXX--%lBFL4HII 4	+"233334 .4s   0BE> >A;G9c                    |                      |           |                      |d           |                      t          j        |                     |                      t          j        |          d           |j        d         dk    rb|                      t          j        |          dd                     |                      t          j        |          dd          d           d S d S )NT)rK   r      )re   rW   asfortranarrayshaper+   as     r-   check_roundtripszRoundtripTest.check_roundtrips   s    qqt,,,r(++,,,r(++$???71:>>NN2,Q//3444NN2,Q//3$NGGGGG >r.   c                 $   t          j        g t                    }|                     |           t          j        ddgddggt                    }|                     |           t          j        ddgddggt                    }|                     |           t          j        ddgddggt           j        	          }|                     |           t          j        ddgddggt           j        	          }|                     |           d S )
Nrg      r>      y      ?      @y       @      @y      @      @y      @       @dtype)rW   arrayfloatrl   intcsinglecdoublerj   s     r-   
test_arrayzRoundtripTest.test_array   s   HRa   Hq!fq!f%u--a   Hq!fq!f%s++a   Hvv&(89LLLa   Hvv&(89LLLa     r.   c                     t          j        g t                    }|                     |           t          j        ddgddggt                    }|                     |           d S )Nrg   rn   r>   ro   )rW   rr   objectrl   rj   s     r-   test_array_objectzRoundtripTest.test_array_object   s_    HR  a   Hq!fq!f%v..a     r.   c                 h    t          j        g dt                    }|                     |           d S )Nrg   rn   r>   ro   )rW   rr   rt   re   rj   s     r-   test_1DzRoundtripTest.test_1D   s/    H\\\3''qr.   rM   zFails on Win32reasonc                     t          j        ddgddgg          }|                     |dddi           t          j        ddgddgg          }|                     |dddi           d S )	Nrg   g      @ro   g333333@T	mmap_moder)rK   rI   )rW   rr   re   rh   rj   s     r-   	test_mmapzRoundtripTest.test_mmap   s{    Hq#hC)**qtS7IJJJ3x!S233qtS7IJJJJJr.   c                 d    t          j        ddgddg          }|                     |           d S )Nrg   rn   r>   ro   xi4yr   rp   )rW   rr   rl   rj   s     r-   test_recordzRoundtripTest.test_record   s:    Hff%k;-GHHHa     r.   c                     d t          d          D             }t          j        d|          }t          j        d          5  t          j        ddt                     |                     |           d d d            d S # 1 swxY w Y   d S )	Nc                 ,    g | ]}d |z  dz  t           fS )%dd   rs   r4   is     r-   r5   z1RoundtripTest.test_format_2_0.<locals>.<listcomp>   s&    <<<AqC'<<<r.     i  rp   Trecordalwaysr&   )rangerW   oneswarningscatch_warningsfilterwarningsUserWarningrl   )r+   dtrk   s      r-   test_format_2_0zRoundtripTest.test_format_2_0   s    <<s<<<GD###$D111 	% 	%#Hb+>>>!!!$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   1BB
BN)r8   r9   r:   re   rl   rw   rz   r}   pytestmarkskipifrS   rT   r   r   slowr   r3   r.   r-   rF   rF   N   s        .4 .4 .4`H H H! ! ! ! ! !   [/8HIIK K JIK! ! ! [% % % % %r.   rF   c                       e Zd Zd ZdS )TestSaveLoadc                 B   t          j        | t          j        g|R i | t	          | j        d         | j                   t	          | j        d         j        | j        j                   t	          | j        d         j        j	        | j        j        j	                   d S )Nr   )
rF   re   rW   saver   rY   rN   rq   flagsfnc)r+   ra   rb   s      r-   re   zTestSaveLoad.roundtrip   s    bg???????TXa[$"3444TXa[&(9(?@@@TXa[&*D,=,C,GHHHHHr.   N)r8   r9   r:   re   r3   r.   r-   r   r      s(        I I I I Ir.   r   c                      e Zd Zd Zej                            ed          ej                            e d          ej        j	        d                                     Z
d Zd Zd Zd	 Zej                            ed
          d             Zd Zej        j        d             Zd Zej                            dg d          d             ZdS )TestSavezLoadc                 ~   t          j        | t          j        g|R i | 	 t	          | j                  D ]c\  }}| j        d|z           }t          ||           t          |j        |j                   t          |j	        j
        |j	        j
                   d	 | j        j        rC| j        j                                         t          j        | j        j        j                   d S d S # | j        j        rB| j        j                                         t          j        | j        j        j                   w w xY w)Nzarr_%d)rF   re   rW   savez	enumeraterY   rN   r   rq   r   r   fidrV   r^   r_   rP   )r+   ra   rb   nrY   reloadeds         r-   re   zTestSavezLoad.roundtrip   s=   bh@@@@@@@
	6#DH-- @ @3,X\:S(+++SY777SY]HN,>????	@  $ 6!%++---	$+/4555556 6t $ 6!%++---	$+/455556s   A8C, ,AD<zHangs on PyPyr~   zNeeds 64bit platformc                 .   d}t          j        |t           j                  }t          dd          5 }t          j        ||           ~t          j        |          }|d         }|                                 ~d d d            d S # 1 swxY w Y   d S )Nl     rp   numpy_test_big_arrays_.npz)prefixsuffixrk   rk   )rW   emptyuint8r   r   rX   rV   )r+   Lrk   tmpnpfiles        r-   test_big_arrayszTestSavezLoad.test_big_arrays   s     HQbh'''5fEEE 	HSAWS\\FsALLNNN	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A	B

BBc                     t          j        ddgddggt                    }t          j        ddgddggt                    }|                     ||           d S )	Nrg   rn   r>   ro         ?       @       @      @      @            @      (@)rW   rr   rs   complexre   )r+   rk   bs      r-   test_multiple_arraysz"TestSavezLoad.test_multiple_arrays   sZ    Hq!fq!f%u--Hvv&(9:GDDq!r.   c                 z   t          j        ddgddggt                    }t          j        ddgddggt                    }t	                      }t          j        |||	           |                    d
           t          j        |          }t          ||d                    t          ||d                    d S Nrg   rn   r>   ro   r   r   r   r   )file_afile_br   r   r   )	rW   rr   rs   r   r   r   rR   rX   r   r+   rk   r   cls        r-   test_named_arrayszTestSavezLoad.test_named_arrays   s    Hq!fq!f%u--Hvv&(9:GDDII
1Q''''	q			GAJJQ($$$Q($$$$$r.   c                 D   t          j        g d          }t                      }t          j        ||           |                    d           t          j        |          }t          j        t          d          5  |d          d d d            d S # 1 swxY w Y   d S )Nrg   rn   r>   r   r   z(1, 2)matchr   )	rW   rr   r   r   rR   rX   r   raisesKeyError)r+   rk   fr   s       r-   test_tuple_getitem_raisesz'TestSavezLoad.test_tuple_getitem_raises   s    HYYYII
a	q			GAJJ]88444 	 	dGG	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   ?	BBBc                    t          j        ddgddggt                    }t          j        ddgddggt                    }t	                      }t          j        |||	           |                    d
           t          j        |          }t          t          t          |j                            ddg           t          ||j        j                   t          ||j        j                   d S r   )rW   rr   rs   r   r   r   rR   rX   r   sorteddirr   r   r   r   s        r-   test_BagObjzTestSavezLoad.test_BagObj   s    Hq!fq!f%u--Hvv&(9:GDDII
1Q''''	q			GAJJVCHH%%':;;;Q
###Q
#####r.   zCannot start threadc                     d g fdt          d          D             }|D ]}|                                 |D ]}|                                 rt                    d S )Nc                     t          d          5 }t          j                            dd          }	 t          j        ||           n,# t
          $ r}|                     |           Y d }~nd }~ww xY wd d d            d S # 1 swxY w Y   d S )Nr   r   r   )rY   )r   rW   randomrandnr   OSErrorappend)
error_listr   rY   errs       r-   writerz9TestSavezLoad.test_savez_filename_clashes.<locals>.writer  s    ((( +Ciooc3//+HSc***** + + +%%c********+	+ + + + + + + + + + + + + + + + + +s:   !BA
	B

A3A.)B.A33BB
Bc                 >    g | ]}t          j        f           S )targetra   )	threadingThread)r4   jerrorsr   s     r-   r5   z=TestSavezLoad.test_savez_filename_clashes.<locals>.<listcomp>  s;     & & & #6	BBB & & &r.   r>   )r   startjoinAssertionError)r+   threadstr   r   s      @@r-   test_savez_filename_clashesz)TestSavezLoad.test_savez_filename_clashes  s    
	+ 	+ 	+ & & & & &!!HH& & & 	 	AGGIIII 	 	AFFHHHH 	) (((	) 	)r.   c                 ,   t          d          5 }t          |d          5 }t          j        |d           d d d            n# 1 swxY w Y   t          |dd          5 }|                    d           t          |j                    t          j        |          d	          t          |j                    |                    d           t          |j                    d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )
Nr   r   wbLOVELY LOADdatarbi'  r   r   )r   openrW   r   rR   r   closedrX   )r+   r   fps      r-   test_not_closing_opened_fidz)TestSavezLoad.test_not_closing_opened_fid  s    V$$$ 
	'c4 1B-00001 1 1 1 1 1 1 1 1 1 1 1 1 1 1c4'' '2


BI&&&F##BI&&&


BI&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	' 
	'sX   D	AD	A			D	A		D	!BC1%D	1C5	5D	8C5	9D		DDc                 &   t          d          5 }t          j        |d           t                      5 }|                    t
                     t          dd          D ]}	 t          j        |          d          n&# t          $ r}d|z  }t          |          d }~ww xY w	 t          rt          j                     `# t          rt          j                     w w xY w	 d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )	Nr   r   r   r   rg   i  r   z#Failed to load data from a file: %s)r   rW   r   r   filterResourceWarningr   rX   	Exceptionr   r   gccollect)r+   r   supr   emsgs         r-   test_closing_fidzTestSavezLoad.test_closing_fid*  s    V$$$ 	)HS}---- #$$ 
)

?+++q$ ) )A)V,,,$ 2 2 2CaG,S1112 -
 # )JLLL # )JLLLL))
) 
) 
) 
) 
) 
) 
) 
) 
) 
) 
) 
) 
) 
) 
)	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)sj   %D-C.$A?>C?
B"		B	B"	"C&C.C	C."D.C2	2D5C2	6DD
D
c                    d}t          d|          5 }t          j        |d           t          j        |          }|j        j        }|                                 t          |j                   d d d            d S # 1 swxY w Y   d S )N&numpy_test_closing_zipfile_after_load_r   )r   r   place holderlab)	r   rW   r   rX   zipr   rV   r   r   )r+   r   r   r   r   s        r-   test_closing_zipfile_after_loadz-TestSavezLoad.test_closing_zipfile_after_loadD  s    
 :VF333 	sHSn----73<<DBJJLLLBI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   AB  BBzcount, expected_repr))rg   z"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...c                 f   t          j        ddgddggt                    }t          d          5 }t          j        |g|g|z  R   t          j        |          }t          |          |                    |          k    sJ |                                 d d d            d S # 1 swxY w Y   d S )Nrg   rn   r>   ro   r   r   )fname)	rW   rr   rs   r   r   rX   reprformatrV   )r+   countexpected_reprrk   r   r   s         r-   test_repr_lists_keysz"TestSavezLoad.test_repr_lists_keysQ  s     Hq!fq!f%u--V$$$ 	HS%A3u9%%%%A77m222======GGIII		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A(B&&B*-B*N)r8   r9   r:   re   r   r   r   r   IS_64BITr   r   r   r   r   r   r    r   r   	slow_pypyr  r  parametrizer  r3   r.   r-   r   r      sw       6 6 6 [88[H-CDD[	 	  ED 98	  
% % %  	$ 	$ 	$ [(=>>) ) ?>).' ' ' [) ) )2   [3 6 6 6      r.   r   c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                            d
eeg          d             Zd Zd Zd Zd Zd Zd Zd Zej                            deeg          d             Zej                            ej        dk    d          ej        j         e d          d                                     Z!dS )TestSaveTxtc                 f   t          j        ddgddggt                    }d}t                      }t          j        |||           |                    d           t          |                                t          |dz   |z   d	z   d
z            t          |dz   |z   d	z   dz            g           t          j        ddgddggt                    }t                      }t          j        ||d           |                    d           t          |                                ddg           d S )Nrg   rn   r>   ro   z%.18erD   r    
r   r   r      1 2
   3 4
)
rW   rr   rs   r   savetxtrR   r   	readlinesr#   rt   )r+   rk   rD   r   s       r-   rw   zTestSaveTxt.test_arrayb  s%   Hq!fq!f%u--II

1aS!!!!	q			Q[[]]sSy35?@@sSy35?@@B	C 	C 	C Hq!fq!f%s++II

1aT""""	q			Q[[]]Xx$899999r.   c                     t          j        g dt                    }t                      }t          j        ||d           |                    d           |                                }t          |g d           d S )Nr|   r   r  r   )s   1
s   2
s   3
s   4
)rW   rr   rt   r   r   rR   r!  r   r+   rk   r   r7   s       r-   r}   zTestSaveTxt.test_1Dr  sp    H\\\3''II

1aT""""	q			U<<<=====r.   c           	          t                      }t          t          t          j        |t          j        d                     t          t          t          j        |t          j        dgdggg                     d S )Nrg   rn   )r   r   
ValueErrorrW   r   rr   r+   r   s     r-   
test_0D_3DzTestSaveTxt.test_0D_3Dz  sY    IIj"*a!===j"*aQC!:,1G1GHHHHHr.   c                     t          j        ddgddg          }t                      }t          j        ||d           |                    d           t          |                                d	d
g           d S )Nr   r   r   r   rp   r   r  r   r  r  rW   rr   r   r   rR   r   r!  r+   rk   r   s      r-   test_structuredzTestSaveTxt.test_structured  sr    Hff%k;-GHHHII

1aT""""	q			Q[[]]Xx$899999r.   c                    t          j        ddgg d          }t                      }t          j        ||ddg         d           |                    d	           t          |                                d
dg           d S )Nr   ro   r  r  ))foor   )barr   )bazr   rp   r.  r0  r   r  r   s   1 3
s   4 6
r)  r*  s      r-   test_structured_paddedz"TestSaveTxt.test_structured_padded  s    Hi	* 3
 3
 3
    II

1a'T2222	q			Q[[]]Xx$899999r.   c                 ,   t          j        dg d          }|ddg         }t          d          5 }t          |          }t          j        ||           t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )Nrg   )r   r   )zf4rp   r   r3  .npyr   )rW   r   r   r   r   rX   r   )r+   rk   vpathr   s        r-   test_multifield_viewz TestSaveTxt.test_multifield_view  s    GADDDEEEsCjMV$$$ 	(::DGD!74==DtQ'''		( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   A	B		BBc                     t          j        ddgddgg          }t                      }t          j        ||dd           |                    d           t          |                                d	d
g           d S )N      ?       @      @      @,r   )	delimiterrD   r   s   1,2
s   3,4
r)  r*  s      r-   test_delimiterzTestSaveTxt.test_delimiter  sr    Hr2hR)**II

1a3D1111	q			Q[[]]Xx$899999r.   c                    t          j        ddg          }t                      }t          j        ||ddg           |                    d           t          |                                ddg           t                      }t          j        ||d	           |                    d           |                                }t          |d
dg           t                      }t          j        ||d	d           |                    d           |                                }t          |d
dg           t                      }t          t          t           j        ||d           d S )Nr   r   z%02dz%3.1fr  r   s   01 2.0
s   03 4.0
z%02d : %3.1fs	   01 : 2.0
s	   03 : 4.0
r>  )rD   r?  c   )	rW   rr   r   r   rR   r   r!  r   r%  r#  s       r-   test_formatzTestSaveTxt.test_format  s;   Hff%&&II

1afg.////	q			Q[[]][+$>??? II

1a^,,,,	q			U]M:;;; II

1a^s;;;;	q			U]M:;;; IIj"*a;;;;;;r.   c                    t                      }t          j        ddgt                    }d}t          j        ||d|           |                    d           t          |                                t          d|z   d	z                        t                      }t          j        ||d|
           |                    d           t          |                                t          d|z   dz                        t                      }d}t          j        ||d||           |                    d           t          |                                t          ||z   dz   dz                        t                      }d}t          j        ||d||           |                    d           t          |                                t          d|z   |z   dz                        d S )Nr   r   rp   zTest header / footerz%1d)rD   headerr   z# z	
1 2
3 4
)rD   footerz
1 2
3 4
# r  z% )rD   rE  commentsz1 2
3 4
)rD   rF  rG  )	r   rW   rr   rt   r   rR   r   readr#   )r+   r   rk   test_header_footer
commentstrs        r-   rI  zTestSaveTxt.test_header_footer  s    IIHff%S1113

1aU+=>>>>	q			QVVXXT$66GHH	J 	J 	J II

1aU+=>>>>	q			QVVXX^.@@4GHH	J 	J 	J II


1aU,z	C 	C 	C 	C	q			QVVXXZ*<<tClRSS	U 	U 	U II


1aU,z	C 	C 	C 	C	q			QVVXX\J69KKdRSS	U 	U 	U 	U 	Ur.   filename_typec                    t                      5 }t          j        ddg          }t          j         ||          |           t          j         ||                    }t          ||           d d d            d S # 1 swxY w Y   d S )Nr   r   )r   rW   rr   r   loadtxtr   )r+   rK  rP   rk   r   s        r-   test_file_roundtripzTestSaveTxt.test_file_roundtrip  s    ZZ 	%4&&)**AJ}}T**A...
==..//Aq!$$$		% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A"A>>BBc                    d}d}t          j        ||ft           j                  }t           j        }t           j        }|d|z  z   |d d <   t                      }t          j        ||d           |                    d           |                                }t          |ddg           t                      }t          j        ||d|z             |                    d           |                                }t          |d	d	g           t                      }t          j        ||d
g|z             |                    d           |                                }t          |ddg           d S )Nrn   rp                 ?z %+.3er  r   s8    ( +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)

rW   zeros
complex128pir  r   r   rR   r!  r   r+   ncolsnrowsrk   reimr   r7   s           r-   test_complex_arrayszTestSaveTxt.test_complex_arrays  s   HeU^2=999UTD2I~!!! II

1aX&&&&	q			IIK	L 	L 	L II

1a]U23333	q			BBD	E 	E 	E II

1an-56666	q			??A	B 	B 	B 	B 	Br.   c                 \   d}d}t          j        ||ft           j                  }t           j        }t           j        }|d|z  z
  |d d <   t                      }t          j        ||d           |                    d           |                                }t          |ddg           d S )Nrn   rp   rP  z%.3er  r   s0    (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
rQ  rU  s           r-   test_complex_negative_exponentz*TestSaveTxt.test_complex_negative_exponent
  s    HeU^2=999UTD2I~!!!II

1aV$$$$	q			AAC	D 	D 	D 	D 	Dr.   c                      G d dt                     } |            }t          j        ddg          }t          j        ||           t          j        |          }t          ||           d S )Nc                       e Zd Zd ZdS )4TestSaveTxt.test_custom_writer.<locals>.CustomWriterc                 V    |                      |                    d                     d S )N   
)extendsplit)r+   texts     r-   r0   z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.write  s&    DJJu--.....r.   N)r8   r9   r:   r0   r3   r.   r-   CustomWriterr_    s#        / / / / /r.   re  r   r   )listrW   rr   r   rM  r   )r+   re  wrk   r   s        r-   test_custom_writerzTestSaveTxt.test_custom_writer  s    	/ 	/ 	/ 	/ 	/4 	/ 	/ 	/ LNNHff%&&

1aJqMM1a     r.   c                 .   d                     d          }t          j        |gt          j                  }t	                      5 }t          j        t          j                            |d          |dgd           d d d            d S # 1 swxY w Y   d S )N   ϖUTF-8rp   test.csv%srD   encoding)	rA   rW   rr   str_r   r   r^   r7  r   )r+   utf8rk   tmpdirs       r-   test_unicodezTestSaveTxt.test_unicode(  s    !!'**HdV27+++YY 	)&Jrw||FJ77 ') ) ) )	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   8B

BBc           	      `   d                     d          }t          j        |gt          j                  }ddg}t          r|                    d           t          r|                    ddg           t                      5 }|D ]}t          j	        t          j                            |d	|z             |d
gd           t          j        t          j                            |d	|z             dt          j                  }t          ||           	 d d d            d S # 1 swxY w Y   d S )Nrj  rk  rp   r&   .gz.bz2.xz.lzmarl  rm  z	UTF-16-LErn  ro  rq   )rA   rW   rr   rp  HAS_BZ2r   HAS_LZMArb  r   r   r^   r7  r   rM  r   )r+   rq  rk   suffixesrr  r   r   s          r-   test_unicode_roundtripz"TestSaveTxt.test_unicode_roundtrip0  sq   !!'**HdV27+++; 	$OOF### 	.OOUG,---YY 	)&" ) )
27<<
V0CDDa $v= = = =Jrw||FJ4GHH(327D D D"1a(((()	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   BD##D'*D'c                 Z   d                     d          }t          j        |gt          j                  }t	                      }t          j        ||dgd           |                    d           t          |                                                     d          |dz              d S Nrj  rk  rp   rm  rn  r   r  )	rA   rW   rr   rp  r   r   rR   r   rH  r+   rq  rk   r,   s       r-   test_unicode_bytestreamz#TestSaveTxt.test_unicode_bytestreamA  s    !!'**HdV27+++II

1adVg6666	q			QVVXX__W--td{;;;;;r.   c                 4   d                     d          }t          j        |gt          j                  }t	                      }t          j        ||dgd           |                    d           t          |                                |dz              d S r  )	rA   rW   rr   rp  r   r   rR   r   rH  r  s       r-   test_unicode_stringstreamz%TestSaveTxt.test_unicode_stringstreamI  s    !!'**HdV27+++JJ

1adVg6666	q			QVVXXtd{+++++r.   iotypec                 F   t          j        dg          } |            }t          j        ||d           |                    d           |t          u r't          |                                ddz             d S t          |                                ddz             d S )Nr:  %fr  r   z%f
s   %f
)rW   rr   r   rR   r   r   rH  )r+   r  rk   r,   s       r-   test_unicode_and_bytes_fmtz&TestSaveTxt.test_unicode_and_bytes_fmtQ  s     HbTNNFHH

1aT""""	q			X6B;/////7R<00000r.   rM   zfiles>4GB may not workr~   g   `A)
free_bytesc                 V   d }t          t                    }t          d          }|                    ||f          }|                                 |                                 |j        rt          d          |j        dk    rt          j
        d           |j        dk    sJ d S )Nc                 \   d| _         	 t          j        d t          d          D             t                    }t                      5 }t          j        t          j        	                    |d          |           d d d            d S # 1 swxY w Y   d S # t          $ r	 d| _          w xY w)NFc                     g | ]@}t           j                            t           j                            d d          d          AS )2   r   ro   )rW   r   randrandintr   s     r-   r5   zGTestSaveTxt.test_large_zip.<locals>.check_large_zip.<locals>.<listcomp>f  sW     (@ (@ (@,- )+	(*	(9(9"S(A(A!)E )E (@ (@ (@r.   i 5 rp   ztest.npz)	test_dataT)valuerW   asarrayr   ry   r   r   r^   r7  r   MemoryError)memoryerror_raisedr  rr  s      r-   check_large_zipz3TestSaveTxt.test_large_zip.<locals>.check_large_zipa  s   ',$ J (@ (@16v(@ (@ (@GMO O O	 YY 2&HRW\\&*=='02 2 2 22 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2    +/"(s0   A B 	5B>B BB BB B+forkr   z,Child process raised a MemoryError exceptionzCsubprocess got a SIGKILL, apparently free memory was not sufficientr   )r   r
   r	   Processr   r   r  r  exitcoder   xfail)r+   r  r  ctxps        r-   test_large_zipzTestSaveTxt.test_large_zip]  s    	 	 	" #6]]
 &!!KK6H5JKKK					# 	NLMMM:L^___zQr.   N)"r8   r9   r:   rw   r}   r'  r+  r1  r8  r@  rC  rI  r   r   r  r   strrN  rZ  r\  rh  rs  r}  r  r  r   r   r  r   rS   rT   r   r!   r  r3   r.   r-   r  r  a  s       : : : > > >I I I
: : :: : :( ( (: : :< < <4 U  U  UD [_tSk::% % ;:%$B $B $BLD D D$
! 
! 
!) ) )) ) )"< < <, , , [X'':;;	1 	1 <;	1 [g-6NOO[_$$$    %$  PO     r.   r  c                       e Zd Zd Zd Zej                            e d          d             Z	ej                            e
 d          d             Zd Zd	 Zd
 Zd Zd ZdS )LoadTxtBasec           	      &   t          j        d                              d          }d}|D ]}d|z   dz   }|D ]}t          |          5 } ||dd	          5 }	|	                    |           d d d            n# 1 swxY w Y   |                     |d
          }
t          |
|            ||dd
          5 }	|                     |	          }
d d d            n# 1 swxY w Y   t          |
|           d d d            n# 1 swxY w Y   ،d S )Nr  rn   r>   r  z
0 1 23 4 5r   wtz	UTF-32-LE)modero  ro  rt)rW   arangereshaper   r0   loadfuncr   )r+   fopenr|  wantedlinesepsepr   r   rP   r   ress              r-   check_compressedzLoadTxtBase.check_compressed  s   1%%f--& 
	4 
	4CS=7*D" 4 4V,,, 4t$EEE && & & & & & & & & & & & & & &--{-CCC&sF333tT[AAA /Q"mmA../ / / / / / / / / / / / / / /&sF3334 4 4 4 4 4 4 4 4 4 4 4 4 4 44
	4 
	4sZ   
DA;	/D;A??DA?8D;C	DC!!D$C!%DDDc                 F    |                      t          j        d           d S )N)ru  )r  gzipr   r+   s    r-   test_compressed_gzipz LoadTxtBase.test_compressed_gzip  s     di22222r.   z	Needs bz2r~   c                 F    |                      t          j        d           d S )N)rv  )r  bz2r   r  s    r-   test_compressed_bz2zLoadTxtBase.test_compressed_bz2  s     ch	22222r.   z
Needs lzmac                 F    |                      t          j        d           d S )N)rw  rx  )r  lzmar   r  s    r-   test_compressed_lzmaz LoadTxtBase.test_compressed_lzma  s!    di)9:::::r.   c                 F   t                      5 }t          |d          5 }|                    d                    d                     d d d            n# 1 swxY w Y   |                     |d          }t          |g d           d d d            d S # 1 swxY w Y   d S )Nr   z0.
1.
2.UTF-16r  )        r:  r;  )r   r   r0   encoder  r   )r+   r7  r   r   s       r-   test_encodingzLoadTxtBase.test_encoding  s   ZZ 	04dD!! 7Q++H556667 7 7 7 7 7 7 7 7 7 7 7 7 7 7dX66Aq,,,///		0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0s4   B)A	BA	BA	,BBBc                    d                     d          }t                      5 }t          |d          5 }|                    |                    d                     d d d            n# 1 swxY w Y   |                     |dt          j                  }t          ||           d d d            d S # 1 swxY w Y   d S )Ns   öüörk  r   r  ry  )	rA   r   r   r0   r  r  rW   rp  r   )r+   nonasciir7  r   r   s        r-   test_stringloadzLoadTxtBase.test_stringload  s)   .55g>>ZZ 	,4dD!! 3Q112223 3 3 3 3 3 3 3 3 3 3 3 3 3 3dXRWEEAq(+++		, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,s4   B4)A*B4*A.	.B41A.	25B44B8;B8c                     d}|                      t          |          t          j        d          }t	          |t          j        |                    d                                                               d S Ns   h  i  jr  rq   ro  )r  r   rW   rp  r   rr   rA   rc  r+   utf16r6  s      r-   test_binary_decodezLoadTxtBase.test_binary_decode  s^    4MM'%..(MKK1bhu||H'='='C'C'E'EFFGGGGGr.   c                 2   t                      }|                    d           |                    d           |                     |t          j        ddd i          }t	          j        d                    d          g          }t          ||           d S )Nrj  r   r@   c                 ,    |                      d          S )Nrk  rA   r   s    r-   <lambda>z4LoadTxtBase.test_converters_decode.<locals>.<lambda>  s    188G3D3D r.   )rq   ro  
convertersrk  )	r%   r0   rR   r  rW   rp  rr   rA   r   r+   r   r   rk   s       r-   test_converters_decodez"LoadTxtBase.test_converters_decode  s    HH		q			MM!27W&')D)D%E  G GHk((112331a     r.   c                    d                     d          }t                      5 }t          |dd          5 }|                    |           d d d            n# 1 swxY w Y   |                     |t
          j        dd id          }t          j        |dz   g          }t          ||           d d d            d S # 1 swxY w Y   d S )	Nrj  rk  r  r  r   c                     | dz   S )Nr   r3   r  s    r-   r  z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>  s
    q3w r.   rq   r  ro  r   )	rA   r   r   r0   r  rW   rp  rr   r   )r+   rq  r7  r   r   rk   s         r-   test_converters_nodecodez$LoadTxtBase.test_converters_nodecode  sJ   !!'**ZZ 	%4dD7333 q              d"'*+->->)?'.  0 0A $*&&Aq!$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s5   B?AB?A	B? A	!AB??CCN)r8   r9   r:   r  r  r   r   r   rz  r  r{  r  r  r  r  r  r  r3   r.   r-   r  r    s        4 4 4 3 3 3 [GK883 3 983 [H\::; ; ;:;0 0 0, , ,H H H
! ! !
% 
% 
% 
% 
%r.   r  c                   T   e Zd Z eej                  Zd Zd Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zej                            eoej        j        dk    d          d             Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d Z#d Z$d Z%ej                            eoej        j        dk    d          d             Z&ej                            eoej        j        dk    d          d             Z'd Z(d Z)d  Z*d! Z+d" Z,d# Z-d$ Z.d% Z/d& Z0ej                             e1j2                    d'k    d(          d)             Z3d* Z4d+ Z5d, Z6d- Z7ej        8                    d.d/gd0g d1fd0g d2fd0 e9d3          fd4g d5fd4g d6fd4 e9d7          fg          d8             Z:d9S ):TestLoadTxtc                 @    t           j        | _        dt           _        d S Nrg   )r   _loadtxt_chunksize
orig_chunkr  s    r-   setup_methodzTestLoadTxt.setup_method  s    %8)*&&&r.   c                 (    | j         t          _        d S r(   )r  r   r  r  s    r-   teardown_methodzTestLoadTxt.teardown_method  s    )-&&&r.   c                     t                      }|                    d           |                    d           t          j        |dt          j        fdt          j        fg          }t          j        ddgdd	g          }t          ||           t                      }|                    d
           |                    d           ddd}t          j        ddg|          }t          j        ||          }t          ||           d S )N1 2
3 4r   r   r   rp   r   r   r   r   zM 64 75.0
F 25 60.0genderageweightS1r   r4  namesformatsM      P@     R@F      9@      N@)r%   r0   rR   rW   rM  int32rr   r   )r+   r   r   rk   dmydescriptorr   r   s           r-   r   zTestLoadTxt.test_record  s
   HH	
	q			Jq#rx3/ BCCCHff%k;-GHHH1a   HH	&'''	q			!<#57 7H'')0<> > >Jq---1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
                    }t          j        ddgddggt
                    }t          ||           |                    d           t          j        |t                    }t          j        ddgddggt                    }t          ||           d S )Nr  r   rp   rg   rn   r>   ro   )	r%   r0   rR   rW   rM  rt   rr   r   rs   r  s       r-   rw   zTestLoadTxt.test_array  s    HH	
	q			Jq$$$Hq!fq!f%s++1a   	q			Jq&&&Hq!fq!f%u--1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
                    }t          j        g dt
                    }t          ||           t                      }|                    d           |                    d           t          j        |t
          d          }t          j        g dt
                    }t          ||           d S )N1
2
3
4
r   rp   r|   1,2,3,4
r>  rq   r?  r%   r0   rR   rW   rM  rt   rr   r   r  s       r-   r}   zTestLoadTxt.test_1D  s    HH		q			Jq$$$H\\\3''1a   HH		q			Jqs333H\\\3''1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
          ddd i          }t          j        g dt
                    }t          ||           d S )N	1,2,3,,5
r   r>  r>   c                 $    t          | pd          S Nrt   r,   s    r-   r  z*TestLoadTxt.test_missing.<locals>.<lambda>	      AJ r.   rq   r?  r  rg   rn   r>   r   r  r  r  s       r-   test_missingzTestLoadTxt.test_missing  s    HH		q			Jqs#$&?&?"@B B BH'''--1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
          ddd id          }t          j        dd	gd
dggt
                    }t          ||           d S )N1,2,3,,5
6,7,8,9,10
r   r>  r>   c                 $    t          | pd          S r  r  r  s    r-   r  z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>  r  r.   rg   r>   rq   r?  r  usecolsrn   r      	   r  r  s       r-   test_converters_with_usecolsz(TestLoadTxt.test_converters_with_usecols  s    HH	()))	q			Jqs#$&?&?"@&( ( ( Hq$i!Q(#..1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           d S )N# comment
1,2,3,5
r   r>  #rq   r?  rG  rg   rn   r>   r  r  r  s       r-   test_comments_unicodez!TestLoadTxt.test_comments_unicode  sw    HH	&'''	q			Jqs #% % %H\\\3''1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           d S )Nr  r   r>     #r  r  r  r  s       r-   test_comments_bytezTestLoadTxt.test_comments_byte   sw    HH	&'''	q			Jqs $& & &H\\\3''1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
          dg d          }t          j        g dg dgt
                    }t          ||           d S )Nz,# comment
1,2,3
@ comment2
4,5,6 // comment3r   r>  )r  @z//r  r   r-  r  r  s       r-   test_comments_multiplez"TestLoadTxt.test_comments_multiple)  s    HH	ABBB	q			Jqs 0 0 02 2 2Hiii+S111a     r.   )r  r>      zPyPy bug in error formattingr~   c                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           t                      }|                    d           |                    d           t          t          t          j        |t
          dd           d S )Nz/* comment
1,2,3,5
r   r>  z/*r  r  z*/ comment
1,2,3,5
)
r%   r0   rR   rW   rM  rt   rr   r   r   r%  r  s       r-   test_comments_multi_charsz%TestLoadTxt.test_comments_multi_chars2  s     HH	'(((	q			Jqs $& & &H\\\3''1a    HH	'(((	q			j"*asc#	% 	% 	% 	% 	% 	%r.   c                 
   t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           d S )Ncomment
1,2,3,5
r   r>  rg   )rq   r?  skiprowsr  r  r  r  s       r-   test_skiprowszTestLoadTxt.test_skiprowsD  s    HH	$%%%	q			Jqs !# # #H\\\3''1a   HH	&'''	q			Jqs !# # #H\\\3''1a     r.   c           
         t          j        ddgddggt                    }t                      }t          j        ||           |                    d           t          j        |t          d          }t          ||d d df                    t          j        g dg d	gt                    }t                      }t          j        ||           |                    d           t          j        |t          d
          }t          ||d d dd f                    |                    d           t          j        |t          t          j        ddg                    }t          ||d d dd f                    t          t           j	        t           j
        t           j        t           j        t           j        t           j        t           j        t           j        f	D ]X} |d          }|                    d           t          j        |t          |          }t          ||d d df                    Y G d d          } |            }|                    d           t          j        |t          |          }t          ||d d df                    |                    d           t          j        |t          |f          }t          ||d d df                    d}t#          |          }ddg}	ddg}
t          j        |dt%          t'          |	|
                              }t)          |d         ddg           t)          |d         ddg           |                    d           d}t+          t,          dt/          |          j        z  t           j        ||           t+          t,          dt/          |          j        z  t           j        |d|dg           d S )Nrg   rn   r>   ro   r   rg   rq   r  r   r>   ro   r  r   c                       e Zd Zd ZdS )*TestLoadTxt.test_usecols.<locals>.CrazyIntc                     dS r  r3   r  s    r-   	__index__z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__t  s    qr.   N)r8   r9   r:   r*  r3   r.   r-   CrazyIntr(  s  s#            r.   r+  z<JOE 70.1 25.3
                BOB 60.5 27.9
                stidtempS4f8r   rn   r  rq      JOE   BOBL9@fffff;@      ?z^usecols must be.*%sr  )rW   rr   rs   r   r   rR   rM  r   rt   int8int16r  int64r   uint16uint32uint64r%   rf  r
  r   r   	TypeErrorr?   r8   )r+   rk   r   r   int_typeto_readr+  	crazy_intr   r  dtypesrY   	bogus_idxs                r-   test_usecolszTestLoadTxt.test_usecolsU  s   Hq!fq!f%u--II

1a	q			Jqt4441a1g&&&Hiii+U33II

1a	q			Jqv6661a122h''' 	
q			JqrxA/?/?@@@1a122h''' bgrx28RXryBI/ 	+ 	+H hqkkGFF1III
1E7;;;Aq!AAAqD'****	 	 	 	 	 	 	 	 HJJ		q			Jqy9991a1g&&&	q			Jq	|<<<1a1g&&& 4LL jF$s5&7I7I2J2JKKKS[66"2333S[4,/// 	
q				"T)__%==J9	 	 	 	 	"T)__%==JAy!#4	 	 	 	 	 	r.   c                    t          j        t                    5  t          j        dgdgd           d d d            n# 1 swxY w Y   t          j        t
          t          f          5  t          j        dgdgd           d d d            n# 1 swxY w Y   t          j        t          d          5  t          j        dgd	d
gd           d d d            d S # 1 swxY w Y   d S )Nz1
l            r>  )r  r?  l            zQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r   z1,1
zi,2ir   )rq   r  r?  )r   r   OverflowErrorrW   rM  r%  r>  r  s    r-   test_bad_usecolszTestLoadTxt.test_bad_usecols  s   ]=)) 	@ 	@Jw3????	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@]J677 	@ 	@Jw3????	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ ]934 4 4 	L 	L JysKKKK	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	L 	Ls5   A  AA+BBB7CC#&C#c                 P   t                      }|                    d           |                    d           t          j        dt
          fddt
          fdt          fgfg          }t          j        ||d          }t          j        d	d
g|          }t          ||           d S )N1,2,3.0
4,5,6.0
r   r   r   r   r,   r>  r  rg   )rn   r<  ro   )r        @)
r%   r0   rR   rW   rq   rt   rs   rM  rr   r   r+   r   r   r   rk   s        r-   test_fancy_dtypezTestLoadTxt.test_fancy_dtype  s    HH	$%%%	q			XSzC3*sEl)C#DEFFJqc222Hm]3R881a     r.   c                    t          d          }t          j        ddt          fdt          fdt          dfg          }t          j        ||          }t          j        dd	d
g dg dgfg|          }t          ||           d S Nzaaaa  1.0  8.0  1 2 3 4 5 6rP   r.  r   r   blockr  rp   aaaar:         @r   r-  r%   rW   rq   rs   rt   rM  rr   r   rM  s        r-   test_shaped_dtypezTestLoadTxt.test_shaped_dtype  s    011X~U|c5\f-/ 0 0Jq###HvsC)))YYY)?@A  1a     r.   c           	         t          d          }t          j        ddt          fdt          fdt          dfg          }t          j        ||          }t          j        dd	d
g dg dgg dg dggfg|          }t          ||           d S )Nz*aaaa  1.0  8.0  1 2 3 4 5 6 7 8 9 10 11 12rQ  r   r   rR  )rn   rn   r>   rp   rS  r:  rT  r   r-  )r  r  r  )
         rU  rM  s        r-   test_3d_shaped_dtypez TestLoadTxt.test_3d_shaped_dtype  s    ?@@X~U|c5\i02 3 3Jq###HvsC"III.LLL0IJL M   	1a     r.   c                     ddg}t           t          j        fD ]@}t          j        ddg|          }t          j        ||          }t          ||           Ad S )Nstr1str2rp   )r  rW   bytes_rr   rM  r   )r+   r   r   rk   r   s        r-   test_str_dtypezTestLoadTxt.test_str_dtype  sl    V	" 	% 	%B&&)444A
1B'''Aq!$$$$	% 	%r.   c                    t          j        t          d          5  t                      }t	          j        |          }t          |j        d           t	          j        |t          j                  }t          |j        d           t          |j
        t          j        k               d d d            d S # 1 swxY w Y   d S )Ninput contained no datar   r   rp   )r   warnsr   r%   rW   rM  r   ri   r:  r   rq   )r+   r   r   s      r-   test_empty_filezTestLoadTxt.test_empty_file  s    \+-FGGG 	) 	)A
1A$'''
1BH---A$'''AGrx'(((	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	) 	)s   BB88B<?B<c                 T   t                      }|                    ddg           |                    d           t          j        |ddd i          }t          |ddg           |                    d           t          j        |dd	d
 i          }t          |ddg           d S )Nz1 21
z3 42
r   r$  c                 "    t          | d          S N   r  r  s    r-   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>      3q":: r.   r  r     *   rg   c                 "    t          | d          S rh  r  r  s    r-   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>  rj  r.   !   B   )r%   r6   rR   rW   rM  r   )r+   r   r   s      r-   test_unused_converterz!TestLoadTxt.test_unused_converter  s    HH	h)***	q			z!T&')=)=%>@ @ @4"b***	q			z!T&')=)=%>@ @ @4"b*****r.   c           	         d}dt           fdt          fg}d }d|i}t          j        t	          |          d||          }t          j        dt          ddd          fd	t          d
dd          fg|          }t          ||           d S )N0 1; 2001-01-01
                   2; 2002-01-31 idxcodec                 F    t          |                                 d          S Nz%Y-%m-%drC   stripr  s    r-   r  z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>      !''))Z88 r.   rg   ;r?  rq   r    rn        rp   )rt   ry   rW   rM  r%   rr   r   r   r+   r   ndtypefuncr  testcontrols          r-   test_dtype_with_objectz"TestLoadTxt.test_dtype_with_object  s    %#, 0188Y
z&,,#V%/1 1 1($1%%&HT1b,A,A(BC   	T7#####r.   c                     d}t                      }|                    d|z             |                    d           t          j        |t          j                  }t          ||           d S )N)l   +&|    l   -(|    %s %sr   rp   )r%   r0   rR   rW   rM  r=  r   r+   tgtr   r  s       r-   test_uint64_typezTestLoadTxt.test_uint64_type  sa    8HH	#	q			j"),,,S#r.   c                     d}t                      }|                    d|z             |                    d           t          j        |t          j                  }t          ||           d S )N)l l    r  r   rp   )r%   r0   rR   rW   rM  r:  r   r  s       r-   test_int64_typezTestLoadTxt.test_int64_type  sa    9HH	#	q			j"(+++S#r.   c                 .   t          j        ddd                              t           j                  }t          j        || f                              t
                    }d                    t          t
          j        |                    }t                      }|
                    |           t
          t           j        fD ]N}|                    d           t          j        ||t
          j        d          }t          ||d|z  	           Od S )
NirX  r  r  r   r=   r  rm  )err_msg)rW   logspaceastypefloat32hstackrs   r   maphexr%   r0   rR   rM  fromhexr   )r+   r  inpr   r   r  s         r-   test_from_float_hexzTestLoadTxt.test_from_float_hex  s     k#r1%%,,RZ88isd$$++E22iiEIs++,,HH	"*% 	6 	6BFF1III*J J JCc4"955555		6 	6r.   c                     t          d          }t          j        t          d          5  t	          j        |           ddd           dS # 1 swxY w Y   dS )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.
        za b cz2.*convert string 'a' to float64 at row 0, column 1r   Nr%   r   r   r%  rW   rM  r&  s     r-   6test_default_float_converter_no_default_hex_conversionzBTestLoadTxt.test_default_float_converter_no_default_hex_conversion  s     7OO]:JL L L 	 	JqMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	   AAAc                     t          d          }t          j        t          d          5  t	          j        |           ddd           dS # 1 swxY w Y   dS )z
        Ensure that the exception message raised during failed floating point
        conversion is correct. Regression test related to gh-19598.
        zqrs tuvz)could not convert string 'qrs' to float64r   Nr  r&  s     r-   &test_default_float_converter_exceptionz2TestLoadTxt.test_default_float_converter_exception  s     9]:AC C C 	 	JqMMM	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	r  c                    t          dd          t          dd          f}t                      }|                    d|z             |                    d           t	          j        |t                     }t          ||           d S )Nrg   r  r   rp   )r   r%   r0   rR   rW   rM  r   r  s       r-   test_from_complexzTestLoadTxt.test_from_complex$  st    q!}}gann-HH	#	q			j'***S#r.   c                 R   t          j        dt           j                  }t           j        }t           j        }|d|z  z
  |d d <   t                      }t          j        ||d           |                    d           |                                }|                    d           |	                    dd          }t          ||k               |                    |           |                    d           t          j        |t                    }t          ||           d S )	Nrn   rn   rp   rP  z%.16er  r   s   e+00-s   e00+-)rW   rR  rS  rT  r  r   r   rR   rH  replacer   r0   rM  r   r   )r+   rk   rX  rY  r   txttxt_badr  s           r-   test_complex_misformattedz%TestLoadTxt.test_complex_misformatted,  s     HV2=111UTD2I~!!!II

1aW%%%%	q			ffhh	q			++h113		q			j'***S!r.   c                     t                      5 }t          |d          5 }|                    d           d d d            n# 1 swxY w Y   t          j        |          }d d d            n# 1 swxY w Y   t          |ddgddgg           d S )Nrg  z
1 213 42rg   rl  r>   rm  )r   r   r0   rW   rM  r   )r+   rP   r   r   s       r-   test_universal_newlinez"TestLoadTxt.test_universal_newline@  s   ZZ 	$4dC (A'''( ( ( ( ( ( ( ( ( ( ( ( ( ( (:d##D	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	$ 	41b'Ar7!344444s3   A-AA-A	A-	A	
A--A14A1c                    t                      }|                    d           |                    d           ddd}t          j        ||d          }t          j        g d          }t          |d	         |           d S )
Nz 1 	2 	3	start 
4	5	6	  
7	8	9.5	r   )r   r   r3  comment)<i4r  <f4|S8r  	r  )s   start s     r.   r  )r%   r0   rR   rW   rM  rr   r   rM  s        r-   test_empty_field_after_tabz&TestLoadTxt.test_empty_field_after_tabG  s    HH	=>>>	q			157 7Jqd333H,,,--1Y<+++++r.   c                    t          d          }ddd}t          j        ||d          \  }}}t          |j        j        dk               t          |j        j        dk               t          |j        j        d	k               t          |t          j        d
dg                     t          |t          j        ddg                     t          |t          j        ddg                     d S )NM 21 72
F 35 58rk   r   r   )|S1r  r  r  Trq   unpackr  r  r     M   Frl  #         R@      M@)r%   rW   rM  r   rq   r  r   rr   r+   r  r   rk   r   r   s         r-   test_unpack_structuredz"TestLoadTxt.test_unpack_structuredQ  s    '((&3HII*S48881au$%%%u$%%%u$%%%1bhd|445551bhBx001111bhc{3344444r.   c                    t                      }|                    d           |                    d           t          t          t
          j        |d           |                    d           t          t          t
          j        |d           |                    d           t          j        |t          dd          }t          j        g d	g d
g          }t          ||           t                      }|                    d           |                    d           t          j        |t          dd          }t          |j        dk               |                    d           t          j        |t          dd          }t          |j        dk               |                    d           t          j        |t          dd          }t          |j        dk               t                      }|                    d           |                    d           t          j        |t          dd          }t          |j        dk               |                    d           t          j        |t          dd          }t          |j        dk               |                    d           t          j        |t          dd          }t          |j        dk               t          j        t          d          5  t                      }t          t          j        |d          j        dk               t          t          j        |d          j        dk               d d d            d S # 1 swxY w Y   d S )Nz1,2,3
4,5,6r   r>   ndminr6  r>  rg   )rq   r?  r  r   r-  z0,1,2rn   r
  )r>   z0
1
2)r>   rg   rb  r   r   rg   rc  )r%   r0   rR   r   r%  rW   rM  rt   rr   r   r   ri   r   rd  r   )r+   r   r   rk   r  r  r   s          r-   test_ndmin_keywordzTestLoadTxt.test_ndmin_keyword\  s)   HH		q			j"*aq9999	q			j"*as;;;;	q			Jqs!<<<Hiii+,,1a   HH		q			Jqs!<<<6!"""	q			Jqs!<<<4   	q			Jqs!<<<4   HH			q			Jqs!<<<6!"""	q			Jqs!<<<4   	q			Jqs!<<<4    \+-FGGG 	: 	:ABJq***0G;<<<BJq***0D8999	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	: 	:s   A'M??NNc                     d }t          j         |                      }t          |t          j        d                     d S )Nc               3   <   K   t          d          D ]	} d| z  V  
d S NrX  r   )r   r   s    r-   r  z0TestLoadTxt.test_generator_source.<locals>.count  s4      2YY  Qh r.   rX  )rW   rM  r   r  r+   r  r  s      r-   test_generator_sourcez!TestLoadTxt.test_generator_source  sF    	 	 	 j!!3	".....r.   c                     t                      }|                    d           |                    d           t          t          dt
          j        |           d S )Nz1 2 3
4 5 6
2 3r   3)r%   r0   rR   r   r%  rW   rM  r&  s     r-   test_bad_linezTestLoadTxt.test_bad_line  sK    HH	#$$$	q			 	JRZ;;;;;r.   c                     t                      }|                    d           |                    d           t          j        dt
          fddt
          fg          }t          j        |d|d            d S )Nz100,foo,200
300,None,400r   r   )rk   S10r   r>  )r?  rq   rG  )r%   r0   rR   rW   rq   rt   rM  )r+   r   r   s      r-   test_none_as_stringzTestLoadTxt.test_none_as_string  sj    HH	+,,,	q			XSz<#s<==

12======r.   zANSI_X3.4-1968zWrong preferred encodingc                    d}|                     d                              dd                                          }t                      5 }t	          |d          5 }|                    |           d d d            n# 1 swxY w Y   t	          |d          5 }t          j        |dt          j                  }d d d            n# 1 swxY w Y   t          ||           t	          |d          5 }t          j        |dd          }d d d            n# 1 swxY w Y   g d	}t          |t          j
        |d
                     d d d            d S # 1 swxY w Y   d S )Ns/   5,6,7,Õscarscar
15,2,3,hello
20,2,3,Õscar
rk  r  r&   r   r   ry  S)s   5,6,7,Õscarscars   15,2,3,hellos   20,2,3,Õscarrp   )rA   r  
splitlinesr   r   r0   rW   rM  rp  r   rr   )r+   butf8sutf8r7  r   r   s         r-   test_binary_loadzTestLoadTxt.test_binary_load  sN   +W%%--dB77BBDDZZ 
	:4dD!! Q              dD!! CQJq7"'BBBC C C C C C C C C C C C C C Cq%(((dD!! ?QJq7#>>>? ? ? ? ? ? ? ? ? ? ? ? ? ? ?TTTAq"(1C"8"8"8999
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	: 
	:s~   EA?3E?B	EB	E"C<EC	EC	#E3DED	ED	+EEEc                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dt
                    }t          ||           d S )N1,2,3,5
4,5,7,8
2,1,4,5r   r>  rg   rq   r?  max_rowsr  r  r  s       r-   test_max_rowszTestLoadTxt.test_max_rows  sw    HH	+,,,	q			Jqs !# # #H\\\3''1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
          ddd          }t          j        g dt
                    }t          ||           t                      }|                    d           |                    d           t          j        |t
          ddd          }t          j        g dg d	gt
                    }t          ||           d S )
Nz comments
1,2,3,5
4,5,7,8
2,1,4,5r   r>  rg   rq   r?  r!  r  r  comment
1,2,3,5
4,5,7,8
2,1,4,5rn   ro   r  r  r  r  r  s       r-   test_max_rows_with_skiprowsz'TestLoadTxt.test_max_rows_with_skiprows  s    HH	5666	q			Jqs !A/ / /H\\\3''1a   HH	4555	q			Jqs !A/ / /HlllLLL13771a     r.   c                    t                      }|                    d           |                    d           t          j        |t
          dd          }t          j        g dg dgt
                    }t          ||           t          j        |t
          d          }t          j        g d	t
                    }t          ||           d S )
Nr  r   r>  rn   r  r  r  r  rn   rg   ro   r  r  r  s       r-   $test_max_rows_with_read_continuationz0TestLoadTxt.test_max_rows_with_read_continuation  s    HH	+,,,	q			Jqs !# # #HlllLLL13771a   Jqs333HYYY$$1a     r.   c                    t                      }|                    d           |                    d           t          j        |t
          ddd          }t          j        g dg dg d	gt
                    }t          ||           d S )
Nr  r   r>  rg   r  r  r  r  r  r  r  s       r-   test_max_rows_largerz TestLoadTxt.test_max_rows_larger  s    HH	4555	q			Jqs !A/ / /HlllLLL,,,?EE1a     r.   skipr   rg   )zignored
1,2
r  3,4
)ignored1,2r&   3,4zignored
1,2

3,4r   )z-1,0
r  r  r  )z-1,0r  r&   r  z-1,0
1,2

3,4c           
         t          j        t          dd|z
             5  t          j        |t
          |dd|z
            }t          |ddgdd	gdd
gg|d                     d d d            n# 1 swxY w Y   t          |t                    r|	                    d           t          j                    5  t          j        dt                     t          j        t                    5  t          j        |t
          |dd|z
             d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )NzInput line 3.*max_rows=r>   r   r>  )rq   r!  r?  r  r  r   rg   rn   ro   error)r   rd  r   rW   rM  rt   r   rU   r   rR   r   r   simplefilterr   )r+   r  r   r  s       r-   test_max_rows_empty_linesz%TestLoadTxt.test_max_rows_empty_lines  s    \+<AdF<<> > > 	F 	F*Tts&'f. . .Csb!Wq!fq!f$=dee$DEEE		F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F dH%% 	IIaLLL$&& 	, 	,!';777{++ , ,
4sTS$%dF, , , ,, , , , , , , , , , , , , , ,	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	, 	,sH   AA11A58A594D3-"DD3D	D3"D	#D33D7:D7N);r8   r9   r:   staticmethodrW   rM  r  r  r  r   rw   r}   r  r  r  r  r  r   r   r   r   rS   implementationversionr  r"  rD  rG  rN  rV  r[  r`  re  rq  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  localegetpreferredencodingr  r  r  r  r  r  r   r  r3   r.   r-   r  r    s       |BJ''H+ + +
9 9 9! ! !$! ! !! ! !! ! !! ! !! ! !! ! !! ! ! [KC$6$>)$K=  ? ?% %? ?% ! ! !"C C CJ	L 	L 	L! ! !! ! !! ! !% % %) ) )+ + +$ $ $    6 6 6 [KC$6$>)$K=  ? ? ? ? [KC$6$>)$K=  ? ? ? ?    (5 5 5, , ,	5 	5 	5(: (: (:T/ / /< < <> > > [33559II9  ; ;: :; ;: ! ! !! ! !"! ! !! ! ! [ff-5556---..//02223***++,,-0/ 0 0, ,0 0, , ,r.   r  c                   x    e Zd Zd Zd Zd Zej                            de	e
g          d             Zd Zd ZdS )	Testfromregexc                    t                      }|                    d           |                    d           dt          j        fdg}t          j        |d|          }t          j        g d|          }t          ||           d S )Nz1.312 foo
1.534 bar
4.444 quxr   numvalS3z([0-9.]+)\s+(...)))ˡE?r.  g%C?r/  g-@quxrp   r%   r0   rR   rW   float64	fromregexrr   r   rM  s        r-   r   zTestfromregex.test_record  s    HH	1222	q			bj!=1L0"55HEEE  1a     r.   c                    t                      }|                    d           |                    d           dt          j        fdg}t          j        |d|          }t          j        g d|          }t          ||           d S )N1312 foo
1534 bar
4444 quxr   r  r  z(\d+)\s+(...)))   r.  )  r/  )\  r  rp   )r%   r0   rR   rW   r  r  rr   r   rM  s        r-   test_record_2zTestfromregex.test_record_2  s    HH	.///	q			bh/L,b11HBBB  1a     r.   c                    t                      }|                    d           |                    d           dt          j        fg}t          j        |d|          }t          j        g d|          }t          ||           d S )Nr  r   r  z(\d+)\s+...))r  )r  )r  rp   r  rM  s        r-   test_record_3zTestfromregex.test_record_3  s    HH	.///	q			bj!"LNB//H000;;;1a     r.   	path_typec                 T   d}t                      5 } ||          }t          |d          5 }|                    d|z   dz              d d d            n# 1 swxY w Y   dt          j        fdg}t          j        |d|d	          }t          j        d
d|                    d          z   fddg|          }t          ||           t          j
        dt          j                  }	t          j        ||	|d	          }t          ||           d d d            d S # 1 swxY w Y   d S )Nrj  r   s	   1.312 foos    
1.534 bar
4.444 quxr  )r  U4z(?u)([0-9.]+)\s+(\w+)rk  r  r  r.  r  r  rp   z([0-9.]+)\s+(\w+))r   r   r0   rW   r  r  rr   rA   r   rX  compileUNICODE)
r+   r  rq  str_pathr7  r   r   r   rk   regexps
             r-   test_record_unicodez!Testfromregex.test_record_unicode  s   ZZ 	%89X&&DdD!! JQt+.HHIIIJ J J J J J J J J J J J J J J "*%}5BT#;R'RRRA5%$++g*>*>">?)+246 6 6Aq!$$$Z 4bjAAFT62@@@Aq!$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s5   DA	DA	DA	B3DD!$D!c                     t          j        d          }t          d          }dt          j        fg}t          j        g d|          }t          j        |||          }t          ||           d S )N   (\d)   123r  r   rp   )rX  r  r   rW   r  rr   r  r   )r+   r  r   r   rk   r   s         r-   test_compiled_bytesz!Testfromregex.test_compiled_bytes-  sl    H%%FOObj!"HYYYb)))LFB''1a     r.   c                     t          j        d          }t          d          }t          j        t
          d          5  t          j        ||t          j                   d d d            d S # 1 swxY w Y   d S )Nr  r  zstructured datatyper   rp   )	rX  r  r   r   r   r>  rW   r  r  )r+   r  r   s      r-   test_bad_dtype_not_structuredz+Testfromregex.test_bad_dtype_not_structured5  s    H%%FOO]9,ABBB 	6 	6LF"*5555	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6 	6s   "A..A25A2N)r8   r9   r:   r   r  r  r   r   r  r  r   r  r  r  r3   r.   r-   r  r    s        	! 	! 	!	! 	! 	!! ! ! [[3+66% % 76%"! ! !6 6 6 6 6r.   r  c                   ,   e Zd Z eej                  Zd Zd Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Ze j!        "                    d          d             Z#d Z$d Z%d Z&d Z'd  Z(d! Z)d" Z*d# Z+d$ Z,d% Z-d& Z.d' Z/d( Z0d) Z1d* Z2d+ Z3d, Z4d- Z5d. Z6d/ Z7d0 Z8d1 Z9d2 Z:d3 Z;d4 Z<d5 Z=d6 Z>d7 Z?d8 Z@d9 ZAd: ZBd; ZCd< ZDd= ZEd> ZFd? ZGd@ ZHdA ZIdB ZJdC ZKdD ZLdE ZMdF ZNdG ZOe j!        "                    dH          dI             ZPe j!        "                    d          dJ             ZQdK ZRdL ZSdM ZTdN ZUdO ZVdP ZWdQ ZXdR ZYdS ZZdT Z[e j!        \                    dUg dV          dUe]fdW            Z^dXS )YTestFromTxtc                 |   t          d          }t          j        |dt          j        fdt          j        fg          }t          j        ddgddg          }t          ||           t          d	          }d
dd}t          j        ddg|          }t          j        ||          }t          ||           d S )Nr  r   r   rp   r   r   r   r   zM 64.0 75.0
F 25.0 60.0r  r  r  r  r  )r%   rW   
genfromtxtr  rr   r   )r+   r   r  r  
descriptors        r-   r   zTestFromTxt.test_recordB  s    j!!}T3/C?)KLLL(FF+K3MNNNT7###011:!35 5
(-/@A!+- - -}T444T7#####r.   c                 ~   t          d          }t          j        ddgddggt                    }t          j        |t                    }t          ||           |                    d           t          j        ddgddggt                    }t          j        |t                    }t          ||           d S )Nr  rg   rn   r>   ro   rp   r   )	r%   rW   rr   rt   r  r   rR   rs   rM  )r+   r   r  r  s       r-   rw   zTestFromTxt.test_arrayQ  s    j!!(QFQF+3777}T---4)))		!(QFQF+5999z$e,,,4)))))r.   c                 (   t          j        g dt                    }t          d          }t          j        |t                    }t          ||           t          d          }t          j        |t          d          }t          ||           d S )Nr|   r  rp   r  r>  r  )rW   rr   rt   r%   r  r   r+   r  r   r  s       r-   r}   zTestFromTxt.test_1D]  s    (<<<--n%%}T---4)))k""}T<<<4)))))r.   c                 .   t          j        g dt                    }t          d          }t          j        |t          dd          }t          ||           t          d          }t          j        |t          dd          }t          ||           d S )Nr  r  r>  r  r  z1,2,3,5# comment
)rW   rr   rt   r%   r  r   r  s       r-   test_commentszTestFromTxt.test_commentsi  s    (<<<--,--}TcJJJT7###*++}TcJJJT7#####r.   c                 6   t          j        g dt                    }t          t          d          }t	          d          }t          j        |fddi|}t          ||           t	          d          }t          j        |fddi|}t          ||           d S )	Nr  r>  r  r   skip_headerrg   r  r!  )rW   rr   rt   dictr%   r  r   rM  )r+   r  rb   r   r  s        r-   r"  zTestFromTxt.test_skiprowsu  s    (<<<--C3///*++}T;;q;F;;T7###,--z$555f55T7#####r.   c                    d t          dd          D             }|                    d           |                    d t          d          D                        d|d<   t          d	d
dd          }t	          j        t          d                    |                    fi |}t	          j        d t          d          D             d dD                       }t          ||           d S )Nc                     g | ]}d |z  S )z# %ir3   r   s     r-   r5   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>  s    000q
000r.   rg   r  zA, B, Cc                     g | ]
}d |||fz  S )z%i,%3.1f,%03sr3   r   s     r-   r5   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>  s#    DDDQ_1ay0DDDr.   3   z99,99r  r>  Tr  rX  )r?  r  r!  skip_footerr  c                 *    g | ]}d |z  d |z  d |z  fS )r  r3   r   s     r-   r5   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>  s+    KKKA$(D1HdQh7KKKr.   )   c                      g | ]}|t           fS r3   r   r4   _s     r-   r5   z0TestFromTxt.test_skip_footer.<locals>.<listcomp>      999a5z999r.   ABCrp   )
r   r   rb  r"  rW   r  r%   r   rr   r   )r+   r   rb   r  ctrls        r-   test_skip_footerzTestFromTxt.test_skip_footer  s    00E!QKK000IDD%))DDDEEER4QBOOO}VDIIdOO44????xKKrKKK995999; ; ;T4     r.   c                 v   t                      5 }|                    t                     d}t          t          t
          j        t          |          d           t          j        t          |          dd          }t          |t          j	        ddgddgddgd	d	gg                     t          j        t          |          d
          }t          |t          j	        ddgddgddgd	d	gg                     d}t          j        t          |          dd          }t          |t          j	        ddgddgd	d	gddgg                     t          j        t          |          d
d          }t          |t          j	        ddgddgd	d	gg                     d d d            d S # 1 swxY w Y   d S )Nz1 1
2 2
3 3
4 4
5  
6  
7  
rg   )r'  F)r'  invalid_raiser:  r;  r<  r=  r>   z1 1
2  
3 3
4 4
5  
6 6
7 7
rL  )
r   r   r   r   r%  rW   r  r%   r   rr   )r+   r  basestrrk   s       r-   test_skip_footer_with_invalidz)TestFromTxt.test_skip_footer_with_invalid  s      	FCJJ()));G*bm //q: : : : wQeE E EABHr2hR2r(RH%MNNOOOfWoo1===ABHr2hR2r(RH%MNNOOO;GwQeE E EABHr2hR2r(RH%MNNOOOwQeE E EABHr2hR2r(%CDDEEE+	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs   FF..F25F2c                 R   t          d          }t          j        d          5 }t          j        ddt                     t          j        |d dd          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          j	        d	d
g          t          j	        ddg          t          j	        ddg          d}t          |d         |d                    t          |d         |d                    t          |d         |d                    d S )Nz)gender age weight
M 64.0 75.0
F 25.0 60.0Tr   r   r&   r@   )rq   r  ro  r   r  r  r  r  r  r  r  r  r  r  )r%   r   r   r   r   rW   r  r   categoryrr   r   r+   r   rg  r  r  s        r-   test_headerzTestFromTxt.test_header  sh   CDD$D111 	@Q#Hb2KLLL=T*13 3 3DAaDM%>>???		@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
  XtTl33(D$<00XtTl335 5 	T(^WX%6777T%['%.111T(^WX%677777s   ABB
B
c                    t          d          }t          j        d          5 }t          j        ddt                     t          j        |d d          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          j	        d	d
g          t          j	        ddg          t          j	        ddg          t          j	        ddg          t          j	        ddg          g}t          |j        j        g d           t          |          D ]\  }}t          |d|z           |           d S )Nz*A 64 75.0 3+4j True
BCD 25 60.0 5+6j FalseTr   r   r&   r@   r  r      As   BCD@      r  r  y      @      @y      @      @F)f0f1f2f3r4  zf%i)r%   r   r   r   r   rW   r  r   r6  rr   r   rq   r  r   )r+   r   rg  r  r  r   r/  s          r-   test_auto_dtypezTestFromTxt.test_auto_dtype  s   CDD$D111 	@Q#Hb2KLLL=TGDDDDAaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 8T6N++8RH%%8T4L))8VV,--8T5M**	.
 	TZ%'E'E'EFFF"7++ 	0 	0IQeai$////	0 	0s   ABB	B	c                     t          d          }t          j        |d           }t          j        g dg dg          }t	          ||           d S )Nz1 2 3 4
5 6 7 8
rp   r|   )r  r  r  r  r%   rW   r  rr   r   r+   r   r  r  s       r-   test_auto_dtype_uniformz#TestFromTxt.test_auto_dtype_uniform  sV    *++}T...(LLL,,,788T7#####r.   c                     t          d          }t          j        dt          fddt          fdt          fgfg          }t          j        ||d          }t          j        dd	g|
          }t          ||           d S )NrI  r   r   r   r,   r>  r  rJ  rK  rp   )r%   rW   rq   rt   rs   r  rr   r   r+   r   
fancydtyper  r  s        r-   rN  zTestFromTxt.test_fancy_dtype  s    *++XSzC3*sEl1K+LMNN
}TsCCC(M=9LLLT7#####r.   c                     ddd}t          d          }d}t          j        |||          }||d<   t          j        dd	g|
          }t	          ||           d S )N)grk   rg  r  r  s   M 64.0 75.0
F 25.0 60.0r  rq   r  r  r  r  rp   rC  )r+   r  r   r  r  r  s         r-   test_names_overwritez TestFromTxt.test_names_overwrite  s    .!35 5
122+}T5AAA#
7(--/6@B B BT7#####r.   c                     t          j        t          d          5  t          j        d           d d d            d S # 1 swxY w Y   d S )Nzfname must be a string,r   {   )r   r   r>  rW   r  r  s    r-   test_bad_fnamezTestFromTxt.test_bad_fname  s    ]9,EFFF 	 	M#	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   >AAc                    t          d          }t          j        d          5 }t          j        ddt                     t          j        |dd d          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          j	        g d	d
dt          fdt          fg          }t          ||           t          d          }t          j        d          5 }t          j        ddt                     t          j        |dd d          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          ||           d S )NzN
#gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        Tr   r   r&   r@   )r  rq   ro  r   ))r  rl  gfffffR@)r  r  g
ףp=*M@)r  ro  g=
ףp5@)r  r  r  r  rp   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        r%   r   r   r   r   rW   r  r   r6  rr   rt   rs   r   )r+   r   rg  r  r/  s        r-   test_commented_headerz!TestFromTxt.test_commented_header  s       $D111 	@Q#Hb2KLLL=T*13 3 3DAaDM%>>???		@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
 xMMM05#,5@QRT T TT4       $D111 	@Q#Hb2KLLL=T*13 3 3DAaDM%>>???		@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
 	T4     s%   ABB
B
.AEEEc                     t          d          }t          j        |t          t          fd d          }t          j        ddgdt          fdt          fg          }t          ||           d S )	Nzcol1 col2
 1 2
 3 4T)rq   rG  r  r   r   col1col2rp   r%   rW   r  rt   rr   r   rD  s       r-   test_names_and_comments_nonez(TestFromTxt.test_names_and_comments_none  sh    -..}T#sd$OOO(FF+VSMFC=3QRRRT7#####r.   c                    t                      5 }t          j                            |d          }t	          |d          5 }|                    d                                           d d d            n# 1 swxY w Y   t                      5  t          j	        t                    5  t          j        |d           d d d            n# 1 swxY w Y   d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nrl  r      ϖasciir  )r   r^   r7  r   r   r0   r  r   r   r   UnicodeDecodeErrorrW   r  )r+   rr  fpathr   s       r-   test_file_is_closed_on_errorz(TestFromTxt.test_file_is_closed_on_error	  s   YY 		;&GLL44EeT"" 8a-44667778 8 8 8 8 8 8 8 8 8 8 8 8 8 8
 $%% ; ;]#566 ; ;M%'::::; ; ; ; ; ; ; ; ; ; ; ; ; ; ;; ; ; ; ; ; ; ; ; ; ; ; ; ; ;		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		; 		;s}   1C9 (A4(C94A8	8C9;A8	<C9C!'C
>C!
CC!CC!C9!C%	%C9(C%	)C99C= C=c                    t          d          }t          j        d          5 }t          j        ddt                     t          j        |ddd d          }t          |d	         j        t          u            d d d            n# 1 swxY w Y   t          j	        d
ddt          fdt          fg          }t          ||           d S )NA B C D
 aaaa 121 45 9.1Tr   r   r&   ACDr@   )r  r  rq   ro  r   )rS  -   333333"@ra  |S4rb  rc  rp   rQ  r7  s        r-   test_autonames_and_usecolsz&TestFromTxt.test_autonames_and_usecols  s    122$D111 	@Q#Hb2KLLL=&*$J J JDAaDM%>>???		@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@
 (,".c
S%L!IK K KT7#####s   ABBBc                     t          d          }t          j        |t          ddd id          }t          j        ddgd	d
ggt                    }t          ||           d S )Nr  r>  r>   c                 $    t          | pd          S r  r  r  s    r-   r  z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>&      Se__ r.   r
  r  rn   r   r  r  rV  rD  s       r-   r  z(TestFromTxt.test_converters_with_usecols"  sq    .//}T()+D+D'E$+- - - (QI1v.44T7#####r.   c           
         t          d          }t          j        d          5 }t          j        ddt                     t          j        |ddd ddd	 i
          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          j	        dddt          fdt          fg          }t          ||           d S )Nr_  Tr   r   r&   r`  r@   rb  c                 &    dt          |           z  S )Nrn   r  r  s    r-   r  zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>2  s    1s1vv: r.   )r  r  rq   ro  r  r   )rS  Z   re  rf  rc  rp   rQ  r7  s        r-   &test_converters_with_usecols_and_namesz2TestFromTxt.test_converters_with_usecols_and_names+  s.   122$D111 	@Q#Hb2KLLL=d&*W,/1E1E+FH H HD AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ (,".c
S%L!IK K KT7#####s   ABBBc                     dd i}t          d          }t          j        |dd ddg|          }t          j        t	          ddd	          d
fdt          j        fdt          fg          }t          ||           d S )Ndatec                 "    t          | d          S Nz%Y-%m-%d %H:%M:%SZ)rC   r  s    r-   r  z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>;  s    hq*>?? r.   2009-02-03 12:00:00Z, 72214.0r>  r,  r?  rq   r  r    rn   r>       `@rp   )r%   rW   r  rr   r   object_rs   r   r+   	converterr   r  r  s        r-   test_converters_cornercasesz'TestFromTxt.test_converters_cornercases8  s     ??A	566}TS#)6"2yJ J J(HT1a00&9#)2:"6!HJ J JT7#####r.   c                     dd i}t          d          }t          j        |dd ddg|          }t          j        t	          ddd	          d
fddt
          fg          }t          ||           d S )Nrq  c                 F    t          j        t          | d                    S rs  )rW   
datetime64rC   r  s    r-   r  z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>F  s    bmHQ8L,M,MNN r.   rt  r>  r,  ru  rv  rn   r>   rw  )rq  zdatetime64[us]rp   )r%   rW   r  rr   r   rs   r   ry  s        r-   test_converters_cornercases2z(TestFromTxt.test_converters_cornercases2C  s     NNP	566}TS#)6"2yJ J J(HT1a00&9"<vuo!NP P PT7#####r.   c                     t          d          }t          j        |ddd i          }t          |ddg           |                    d           t          j        |ddd	 i          }t          |d
dg           d S )Nz1 21
  3 42
r$  r   c                 "    t          | d          S rh  r  r  s    r-   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>R      SBZZ r.   rk  rl  rm  rg   c                 "    t          | d          S rh  r  r  s    r-   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>W  r  r.   ro  rp  )r%   rW   r  r   rR   r+   r   r  s      r-   rq  z!TestFromTxt.test_unused_converterN  s    &''}T4()+?+?'@B B BTB8$$$		!}T4()+?+?'@B B BTB8$$$$$r.   c                     d }d }t          d          }t          ||ddd d          }t          t          t          j        |fi | d S )Nc                     t          d|                                 v r|                                 d         p+d|                                 vr|                                 pd          S )N   rr  r  rs   lowerrc  ry  r  s    r-   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>[  sZ    udaggii&7&IAGGIIbM &R&*!''))&;&I		&PS S  S r.   c                     t          d|                                 v r|                                 d         p+d|                                 vr|                                 pd          S )N   %r   r  r  r  s    r-   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>]  sZ    eTQWWYY%6%G17799Q< %Q%)%:%Hqwwyy%OCR R r.   zgD01N01,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.55r  r>  r@   )r  r?  rq   ro  )r%   r"  r   r   rW   r  )r+   
strip_rand	strip_perr,   rb   s        r-   test_invalid_converterz"TestFromTxt.test_invalid_converterZ  s~    S S
R R	 5 6 6 $44* * * 	nbmQAA&AAAAAr.   c                     t          d          }d }t          j        |dd|i          }t          j        ddgdd	gg          }t	          ||           d S )
Nz	q1,2
q3,4c                 0    t          | dd                    S r  r   r  s    r-   r  z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>j  s    ae r.   r>  r   )r?  r  r:  r;  r<  r=  rC  )r+   r,   cnvr  r  s        r-   test_tricky_converter_bug1666z)TestFromTxt.test_tricky_converter_bug1666g  sc    <  $$}Q#1c(CCC(RHr2h/00T7#####r.   c                    d}t          j        t          |          dt          dt          i          }t          j        dgddt          fdt          fg	          }t          ||           t          j        t          |          dt          dt          i          }t          j        g d
          }t          ||           d S )Nz2009; 23; 46r{  r   r|  )2009      7@.   )r=  rg  r>  r?  rp   )g     d@r  r  )rW   r  r%   rs   r@   rr   r   )r+   dstrr  r  s       r-   test_dtype_with_convertersz&TestFromTxt.test_dtype_with_converterso  s    }VD]]&)Au:O O O(-."/$u!NP P PT7###}VD]]&)Au:O O O(+++--T7#####r.   (ignore:.*recfromcsv.*:DeprecationWarningc           	         d}dddddg d}t           t           t           fdd	}t          t          |          |d
d |d          }t          j                            g d|          }t          ||           g d}t          t          |          |d
dd |d          }t          j                            g d|          }t          ||           d S )Nz!1,5,-1,1:1
2,8,-1,1:n
3,3,-2,m:n
r   rg   rn   r>   )z1:1z1:nzm:1zm:n)e1r   e2r   )e3i2r   i1c                 8    |                                           S r(   r  )r   dmaps    r-   r  zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>  s    T!((**5E r.   )r   rg   rn   r>   r>  r@   )rq   r?  r  r  ro  ))rg   r  r  r   )rn   r  r  rg   )r>   r>   r>   rp   )r  r  r  )r   rg   r>   )rq   r?  r  r  r  ro  ))rg   r  r   )rn   r  rg   )r>   r>   r>   )rt   r   r%   rW   recrr   r   )r+   r  dtypconvr  r  r  s         @r-   &test_dtype_with_converters_and_usecolsz2TestFromTxt.test_dtype_with_converters_and_usecols{  s   5q33@@@33+E+E+E+EFF&--ts $I I I&,,CCC4,PPT7###888&--ts"+4D#*, , , &,,:::$,GGT7#####r.   c           	         d}dt           fdt          fg}d }d|i}t          j        t	          |          d||          }t          j        dt          ddd          fd	t          d
dd          fg|          }t          ||           ddt           fdt          fgfg}t          t          d          5  t          j        t	          |          d||          }d d d            n# 1 swxY w Y   dt           fdt          fdg fg}t          t          d          5  t          j        t	          |          d||          }d d d            d S # 1 swxY w Y   d S )Nrs  rt  ru  c                 F    t          |                                 d          S rw  rx  r  s    r-   r  z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>  rz  r.   rg   r{  r|  r}  rn   r~  r  rp   nestzNested fields.* not supported.*)
rt   ry   rW   r  r%   rr   r   r   r   NotImplementedErrorr  s          r-   r  z"TestFromTxt.test_dtype_with_object  s;   %#, 0188Y
}VD\\S(24 4 4($1%%&HT1b,A,A(BC   	T7###UCL66*:;<= !4!BD D 	F 	F='-*F F FD	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F #, 062,? !4!BD D 	F 	F='-*F F FD	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	F 	Fs$   5&C''C+.C+&EEEc                     t          j        t          d          t                    }|d         dk    sJ t          j        t          d          t                    }|d         dk    sJ d S )N1rp   r3      1strings   string)rW   r  r%   ry   )r+   parseds     r-   #test_dtype_with_object_no_converterz/TestFromTxt.test_dtype_with_object_no_converter  sh    vc{{&999bzT!!!!vh//v>>>bzY&&&&&&r.   c           	          t          d          }t          j        |dd t          ddt          i          }t          j        dgddt          fg	          }t          ||           d S )
Nzskip,skip,2001-01-01,1.0,skipr>  r  rn   )r?  r  rq   r  r  )
2001-01-01r:  )r&   |S10r&   rp   )r%   rW   r  rs   r@   rr   r   rD  s       r-   'test_userconverters_with_explicit_dtypez3TestFromTxt.test_userconverters_with_explicit_dtype  sx    566}TSE%+E
D D D(./".U!<> > >T7#####r.   c           
         d}t                      5 }t          |d          5 }|                    d|z   dz              d d d            n# 1 swxY w Y   t          j        |dd t
          ddt          id	          }d d d            n# 1 swxY w Y   t          j        d
|                    d          z   dfgddt
          fg          }t          ||           d S )Nrj  r   s   skip,skip,2001-01-01s	   ,1.0,skipr>  r  rn   rk  )r?  r  rq   r  r  ro  r  r:  )r&   z|U11r&   rp   )
r   r   r0   rW   r  rs   r  rr   rA   r   )r+   rq  r7  r   r  r  s         r-   ,test_utf8_userconverters_with_explicit_dtypez8TestFromTxt.test_utf8_userconverters_with_explicit_dtype  sq   ZZ 	34dD!! GQ/$6EFFFG G G G G G G G G G G G G G G=D)/QH*13 3 3D	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 (\DKK,@,@@"EF".U!<> > >T7#####s3   BA
B
A	BA	*BBBc                     t          d          }t          j        |          }t          j        g dg dg          }t	          ||           d S )Nz1  2  3  4   5
6  7  8  9  10)r:  r;  r<  r=        @)rL        @rT        "@g      $@rC  rD  s       r-   test_spacedelimiterzTestFromTxt.test_spacedelimiter  s]    677}T""(0001113 4 4T7#####r.   c                     d}t          j        t          |          d          }t          j        g dg dg dg          }t	          ||           d S )Nz  1  2  3
  4  5 67
890123  4r>   )r?  r   )ro   r  C   )iz  rN  ro   rW   r  r%   rr   r   rD  s       r-   test_integer_delimiterz"TestFromTxt.test_integer_delimiter  sY    0}VD\\Q777(IIIzzz===ABBT7#####r.   c                     t          d          }t          j        |t          ddd i          }t          j        g dt                    }t          ||           d S )Nr  r>  r>   c                 $    t          | pd          S r  r  r  s    r-   r  z*TestFromTxt.test_missing.<locals>.<lambda>  rk  r.   r  r  rV  rD  s       r-   r  zTestFromTxt.test_missing  sh    l##}T()+D+D'EG G G(---s33T7#####r.   c                 V   d}t          j        t          |          dd          }t          j        dt           j        dt           j        fdt           j        dfg          }t          j        g d	t
          
          }t          |j        |           t          |j        |           d S )Nz1	2	3
	2	
1		3r  T)r?  usemaskr   rn   rg   r>   )r   r   r   rg   r   rg   r   rg   r   rp   )	rW   r  r%   rr   nanboolr   r   mask)r+   r  r  ctrl_dctrl_ms        r-   test_missing_with_tabsz"TestFromTxt.test_missing_with_tabs  s    &}VC[[D%), , ,9rvq"&&9Arvq>JLL;;;4HHHTY'''TY'''''r.   c                    t          j        ddgddggt                    }t                      }t          j        ||           |                    d           t          j        |t          d          }t          ||d d df                    t          j        g dg d	gt                    }t                      }t          j        ||           |                    d           t          j        |t          d
          }t          ||d d dd f                    |                    d           t          j        |t          t          j        ddg                    }t          ||d d dd f                    d S )Nrg   rn   r>   ro   r   r$  r%  r   r&  r   )rW   rr   rs   r%   r   rR   r  r   r  s       r-   rD  zTestFromTxt.test_usecols  sU    (QFQF+U33xx

4!!!		!}T===T7111a4=)))(IIIyyy1599xx

4!!!		!}T???T7111abb5>***		!}T!Q8H8HIIIT7111abb5>*****r.   c                     d}t          j        t          |          dd          }t          j        ddgd dD             	          }t	          ||           d S )
N1 2 3
4 5 6a, b, cza, c)r  r  r
  ro   r  c                      g | ]}|t           fS r3   r   r+  s     r-   r5   z3TestFromTxt.test_usecols_as_css.<locals>.<listcomp>  s    0J0J0J!U0J0J0Jr.   acrp   r  r+   r   r  r/  s       r-   test_usecols_as_csszTestFromTxt.test_usecols_as_css  sh    }VD\\#,f> > >x(0J0JT0J0J0JKKKT4     r.   c           
          t          d          }ddg}ddg}t          j        |dt          t	          ||                              }t          |d         dd	g           t          |d         d
dg           d S )NzJOE 70.1 25.3
BOB 60.5 27.9r,  r-  r.  r/  r0  r1  r2  r3  r4  r5  )r%   rW   r  rf  r
  r   )r+   r   r  rB  r  s        r-   "test_usecols_with_structured_dtypez.TestFromTxt.test_usecols_with_structured_dtype   s    455 }&S-?-?(@(@B B BT&\FF#3444T&\D$<00000r.   c                     t          j        t          d          d          }t          |t          j        ddg                     d S )Ns   1 2 3
4 5 6r   r7  r:  r=  )rW   r  r%   r   rr   )r+   r  s     r-   test_usecols_with_integerz%TestFromTxt.test_usecols_with_integer
  sB    }VO44a@@@T28RH--.....r.   c                 >   t          j        ddgdt          fdt          fg          }d}t          d          }t          j        t          |          fd	d
i|}t          ||           t          j        t          |          fd	di|}t          ||           d S )Nr
  r  rk   r   rp   r  r  )r  r  r   r  )rk   r   )rW   rr   rs   r"  r  r%   r   )r+   r/  r   rb   r  s        r-   test_usecols_with_named_columnsz+TestFromTxt.test_usecols_with_named_columns  s    x(#uU|0LMMMI&&&}VD\\EE7EfEET4   }VD\\ ; ;%/;39; ;T4     r.   c                 x   t                      5 }|                    d           t                      }t          j        |          }t          |t          j        g                      t          j        |d          }t          |t          j        g                      d d d            d S # 1 swxY w Y   d S )Nzgenfromtxt: Empty input file:)messagerg   )r!  )r   r   r%   rW   r  r   rr   )r+   r  r   r  s       r-   re  zTestFromTxt.test_empty_file  s       	-CJJ>J???88D=&&Drx||,,, =1555Drx||,,,	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	- 	-s   BB//B36B3c                    t          d          }t          j        dt          fddt          fdt          fgfg          }t          j        ||dd          }t          j        d	d
g|          }t          ||           d S )NrI  r   r   r   r,   r>  T)rq   r?  r  rJ  rK  rp   )	r%   rW   rq   rt   rs   r  marr   r   rG  s        r-   test_fancy_dtype_altz TestFromTxt.test_fancy_dtype_alt&  s    *++XSzC3*sEl1K+LMNN
}TsDQQQ(M=9LLLT7#####r.   c                    t          d          }t          j        ddt          fdt          fdt          dfg          }t          j        ||          }t          j        dd	d
g dg dgfg|          }t          ||           d S rP  )r%   rW   rq   rs   rt   r  rr   r   rM  s        r-   rV  zTestFromTxt.test_shaped_dtype.  s    011X~U|c5\f-/ 0 0M!2&&&HvsC)))YYY)?@A  1a     r.   c                    t          d          }t          ddd          }t          j        |fd dd|}t	          j        ddgd	d
gdt          fdt          fg          }t          ||           t          |j        |j                   |	                    d           t          j        |fddi|}t	          j        ddgd	d
gdt          fdt          fg          }t          ||           t          |j        |j                   d S )NA,B
0,1
2,N/Ar>  N/ATr?  missing_valuesr  rq   r  r  rn   r  FFFTra  Br  rq   r   r  )r%   r"  rW   r  r  rr   rt   r   r  rR   rs   r+   r   rb   r  r  s        r-   test_withmissingzTestFromTxt.test_withmissing7  s)   '((EFFF}TFtFFvFF(FG,!/ ?#&*sCj!9; ; ; 	T7###TY---		!}T::4:6::(FG,!/ ?#&,e!=? ? ? 	T7###TY-----r.   c                 H   d}t          d dd          }dt          fdt          fdt          fg}t	          j        t          |          fdd	i|}t          j        g d
g d|          }t          ||           ||d<   t	          j        t          |          fdddddd|}t          j        g d
g d|          }t          ||           t	          j        t          |          fdddddd|}t          j        g d
g d|          }t          ||           d S )Nz4A, B, C
0, 0., 0j
1, N/A, 1j
-9, 2.2, N/A
3, -99, 3jr>  T)rq   r?  r  ra  r  rb  r  r  ))r   r  y                )rg   r   rP  )r  g@            8)r>   y              @)r  r  )r   r   rg   r  r  rq   r  r  r  r   rg   rn   )r  r  )r  r  r  r  )r   r  rb  )
r"  rt   rs   r   rW   r  r%   r  rr   r   )r+   r   
basekwargsmdtyper  r  s         r-   test_user_missing_valuesz$TestFromTxt.test_user_missing_valuesI  s   I4AAA
*sElS'N;}VD\\ * *% *(* *( < < < L L L!') ) ) 	T7###$
7}VD\\ b/1ce+D+Ddb bV`b b( < < < L L L!') ) ) 	T7###}VD\\ */1%+H+H$(* * )* * ( < < < L L L!') ) ) 	T7#####r.   c           
      <   t          j        ddgdt          fdt          fg          }d}t          dt          dd	d
dddddd          }t          j        t          |          fi |}t          j        ddgd dD                       }t          ||           t          j        t          |          fddi|}t          j        ddgd dD                       }t          ||           d}t          j        t          |          dt          dd          }t          j        g dg dg          }t          ||           t          j        t          |          dt          dd          }t          j        g dg dg          }t          ||           d S ) N)r   r>   )ro   r   rk   r   rp   zN/A, 2, 3
4, ,???r>  za,b,cr  r  z???)r   r   rn   r   r   )r?  rq   r  r  filling_values)r   rn   r>   )ro   r   r   c                      g | ]}|t           fS r3   r  r+  s     r-   r5   z8TestFromTxt.test_user_filling_values.<locals>.<listcomp>t  s    777A3x777r.   abcr  r  c                      g | ]}|t           fS r3   r  r+  s     r-   r5   z8TestFromTxt.test_user_filling_values.<locals>.<listcomp>x  s    3K3K3KQH3K3K3Kr.   r  z1,2,*,4
5,*,7,8
*)r?  rq   r  r  )rg   rn   r   ro   )r  r   r  r  r  )rg   rn   r  ro   )r  r  r  r  )rW   rr   rt   r"  r  r%   r   )r+   r/  r   rb   r  data2s         r-   test_user_filling_valuesz$TestFromTxt.test_user_filling_valuesi  s   x+S#Jc
3KLLL##).SU%C%C)*t%<%<	> > >
 }VD\\44V44xL1777779 9 9T4   }VD\\EE7EfEEx+3K3Kd3K3K3KLLLT4   $}VE]]c,/C C Cx|||455T4   }VE]]c,/D D Dx677T4     r.   c                    t          d          }t          j        |d dddd          }t          j        ddgdd	gd
t
          fdt          fg          }t          ||           t          |j        |j                   d S )NzA,B
0,1.5
2,-999.00r>  z-999.0T)rq   r?  r  r  r  )r   r6  )rn   g      r  r  ra  r  r  )	r%   rW   r  r  rr   rt   rs   r   r  rD  s       r-   test_withmissing_floatz"TestFromTxt.test_withmissing_float  s    -..}T+34O O O(Hh/!/ ?#&*sEl!;= = = 	T7###TY-----r.   c                     t          d          }t          j        |d dd          }t          j        g dg dgg dg dg          }t          ||           d S )	Nz1 2 3
4 5 6
2,5Trq   r  r  r   r-  r  )r  )r%   rW   r  r  rr   r   rD  s       r-   test_with_masked_column_uniformz+TestFromTxt.test_with_masked_column_uniform  sv    &''}T,14A A A(IIIyyy1III8NOOOT7#####r.   c                     t          d          }t          j        |d dd          }t          j        ddgddgdt
          fd	t
          fd
t          fg          }t          ||           d S )NzTrue 2 3
False 5 6
r  Tr  r   )r   r  r  r  r=  r>  r?  r  )r%   rW   r  r  rr   r  rt   r   rD  s       r-   test_with_masked_column_variousz+TestFromTxt.test_with_masked_column_various  s    -..}T,14A A A(Iy1!*I 6#',ttSk!JL L L 	T7#####r.   c                    dgdz  }t          d          D ]
}d|d|z  <   |                    dd           t          d                    |                    t	          d	d d
          fd}t          t          |          }t          t          |          d           t          |t          j
        dd dD                                                      d           t          t          t          j        d	d
           d S )N1, 1, 1, 1, 1r  r  2, 2, 2, 2 2rX  r   a, b, c, d, er  r>  Tr?  rq   r  c                  ,    t          j        fddi S )Nr2  FrW   r  rb   mdatas   r-   r   z)TestFromTxt.test_invalid_raise.<locals>.f  s     =FFeFvFFFr.   rd  c                      g | ]}|t           fS r3   r  r+  s     r-   r5   z2TestFromTxt.test_invalid_raise.<locals>.<listcomp>  s    .I.I.IA3x.I.I.Ir.   abcderp   r?  r  )r   insertr%   r   r"  r   r   r   lenrW   r   rR   r   r%  r  )r+   r   r   r   mtestrb   r  s        @@r-   test_invalid_raisezTestFromTxt.test_invalid_raise  s)    2%q 	* 	*A)DaLLA'''tyy''4t<<<	G 	G 	G 	G 	G 	G.22SZZ$$$UBGB.I.I.I.I.IJJJKKK

1j"- #4	1 	1 	1 	1 	1 	1r.   c                    dgdz  }t          d          D ]
}d|d|z  <   |                    dd           t          d                    |                    t	          d	d d
d          fd}t          t          |          }t          t          |          d           t          |t          j
        dd dD                                                      d           t          j        fddi}t          t          |          d           t          j
        dd dD                       }d|d t          d          D             <   t          ||           d S )Nr  r  r  r  rX  r   r  r  r>  TF)r?  rq   r  r2  c                  ,    t          j        fddi S )Nr  )r   ro   r  r  s   r-   r   z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.f  s     =AAA&AAAr.   rd  c                      g | ]}|t           fS r3   r  r+  s     r-   r5   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>  s    .F.F.FA3x.F.F.Fr.   aerp   r  r  c                      g | ]}|t           fS r3   r  r+  s     r-   r5   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>  s    $<$<$<!aX$<$<$<r.   abr  c                     g | ]}d |z  S )rX  r3   r+  s     r-   r5   z?TestFromTxt.test_invalid_raise_with_usecols.<locals>.<listcomp>  s    ***Aa***r.   )r   r  r%   r   r"  r   r   r   r  rW   r   rR   r  )r+   r   r   r   r  r  rb   r  s         @@r-   test_invalid_raise_with_usecolsz+TestFromTxt.test_invalid_raise_with_usecols  s    2%q 	* 	*A)DaLLA'''tyy''4t$)+ + +	B 	B 	B 	B 	B 	B.22SZZ$$$UBGB.F.F.F.F.FGGGHHH

1e>>V>v>>SZZ$$$'"$<$<t$<$<$<===.4**q***+UG$$$$$r.   c                     dgdz  }t          d                    |                    }dd i}t          d|d dD             d	
          }t          t          t
          j        |fi | d S )Nz1, 1, 1, 1, -1.1r  r  ro   c                 0    d|                                  z  S )Nz(%s)r  r  s    r-   r  z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>  s    6AHHJJ#6 r.   r>  c                      g | ]}|t           fS r3   r  r+  s     r-   r5   z7TestFromTxt.test_inconsistent_dtype.<locals>.<listcomp>  s    777!aX777r.   r  r@   )r?  r  rq   ro  )r%   r   r"  r   r%  rW   r  )r+   r   r  r  rb   s        r-   test_inconsistent_dtypez#TestFromTxt.test_inconsistent_dtype  s    "#b(tyy''667

77w777'K K Kj"-AA&AAAAAr.   c                     d}t          j        t          |          dd d          }t          j        ddgdt          fdt          fd	t
          fg
          }t          ||           d S )N0, 1, 2.3
4, 5, 6.7r>  f%02ir?  rq   
defaultfmtr   rg   ffffff@)ro   r  @f00f01f02rp   )rW   r  r%   rr   rt   rs   r   r+   r   r  r/  s       r-   test_default_field_formatz%TestFromTxt.test_default_field_format  s{    %fTll'*$7L L Lxk2 %s|eS\E5>JL L LUD!!!!!r.   c                     d}t          j        t          |          dt          d          }t          j        g dg dgt                    }t          ||           d S )Nr'  r>  r(  r)  r  r:  r,  r=  r  r-  rp   rW   r  r%   rs   rr   r   r1  s       r-   test_single_dtype_wo_namesz&TestFromTxt.test_single_dtype_wo_names  sf    %fTll'*%GM M Mx6eDDDUD!!!!!r.   c                     d}t          j        t          |          dt          d          }t          j        ddgd dD             	          }t          ||           d S )
Nr'  r>  r  r  r4  r5  c                      g | ]}|t           fS r3   r   r+  s     r-   r5   zBTestFromTxt.test_single_dtype_w_explicit_names.<locals>.<listcomp>  r-  r.   r  rp   r6  r1  s       r-   "test_single_dtype_w_explicit_namesz.TestFromTxt.test_single_dtype_w_explicit_names  ss    %fTll'*%yJ J Jx6995999; ; ;UD!!!!!r.   c                     d}t          j        t          |          dt          d          }t          j        ddgd dD             	          }t          ||           d S )
Nza, b, c
0, 1, 2.3
4, 5, 6.7r>  Tr  r4  r5  c                      g | ]}|t           fS r3   r   r+  s     r-   r5   zBTestFromTxt.test_single_dtype_w_implicit_names.<locals>.<listcomp>  r-  r.   r  rp   r6  r1  s       r-   "test_single_dtype_w_implicit_namesz.TestFromTxt.test_single_dtype_w_implicit_names  ss    .fTll'*%tE E Ex6995999; ; ;UD!!!!!r.   c                     d}t          j        t          |          dt          t          t          fd          }t          j        ddgdt          fdt          fd	t          fg
          }t          ||           d S )Nr'  r>  zf_%02ir)  )r   r:  r,  )ro   r  r-  f_00f_01f_02rp   rW   r  r%   rt   rs   rr   r   r1  s       r-   test_easy_structured_dtypez&TestFromTxt.test_easy_structured_dtype  s    %fTllc$'#68M M Mx|4 &}vuoOQ Q QUD!!!!!r.   c                    d}t          dd d          }t          j        d          5 }t          j        ddt                     t          j        t          |          fi |}t          |d	         j	        t          u            d d d            n# 1 swxY w Y   t          j
        d
gddt          fdg          }t          ||           t          j        d          5 }t          j        ddt                     t          j        t          |          fddi|}t          |d	         j	        t          u            d d d            n# 1 swxY w Y   t          j
        dgddt          fdg          }t          ||           d S )Nz01/01/2003  , 1.3,   abcder>  r@   )r?  rq   ro  Tr   r   r&   r   )z01/01/2003  ?z   abcde)r=  z|S12r>  )r?  r  rp   	autostrip)z
01/01/2003rE  r  )r=  r  )r?  z|S5)r"  r   r   r   r   rW   r  r%   r   r6  rr   rs   r   )r+   r   rb   rg  r  r/  s         r-   test_autostripzTestFromTxt.test_autostrip  s*   +4'BBB$D111 	@Q#Hb2KLLLM&,,99&99EAaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ x:;-e}mLN N NUD!!!$D111 	@Q#Hb2KLLLM&,,II$I&IIEAaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ x56-e}mLN N NUD!!!!!s%   ABBB#AEEEc                 n   d}t          j        t          |          ddd           }dt          fdt          fdt          fg}t          j        d|	          }t          ||           t          j        t          |          ddd d
d
          }dt          fdt          fdt          fg}t          j        d|	          }t          ||           t          j        t          |          ddd d
          }dt          fdt          fdt          fg}t          j        d|	          }t          ||           d S )NzA.A, B (B), C:C
1, 2, 3.14r>  Tr?  r  rq   AAB_BCC)rg   rn   gQ	@rp   r&   r?  r  rq   replace_spacedeletecharsA.AB (B)C:Cr?  r  rq   rO  B_(B)rB  r+   r  r  
ctrl_dtyper/  s        r-   test_replace_spacezTestFromTxt.test_replace_space  s?   +}VC[['*$dD D DSkE3<$?
xJ777T4   }VC[['*$d+-2? ? ? clWcNUENC
xJ777T4   }VC[['*$d)+- - - clWcNUENC
xJ777T4     r.   c                    d}t          j        t          |          ddt                    }dt          fdt          fdt          fg}t          j        d|	          }t          ||           t          j        t          |          ddt          d
d
          }dt          fdt          fdt          fg}t          j        d|	          }t          ||           t          j        t          |          ddt          d
          }dt          fdt          fdt          fg}t          j        d|	          }t          ||           d S )NzA.A, B (B), C:C
1, 2, 3r>  TrI  rJ  rK  rL  r   rp   r&   rM  rP  rQ  rR  rS  rT  )rW   r  r%   rt   rr   r   rU  s        r-   test_replace_space_known_dtypez*TestFromTxt.test_replace_space_known_dtype,  s?   (}VC[['*$cC C CSkE3<$=
x	444T4   }VC[['*$c+-2? ? ? clWcNUCLA
x	444T4   }VC[['*$c)+- - - clWcNUCLA
x	444T4     r.   c                 T   d}t          dd          }t          j        ddgd dD             	          }t          j        t	          |          fd
d i|}t          ||           t          j        ddgd dD             	          }t          j        t	          |          fi |}d S )NzA,,C
0,1,2
3,4,5r>  Tr  r  r&  c                      g | ]}|t           fS r3   r  r+  s     r-   r5   z5TestFromTxt.test_incomplete_names.<locals>.<listcomp>J  s    BBBA3xBBBr.   )ra  r=  rb  rp   rq   c                      g | ]}|t           fS r3   r   r+  s     r-   r5   z5TestFromTxt.test_incomplete_names.<locals>.<listcomp>O  s    DDDa5zDDDr.   )r"  rW   rr   r  r%   r   r+   r   rb   r/  r  s        r-   test_incomplete_namesz!TestFromTxt.test_incomplete_namesD  s    #4000xI.BB1ABBBD D D}VD\\@@@@@T4   xI.DD3CDDDF F F}VD\\44V44r.   c                     d}t          j        t          |          t          t          t          fd          }t          j        ddgdt          fdt          fdt          fg          }t          ||           d S )	Nz1 2 3
 4 5 6rk   rK  r   r-  r=  r>  rp   rB  r  s       r-   test_names_auto_completionz&TestFromTxt.test_names_auto_completionR  s    }VD\\$'#4CA A AxI. #SzD%=4+FH H HT4     r.   c                    d}d}t          j        t          |          t          t          t          fddd          }t	          |j        j        |           t          j        t          |          t          t          t          fddd          }t	          |j        j        |           t          j        t          |          t          ddd          }t	          |j        j        |           d S )Nz'A,B,C,D,E
0,1,2,3,4
0,1,2,3,4
0,1,2,3,4)ra  rb  Er>  )r   rn   ro   T)rq   r?  r  r  )rW   r  r%   rt   r   rq   r  )r+   r   
ctrl_namesr  s       r-   test_names_with_usecols_bug1636z+TestFromTxt.test_names_with_usecols_bug1636[  s    ;$
}VD\\$'c?c%.d< < < 	TZ%z222}VD\\$'c?c%4DB B B 	TZ%z222}VD\\#&#%4DB B B 	TZ%z22222r.   c                    d}t          ddd           }t          j        ddgdt          fdt          fd	t          fg
          }t          j        t          |          fi |}t          ||           t          ddd           }t          j        ddgdt          fdt          fd	t          fg
          }t          j        t          |          fi |}t          ||           d S )Nz-    A    B   C
    0    1 2.3
   45   67   9.)r  r  ro   TrI  r+  )rd  r  r  ra  r  rb  rp   r  )r"  rW   rr   rt   rs   r  r%   r   r]  s        r-   test_fixed_width_namesz"TestFromTxt.test_fixed_width_namesn  s    @	TBBBxl3 #SzC:U|DF F F}VD\\44V44T4   T:::xl3 #SzC:U|DF F F}VD\\44V44T4     r.   c                     d}t          dd d          }t          j        g dg dg dgt                    }t          j        t          |          fi |}t          ||           d S )	Ns   1, 2, 3
1, , 5
0, 6, 
r>  r   )r?  rq   r  r   )rg   r   r  )r   r  r   rp   )r"  rW   rr   rt   r  r%   r   r]  s        r-   test_filling_valueszTestFromTxt.test_filling_values}  su    +4EEExLLL,,,?sKKK}VD\\44V44T4     r.   c                    t          j        d          5 }t          j        ddt                     t	          j        t          d          d d dd          }t          |d	         j        t          u            d d d            n# 1 swxY w Y   t          |d
         d           t          j        d          5 }t          j        ddt                     t	          j        t          d          d d dd          }t          |d	         j        t          u            d d d            n# 1 swxY w Y   t          |d
         d           d S )NTr   r   r&   ztest1,testNonetherestofthedatar>  r@   rq   rG  r?  ro  r   rg   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r   r   r   r   rW   r  r%   r   r6  r   )r+   rg  r  s      r-   test_comments_is_nonez!TestFromTxt.test_comments_is_none  s   $D111 	@Q#Hb2KLLL=(H!I!I'+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	T!W9:::$D111 	@Q#Hb2KLLL=(I!J!J'+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	T!W:;;;;;s%   A#BB	B	;A#D**D.1D.c                 T   d}d}d|z   dz   }||z   |z   }t          j        d          5 }t          j        ddt                     t	          j        t          |          d d d	d
          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          |d         d           t          |d         d|z              t          |d         d           t	          j        t          |          d d d	d          }t          |d         d           t          |d         d|
                    d          z              t          |d         d           t          j        d          5 }t          j        ddt                     t	          j        t          d|z             d d d	d
          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t          |d         d           t          |d         d|z              d S )Ns      norm1,norm2,norm3
   test1,testNonethe   ,test3
Tr   r   r&   r>  r@   rj  r   )rg   r      test1)rg   rg      testNonether      test3r=   test1testNonethetest3   0,testNonether=  r>  )r   r   r   r   rW   r  r%   r   r6  r   rA   )r+   r=   normencr,   rg  r  s          r-   test_latin1zTestFromTxt.test_latin1  s    %"V+k93J$D111 	@Q#Hb2KLLL='+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	T$Z***T$Z&!8999T$Z***}VAYY#'$#&.0 0 0 	T$Z)))T$Zx1H1H!HIIIT$Z)))$D111 	@Q#Hb2KLLL=(86(A!B!B'+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	T$Z###T$Z&!899999s%   A#BB B<A&G..G25G2c                     d}|                      t          |          d d          }t          |t          j        |                    d                                                               d S r  )r  r   r   rW   rr   rA   rc  r  s      r-   test_binary_decode_autodtypez(TestFromTxt.test_binary_decode_autodtype  s\    4MM'%..xMHH1bhu||H'='='C'C'E'EFFGGGGGr.   c                    d}d}d|z   dz   }||z   |z   }t          j        d          5 }t          j        ddt                     t	          j        t          |          d d d	d
          }t          |d         j        t          u            d d d            n# 1 swxY w Y   t	          j	        g ddd|z   dgg dg          }t          ||           d S )Nrj  rm  rn  ro  Tr   r   r&   r>  r@   rj  r   )s   norm1s   norm2s   norm3rp  rq  rr  )r   r   r   r   rW   r  r%   r   r6  rr   r   )r+   rq  rw  rx  r,   rg  r  ctls           r-   test_utf8_byte_encodingz#TestFromTxt.test_utf8_byte_encoding  sJ   %"T)K73J$D111 	@Q#Hb2KLLL='+dc*13 3 3D AaDM%>>???	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ h///NT18<///1 2 2 	4%%%%%s   A#BB Bc           	         d}t                      5 }t          |d          5 }|                    d|z   dz   dz             d d d            n# 1 swxY w Y   t          j        |d d dd          }t          j        d	d
|                    d          z   dgd	d
|                    d          z   dggt          j                  }t          ||           t          |d          5 }|                    d|z              d d d            n# 1 swxY w Y   t          j        |d d dd          }t          |d         d           t          |d         d
|                    d          z              d d d            d S # 1 swxY w Y   d S )Nrj  r   rn  ro  rn   r>  rk  rj  rs  rt  ru  rp   rv  r=  r   r>  )
r   r   r0   rW   r  rr   rA   rp  r   r   )r+   rq  r7  r   r  r}  s         r-   test_utf8_filezTestFromTxt.test_utf8_file  s   ZZ 	K4dD!! IQ-4{BaGHHHI I I I I I I I I I I I I I I=TD+.B B BD(}t{{7/C/CCWM}t{{7/C/CCWMO 7$ $ $C tS))) dD!! 1Q(4/0001 1 1 1 1 1 1 1 1 1 1 1 1 1 1=TD+.B B BDdQ'''d]T[[5I5I%IJJJ#	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	K 	KsZ   E=AE=A	E=A	BE=%D
>E=
D	E=D	AE==FFc           	      l   d}d}	 t          j                    }|                    |           n+# t          t          f$ r t          j        d           Y nw xY wt                      5 }t          |d          5 }|	                    d           |	                    d|z   dz              |	                    d|z   d	z              d d d            n# 1 swxY w Y   t          j        d
          5 }t          j        ddt                     t          j        |d d dd          }t!          |d         j        t          u            d d d            n# 1 swxY w Y   t          j        g dd|dgdd|z   dggt          j                  }t)          ||           d d d            d S # 1 swxY w Y   d S )NrY  u   öüözTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingr  znorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr   r   r&   r>  r@   rj  r   )norm1norm2norm3r  r  rs  rt  ru  rp   )r  r  r  UnicodeErrorImportErrorr   r  r   r   r0   r   r   r   r   rW   r  r   r6  rr   rp  r   )	r+   rq  r=   ro  r7  r   rg  r  r}  s	            r-   test_utf8_file_nodtype_unicodez*TestFromTxt.test_utf8_file_nodtype_unicode  s   	G244HKK!!!!k* 	G 	G 	GK F G G G G G	G ZZ 	*4dD!! AQ-...6)J6777+d2Z?@@@A A A A A A A A A A A A A A A (555 D'"(AC C C}T/2WF F F !)BBCCCD D D D D D D D D D D D D D D (000vw/}t3W=? 7	$ $ $C
 tS)))#	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	* 	*sl   (/ %AA(F)9ACF)C	F)C	F)1AEF)E	F)E	AF))F-0F-(ignore:.*recfromtxt.*:DeprecationWarningc                 6   t          d          }t          ddd          }t          |fi |}t          j        ddgdt
          fd	t
          fg
          }t          t          |t          j                             t          ||           t          d          }t          |fd dd|}t          j        ddgddgdt
          fd	t
          fg          }t          ||           t          |j        |j                   t          |j        ddg           d S )NA,B
0,1
2,3r>  r  Tr  r  r  ra  r  rp   r  r  r  r  r  r  r   rn   )r%   r"  r   rW   rr   rt   r   rU   recarrayr   r  r  ra  r  s        r-   test_recfromtxtzTestFromTxt.test_recfromtxt	  s2    o&&EFFF$))&))(FF+#&*sCj!9; ; ;
4--...T7###'(($CdDCCFCC(FG,!/ ?#&*sCj!9; ; ; 	T7###TY---TVaV$$$$$r.   c                    t          d          }t          dddd          }t          |fdd i|}t          j        ddgd	t
          fd
t
          fg          }t          t          |t          j                             t          ||           t          d          }t          |fd dd|}t          j        ddgddgd	t
          fd
t
          fg          }t          ||           t          |j        |j                   t          |j        ddg           t          d          }t          |d          }t          j        ddgdt
          fdt
          fg          }t          t          |t          j                             t          ||           t          d          }dt
          fdt          fg}t          |d|          }t          j        ddg|          }t          t          |t          j                             t          ||           t          d          }t          |dd i          }t          j        ddgdt          dffg          }t          |j        |j                   t          ||           d S )Nr  r  Tr@   )r  r  case_sensitivero  rq   r  r  ra  r  rp   r  r  r  r  r  r  r   rn   )r  rk   r   )r  rq   zcolor
"red"
"blue"c                 ,    |                      d          S )N")ry  r  s    r-   r  z-TestFromTxt.test_recfromcsv.<locals>.<lambda><	  s     r.   )r  )red)bluecolorro   )r%   r"  r   rW   rr   rt   r   rU   r  r   r  r  ra  rs   r  rq   )r+   r   rb   r  r  rq   s         r-   test_recfromcsvzTestFromTxt.test_recfromcsv	  s    o&&U$t&( ( ($55d5f55(FF+#&*sCj!9; ; ;
4--...T7###'(($CdDCCFCC(FG,!/ ?#&*sCj!9; ; ; 	T7###TY---TVaV$$$o&&$u666(FF+#&*sCj!9; ; ;
4--...T7###o&&sc5\*$uEBBB(FF+!&( ( (
4--...T7### ,--$A/F/F+GHHH(Hi0'C89L8MNNNTZ///T7#####r.   c                    d}t          |          }t          j        |d          }t          j        |          }t          |ddgddgddgg           t          |d	d
gddgg           t	          t
          t          j        t          |          d           d}t          j        t          |          d          }t          j        ddgddgg          }t          ||           t	          t
          t          j        t          |          dd           t	          t
          t          j        t          |          d           t                      5 }|                    t                     t          j        t          |          dd          }t          j        ddgddgddgddgg          }t          ||           t          j        t          |          dd          }t          j        ddgddgddgddgg          }t          ||           d d d            n# 1 swxY w Y   d}t          |          }t          j        |ddd          }t          j        g dddg          }t          ||           t          j        |d |j
                  }t          j        ddgddg          }t          ||           d S ) Nz1 2
3 4
5 6
7 8
9 10
r>   )r  rg   rn   ro   r  r  r  r  r  rX  r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
r:  r;  )r'  r  F)r  r2  r<  r=  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r!  r  r  ))r:  r:  )r;  r;  )r<  r<  )r   <f8)r  r  rp   )r  rq   )r=  r=  )r  r  )r%   rW   r  r   r   r%  rr   r   r   r   rq   )r+   r   r  a1a2r  r  r  s           r-   r  zTestFromTxt.test_max_rowsA	  s   +Tll]3+++]3R1a&1a&1a&1222R1a&1b'*+++ 	j"-JJJJ 9}VD\\A666(RHr2h/00T7### 	j"-1 	" 	" 	" 	" 	j"-JJJJ    		(CJJ()))=OOODhR2r(RHr2hGHHGw'''=OOODhR2r(RHr2hGHHGw'''		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( 		( < Tll}Sa!4HHH(???)<8: : :T7### }S4tzBBB(J
3)<8: : :T7#####s   CH%%H),H)c                    t          j        d                              d          }d}|D ]}d|z   dz   }t                      5 }t	          |d          5 }|                    |           d d d            n# 1 swxY w Y   t          j        |          }d d d            n# 1 swxY w Y   t          ||           d S )Nr  r  r  r  r  rg  )rW   r  r  r   r   r0   r  r   )r+   r  r  r  r   rP   r   r  s           r-   test_gft_using_filenamez#TestFromTxt.test_gft_using_filenamew	  s:    ill""6**& 	) 	)CS=7*D *t$__ "GGDMMM" " " " " " " " " " " " " " "mD))* * * * * * * * * * * * * * * sC((((	) 	)s6   B"A7+B"7A;;B">A;?B""B&	)B&	c                 <   t          j        d                              d          }d}|D ]}d|z   dz   }t                      }t	          j        |d          5 }|                    t          |                     d d d            n# 1 swxY w Y   t          d	          5 }t          |d          5 }|                    |           d d d            n# 1 swxY w Y   t          t          j        |          |           d d d            n# 1 swxY w Y   d S )
Nr  r  r  r  r  rg  fileobjr  z.gz2r   )rW   r  r  r   r  GzipFiler0   r#   r   r   r   r  )	r+   r  r  r  r   r,   rJ  rP   r   s	            r-   test_gft_from_gzipzTestFromTxt.test_gft_from_gzip	  s   1%%f--& 		@ 		@CS=7*D		Aqs333 'q&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' ' ((( @D$__ "GGDMMM" " " " " " " " " " " " " " ""2=#6#6???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @		@ 		@sH   #B		B	B	$D5CDCDC%DD	D	c                     d }t          j         |                      }t          |t          j        d                     d S )Nc               3   V   K   t          d          D ]} t          d| z            V  d S r  )r   r#   r  s    r-   r  z3TestFromTxt.test_gft_using_generator.<locals>.count	  s@      2YY ( (dQh''''''( (r.   rX  )rW   r  r   r  r  s      r-   test_gft_using_generatorz$TestFromTxt.test_gft_using_generator	  sF    	( 	( 	( mEEGG$$3	".....r.   c                    t          d          }t          j        |d           }t          |j        j        g d           t          |j        d         t          k               t          |j        d         t          j        k               t          |j        d         t          j	        k               t          |d         d           t          |d         d           t          |d         d	           d S )
Nz%73786976294838206464 17179869184 1024rp   )r=  r>  r?  r=  r>  r?  g      Dl        i   )r%   rW   r  r   rq   r  r   rs   r:  int_r   r  s      r-   test_auto_dtype_largeintz$TestFromTxt.test_auto_dtype_largeint	  s     =>>}T...TZ%'9'9'9:::
4 E)***
4 BH,---
4 BG+,,,T
$9:::T$Z---T$Z&&&&&r.   c                 2   t          d          }t          j        |dd          \  }}}t          |t          j        g d                     t          |t          j        g d                     t          |t          j        g d                     d S )Nz1,2,3
4,5,6
7,8,9
0.0,1.0,2.0r>  T)r?  r  )r:  r=  r  r  )r;  r  rT  r:  )r<  rL  r  r;  )r%   rW   rM  r   rr   )r+   r  rk   r   r   s        r-   test_unpack_float_dataz"TestFromTxt.test_unpack_float_data	  s    788*SC===1a1bh';';';<<===1bh';';';<<===1bh';';';<<=====r.   c                 &   t          d          }ddd}t          j        ||d          \  }}}t          |j        t          j        d                     t          |j        t          j        d                     t          |j        t          j        d	                     t          |t          j        d
dg                     t          |t          j        ddg                     t          |t          j        ddg                     d S )Nr  r  r  r  Tr  r  r   r4  r  r  rl  r  r  r  )r%   rW   r  r   rq   r   rr   r  s         r-   r  z"TestFromTxt.test_unpack_structured	  s     '((&3EFF-2d;;;1aQWbhtnn---QWbhtnn---QWbhtnn---1bhd|445551bhBx001111bhc{3344444r.   c                 V   t          d          }t          j        ddg          t          j        ddg          t          j        ddg          f}t          j        |d dd	
          }t	          ||          D ]/\  }}t          ||           t          |j        |j                   0d S )NzM 21 72.
F 35 58.r  r  rl  r  r  r  Tzutf-8)rq   r  ro  )r%   rW   rr   r  r
  r   r   rq   )r+   r  expectedr  rY   results         r-   test_unpack_auto_dtypez"TestFromTxt.test_unpack_auto_dtype	  s     )**Hc3Z(("(B8*<*<bhSz>R>RS}STGLLLx.. 	2 	2KCsF+++FL1111	2 	2r.   c                     t          d          }ddd}t          j        ddgt          j                  }t          j        ||d	          }t          ||           t          |j        |j                   d S )
Nz21
35r   r   r  rl  r  rp   Tr  )r%   rW   rr   r  r  r   r   rq   r+   r  r   r  r  s        r-   test_unpack_single_namez#TestFromTxt.test_unpack_single_name	  sx     X'228RHBH555}S48888T***X^TZ00000r.   c                    t          d          }ddd}t          j        dt          j                  }t          j        ||d          }t          ||           t          d	|j                   t          |j        |j                   d S )
Nr  r   r  r  r$  rp   Tr  r3   )	r%   rW   rr   r  r  r   r   ri   rq   r  s        r-   test_squeeze_scalarzTestFromTxt.test_squeeze_scalar	  s     Skk'228D111}S48888T***R$$$X^TZ00000r.   ndimr  c                     d}t          j        t          |          |          }t          j        t          |          |          }t	          ||           d S )N42r  )rW   rM  r   r  r   )r+   r  r  rk   r   s        r-   r  zTestFromTxt.test_ndmin_keyword	  sS     Jx}}D111M(3--t4441a     r.   N)_r8   r9   r:   r  rW   r  r  r   rw   r}   r  r"  r0  r4  r8  rA  rE  rN  rL  rO  rR  rW  r]  rh  r  ro  r{  r  rq  r  r  r  r   r   r   r  r  r  r  r  r  r  r  r  rD  r  r  r  r  re  r  rV  r  r  r  r  r  r	  r  r!  r%  r2  r7  r:  r=  rC  rG  rW  rY  r^  r`  rd  rf  rh  rk  ry  r{  r~  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rt   r  r3   r.   r-   r  r  ?  s       |BM**H$ $ $
* 
* 
*
* 
* 
*
$ 
$ 
$$ $ $	! 	! 	!F F F08 8 80 0 0 $ $ $$ $ $
$ 
$ 
$  ! ! !>$ $ $; ; ;
$ 
$ 
$$ $ $$ $ $	$ 	$ 	$	$ 	$ 	$
% 
% 
%B B B$ $ $
$ 
$ 
$ [ JKK$ $ LK$ F F F6' ' '$ $ $
$ 
$ 
$$ $ $$ $ $$ $ $( ( (+ + +*! ! !1 1 1/ / /
	! 	! 	!
- 
- 
-$ $ $! ! !. . .$$ $ $@! ! !8. . .$ $ $$ $ $1 1 1&% % %.B B B" " "" " "" " "" " "" " "" " "&! ! !0! ! !05 5 5! ! !3 3 3&! ! !! ! !< < <": : :<H H H
& & &"K K K*!* !* !*F [ JKK% % LK%& [ JKK($ ($ LK($T4$ 4$ 4$l) ) )@ @ @ / / /' ' '2> > >5 5 52 2 21 1 1
1 
1 
1 [VYYY//!s ! ! ! 0/! ! !r.   r  c                      e Zd Zd Zd Zd Zej                            e	d          ej        
                    deeg          d                         Zej        
                    deeg          d             Zej        
                    deeg          d	             Zej        
                    deeg          d
             Zej        
                    deeg          ej                            d          d                         Zej        
                    deeg          ej                            d          d                         ZdS )TestPathUsagec                    t          d          5 }t          |          }t          j        ddgddgg          }t          j        ||           t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )N.txtr   g?rn   r>   ro   )r   r   rW   rr   r   rM  r   )r+   r7  rk   r   s       r-   test_loadtxtzTestPathUsage.test_loadtxt	  s    V$$$ 	%::D3(QF+,,AJtQ
4  Aq!$$$	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	% 	%s   A#BBBc                 (   t          d          5 }t          |          }t          j        ddgddggt                    }t          j        ||           t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )Nr5  r   rg   rn   r>   ro   )r   r   rW   rr   rt   r   rX   r   r+   r7  rk   r   s       r-   test_save_loadzTestPathUsage.test_save_load
  s    V$$$ 	(::D1a&1a&)3//AGD!74==DtQ'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   A)BBBc                 t   t          d          5 }t          |          }t          j        ddgddggt                    }t          j        ||           t          j        |d          }t          ||           ~t          rt                       t                       d d d            d S # 1 swxY w Y   d S )	Nr5  r   rg   rn   r>   ro   r   r   )
r   r   rW   rr   rt   r   rX   r   r   r   r  s       r-   test_save_load_memmapz#TestPathUsage.test_save_load_memmap

  s    V$$$ 
	::D1a&1a&)3//AGD!743///DtQ''' 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	s   BB--B14B1zmemmap doesn't work correctlyr~   rK  c                    t          d          5 } ||          }t          j        ddgddggt                    }t          j        ||           t          j        |d          }d	|d
         d
<   d	|d
         d
<   ~t          rt                       t                       t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )Nr5  r   rg   rn   r>   ro   zr+r  r  r   )	r   rW   rr   rt   r   rX   r   r   r   )r+   rK  r7  rk   r   r   s         r-   test_save_load_memmap_readwritez-TestPathUsage.test_save_load_memmap_readwrite
  s    V$$$ 	( =&&D1a&1a&)3//AGD!---AAaDGAaDG 74==DtQ'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   B5CCCc                    t          d          5 } ||          }t          j        |d           t          j        |          5 }t	          |d         d           d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S Nr   r   r  r  r	  )r   rW   r   rX   r   r+   rK  r7  r   s       r-   test_savez_loadzTestPathUsage.test_savez_load)
  s/   V$$$ 	@ =&&DHT~.... @$"4;???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@s5   6BA*B*A.	.B1A.	2BB	Bc                    t          d          5 } ||          }t          j        |d           t          j        |          }t	          |d         d           |                                 d d d            d S # 1 swxY w Y   d S r  )r   rW   savez_compressedrX   r   rV   r  s       r-   test_savez_compressed_loadz(TestPathUsage.test_savez_compressed_load1
  s    V$$$ 	 =&&D.999974==DtE{N;;;JJLLL	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   A A>>BBc                    t          d          5 } ||          }t          j        ddg          }t          j        ||           t          j        |          }t          ||           d d d            d S # 1 swxY w Y   d S )Nr  r   r   r   )r   rW   rr   r   r  r   )r+   rK  r7  rk   r   s        r-   test_genfromtxtzTestPathUsage.test_genfromtxt:
  s    V$$$ 	( =&&D&&)**AJtQ=&&Dq$'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s   AA99A= A=r  c                    t          d          5 } ||          }t          |d          5 }|                    d           d d d            n# 1 swxY w Y   t          ddd          }t	          |fi |}t          j        d	d
gdt          fdt          fg          }t          t          |t
          j
                             t          ||           d d d            d S # 1 swxY w Y   d S )Nr  r   rg  r  r>  r  Tr  r  r  ra  r  rp   )r   r   r0   r"  r   rW   rr   rt   r   rU   r  r   r+   rK  r7  r   rb   r  r  s          r-   r  zTestPathUsage.test_recfromtxtC
  sy    V$$$ 
	( =&&DdC )A((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) CTJJJFd--f--Dh/'*Cj3*%=? ? ?GJtR[11222w'''
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	( 
	(s5   C%AC%A	C%A	BC%%C),C)r  c                    t          d          5 } ||          }t          |d          5 }|                    d           d d d            n# 1 swxY w Y   t          ddd          }t	          |fdd i|}t          j        d	d
gdt          fdt          fg          }t          t          |t
          j
                             t          ||           d d d            d S # 1 swxY w Y   d S )Nr  r   rg  r  r  T)r  r  r  rq   r  r  ra  r  rp   )r   r   r0   r"  r   rW   rr   rt   r   rU   r  r   r  s          r-   r  zTestPathUsage.test_recfromcsvR
  s    V$$$ 	( =&&DdC )A((() ) ) ) ) ) ) ) ) ) ) ) ) ) ) $D  F d99$9&99Dh/'*Cj3*%=? ? ?GJtR[11222w'''	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	( 	(s5   C'AC'A	C'A	BC''C+.C+N)r8   r9   r:   r  r  r  r   r   r  r    r  r   r  r  r  r  r  r   r  r  r3   r.   r-   r  r  	  s       % % %( ( (   [w'FGG[_tSk::( ( ;: HG( [_tSk::@ @ ;:@ [_tSk::  ;: [_tSk::( ( ;:( [_tSk::[ JKK( ( LK ;:( [_tSk::[ JKK( ( LK ;:( ( (r.   r  c                  x   t           j                            d          } t                      }t          j        |d          }t          j        ||            |                                 |                    d           t          j        |d          }t          t          j	        |          |            d S )Nr  r  rg  r  r   r   )
rW   r   r   r  r  r   rV   rR   r   rX   rk   r,   r   s      r-   test_gzip_loadr  d
  s    
	  A		Aac***AGAqMMMGGIIIFF1IIIac***Arwqzz1%%%%%r.   c                        e Zd Zd Zd Zd ZdS )
JustWriterc                     || _         d S r(   baser+   r  s     r-   r)   zJustWriter.__init__u
      			r.   c                 6    | j                             |          S r(   )r  r0   r*   s     r-   r0   zJustWriter.writex
  s    yq!!!r.   c                 4    | j                                         S r(   )r  rQ   r  s    r-   rQ   zJustWriter.flush{
  s    y   r.   N)r8   r9   r:   r)   r0   rQ   r3   r.   r-   r  r  t
  sA          " " "! ! ! ! !r.   r  c                   "    e Zd Zd Zd ZddZdS )
JustReaderc                     || _         d S r(   r  r  s     r-   r)   zJustReader.__init__
  r  r.   c                 6    | j                             |          S r(   )r  rH  )r+   r   s     r-   rH  zJustReader.read
  s    y~~a   r.   r   c                 8    | j                             ||          S r(   )r  rR   )r+   offwhences      r-   rR   zJustReader.seek
  s    y~~c6***r.   Nrc  )r8   r9   r:   r)   rH  rR   r3   r.   r-   r  r  ~
  sF          ! ! !+ + + + + +r.   r  c                  \   t           j                            d          } t                      }t          |          }t          j        ||            |                                 |                    d           t          |          }t          t          j	        |          |            d S )Nr  r   )
rW   r   r   r  r   rQ   rR   r  r   rX   r  s      r-   test_ducktypingr  
  s    
	  A		A1AGAqMMMGGIIIFF1III1Arwqzz1%%%%%r.   c                  ,   t                      } t          j        | d          }|                    d           |                                 |                     d           t          d          5 }t          |d          5 }|                    |                                            d d d            n# 1 swxY w Y   t          j
        |          }d d d            n# 1 swxY w Y   |                                  t          |g d           d S )	Nrg  r     1 2 3
r   ru  r   r   r   )r   r  r  r0   rV   rR   r   r   rH  rW   rM  r   )r,   rJ  rP   r   r  s        r-   test_gzip_loadtxtr  
  sf    			Aac***AGGJGGIIIFF1III				 4$ 	GGAFFHH	 	 	 	 	 	 	 	 	 	 	 	 	 	 	j               GGIIIsIII&&&&&s6   3C#(B8,C#8B<	<C#?B<	 C##C'*C'c                  >   t                      } t          j        | d          }|                    d           |                                 |                     d           t          j        | d          }t          t          j        |          g d           d S )Nrg  r  r  r   r   r   )	r   r  r  r0   rV   rR   r   rW   rM  )r,   r   s     r-   test_gzip_loadtxt_from_stringr  
  s    		Aac***AGGJGGIIIFF1IIIac***Arz!}}iii00000r.   c                     t                      } t          j        d          }t          j        d          }t          j        | ||           |                     d           t          j        |           }t          d|v            t          d|v            t          d|                                v            t          d|                                v            |                                D ]+\  }}t          |dv            t          |j
        d           ,|                                D ]}t          |j
        d           t          t          |                                          dk               |D ]}t          |dv            t          d|                                v            |                    d          |d         k                                    sJ d S )N)r>   r>   )r   r   r   r   r   rn   )r   rW   rR  r   rR   rX   r   keysitemsr   ri   valuesr  rO   all)r,   r   r   r3  r   rk   s         r-   test_npzfile_dictr  
  s   		A
A
AHQ!qFF1III


AC1HC1HC16688OC16688O		 & &1Z   QWf%%%%XXZZ & &QWf%%%%C		NNa    ! !Z    C16688OEE#JJ!C& %%'''''''r.   zPython lacks refcountsr~   c                     t                      } t          j        | g d           |                     d           t	                      5  t          j        |            d d d            n# 1 swxY w Y   |                     d           ddg}t	                      5  t          j        t          d          |          }t          |t          j	        dg|                     d d d            d S # 1 swxY w Y   d S )Nr   r   )rk   u1rn   )r   r  rn   z0 1 2 3rp   )r  r  )
r   rW   r   rR   r   rX   rM  r%   r   rr   )r   r   r   s      r-   test_load_refcountr  
  s~   
 			AHQ			FF1III			  



               FF1III
.	)B			 @ @Jvi((333Q"2!32>>>???@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @s%   	A**A.1A.A	C22C69C6c                     t                      } t          j        | d           t          j        | d           |                     d           t          j        |           dk    sJ t          j        |           dk    sJ t          j        t                    5  t          j        |            d d d            d S # 1 swxY w Y   d S )Nrg   rn   r   )r   rW   r   rR   rX   r   r   EOFError)r   s    r-   #test_load_multiple_arrays_until_eofr  
  s    		AGAqMMMGAqMMMFF1III71::????71::????	x	 	   



                 s   B==CCr(   )XrS   r   r  r^   r   rB   r   rX  r   pathlibr   tempfiler   ior   r   r   r  multiprocessingr   r	   ctypesr
   numpyrW   numpy.mar  numpy.exceptionsr   numpy.lib._iotoolsr   r   	numpy.libr   numpy.lib._npyio_implr   r   numpy.ma.testutilsr   numpy.testingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    numpy.testing._private.utilsr!   numpy._utilsr#   r%   maxsizer  r  rz  r  r  r{  rC   rF   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r3   r.   r-   <module>r     s   



 				  				       				        ' ' ' ' ' '                        . . . . . . . .                 6 6 6 6 6 6 @ @ @ @ @ @ @ @ ! ! ! ! ! ! 8 8 8 8 8 8 8 8 + + + + + +                                  9 8 8 8 8 8            > > > > >W > > >& ;JJJGG   GGGKKKHH   HHH0 0 0 0h% h% h% h% h% h% h% h%VI I I I I= I I I] ] ] ] ]M ] ] ]@_ _ _ _ _ _ _ _B	E% E% E% E% E% E% E% E%Pn, n, n, n, n,+ n, n, n,`?6 ?6 ?6 ?6 ?6 ?6 ?6 ?6Ju! u! u! u! u!+ u! u! u!p%j( j( j( j( j( j( j( j(Z& & & ! ! ! ! ! ! ! !+ + + + + + + +& & &' ' '*1 1 1( ( (> $-EFF@ @ GF@"    s$   C CCC! !C+*C+