
    ,|hs                       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	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mZ d d	l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*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3  G d de      Z4e jj                  dkD  Z6	 d dl7Z7dZ8	 d dl:Z:dZ;d2dZ< G d d      Z= G d de=      Z> G d de=      Z? G d d      Z@ G d d      ZA G d deA      ZB G d d       ZC G d! d"eA      ZD G d# d$      ZEd% ZF G d& d'      ZG G d( d)      ZHd* ZId+ ZJd, ZKd- ZLe	j                  j                  e, d./      d0        ZOd1 ZPy# e9$ r dZ8Y w xY w# e9$ r dZ;Y w xY w)3    N)Path)NamedTemporaryFile)BytesIOStringIO)datetime)Valueget_context)c_bool)ConverterErrorConversionWarning)asbytes)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_memoryc                   $    e Zd ZdZddZd Zd Zy)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                 B    t        j                  | t        |             y N)r   __init__r   selfss     V/var/www/html/test/engine/venv/lib/python3.12/site-packages/numpy/lib/tests/test_io.pyr#   zTextIO.__init__*   s    wqz*    c                 B    t        j                  | t        |             y r"   )r   writer   r$   s     r'   r*   zTextIO.write-   s    dGAJ'r(   c           	      h    t        j                  | |D cg c]  }t        |       c}       y c c}w r"   )r   
writelinesr   )r%   linesr&   s      r'   r,   zTextIO.writelines0   s$    4e!<'!*!<=!<s   /
N) )__name__
__module____qualname____doc__r#   r*   r,    r(   r'   r    r    !   s    +(>r(   r    l        TFc                     t        |       t        k(  r| j                  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'   r;   r;   A   s;     Aw%HHXT]]1c*2A.//r(   c                       e Zd Zd Zd Zd Zd Zd Zej                  j                  ej                  dk(  d      d	        Zd
 Zej                  j                  d        Zy)RoundtripTestc                    |j                  di       }|j                  dddi      }|j                  dd      }|rt        d      }|j                  }nt               }|}	 |}	 ||g|	i | |j	                          |j                  d       t        j                  d	k(  r t        |t              s|j                          t        j                  |fi |}
|	| _        |
| _        t        |t              sl|j                          d
t               v rOt        |
t        j                  j                   j"                        s t%        j&                  |j                         yyyy# t        |t              sl|j                          d
t               v rOt        
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arrrF   localslibnpyioNpzFileosremove)r%   	save_funcargskwargsr@   rA   rC   target_file	load_filerQ   rF   s              r'   	roundtripzRoundtripTest.roundtripM   s    JJ{B/	JJ{^T,BC	zz.%8,E:K#((I!)K#I	4Ck5C595Q||w&z+w/O!!#779:	:LDH ,Dk73!!#!VX-%lBFFLL4H4HI		+"2"23 J . 4:k73!!#!VX-%lBFFLL4H4HI		+"2"23 J . 4s   !BE$ $A>G"c                    | j                  |       | j                  |d       | j                  t        j                  |             | j                  t        j                  |      d       |j                  d   dkD  rQ| j                  t        j                  |      dd         | j                  t        j                  |      dd  d       y y )NT)rC   r      )r]   rO   asfortranarrayshaper%   as     r'   check_roundtripszRoundtripTest.check_roundtrips}   s    qqt,r((+,r((+$?771:>NN2,,Q/34NN2,,Q/3$NG r(   c                    t        j                  g t              }| j                  |       t        j                  ddgddggt              }| j                  |       t        j                  ddgddggt              }| j                  |       t        j                  ddgddggt         j
                  	      }| j                  |       t        j                  ddgddggt         j                  	      }| j                  |       y )
Nr_      r6      y      ?      @y       @      @y      @      @y      @       @dtype)rO   arrayfloatrd   intcsinglecdoublerb   s     r'   
test_arrayzRoundtripTest.test_array   s    HHRa HHq!fq!f%u-a HHq!fq!f%s+a HHvv&(89La HHvv&(89La r(   c                     t        j                  g t              }| j                  |       t        j                  ddgddggt              }| j                  |       y )Nr_   rf   r6   rg   )rO   rj   objectrd   rb   s     r'   test_array_objectzRoundtripTest.test_array_object   sK    HHR a HHq!fq!f%v.a r(   c                 ^    t        j                  g dt              }| j                  |       y )Nr_   rf   r6   rg   )rO   rj   rl   r]   rb   s     r'   test_1DzRoundtripTest.test_1D   s    HH\3'qr(   rE   zFails on Win32reasonc                     t        j                  ddgddgg      }| j                  |dddi       t        j                  ddgddgg      }| j                  |dddi       y )	Nr_   g      @rg   g333333@T	mmap_moder)rC   rA   )rO   rj   r]   r`   rb   s     r'   	test_mmapzRoundtripTest.test_mmap   sh    HHq#hC)*qtS7IJ3x!S23qtS7IJr(   c                 \    t        j                  ddgddg      }| j                  |       y )Nr_   rf   r6   rg   xi4yr   rh   )rO   rj   rd   rb   s     r'   test_recordzRoundtripTest.test_record   s*    HHff%k;-GHa r(   c                 2   t        d      D cg c]  }d|z  dz  t        f }}t        j                  d|      }t	        j
                  d      5  t	        j                  dd	t               | j                  |       d d d        y c c}w # 1 sw Y   y xY w)
N  %dd   i  rh   Trecordalwaysr.   )	rangerk   rO   oneswarningscatch_warningsfilterwarningsUserWarningrd   )r%   idtrc   s       r'   test_format_2_0zRoundtripTest.test_format_2_0   s    16s<AqC'<<GGD#$$D1 	%##Hb+>!!!$	% 	% =	% 	%s   B-BBN)r/   r0   r1   r]   rd   ro   rr   ru   pytestmarkskipifrK   rL   r{   r   slowr   r3   r(   r'   r>   r>   L   su    .4`H! ! [[/8HIK JK! [[% %r(   r>   c                       e Zd Zd Zy)TestSaveLoadc                    t        j                  | t        j                  g|i | t	        | j
                  d   | j                         t	        | j
                  d   j                  | j                  j                         t	        | j
                  d   j                  j                  | j                  j                  j                         y )Nr   )
r>   r]   rO   saver   rQ   rF   ri   flagsfnc)r%   rY   rZ   s      r'   r]   zTestSaveLoad.roundtrip   s    bgg???TXXa[$"3"34TXXa[&&(9(9(?(?@TXXa[&&**D,=,=,C,C,G,GHr(   N)r/   r0   r1   r]   r3   r(   r'   r   r      s    Ir(   r   c                      e Zd Zd Zej
                  j                  ed      ej
                  j                  e d      ej
                  j                  d                      Z
d Zd Zd Zd	 Zej
                  j                  ed
      d        Zd Zej
                  j$                  d        Zd Zej
                  j+                  dg d      d        Zy)TestSavezLoadc                 8   t        j                  | t        j                  g|i | 	 t	        | j
                        D ]w  \  }}| j                  d|z     }t        ||       t        |j                  |j                         t        |j                  j                  |j                  j                         y 	 | j                  j                  rX| j                  j                  j                          t        j                  | j                  j                  j                         y y # | j                  j                  rX| j                  j                  j                          t        j                  | j                  j                  j                         w w xY w)Nzarr_%d)r>   r]   rO   savez	enumeraterQ   rF   r   ri   r   r   fidrN   rV   rW   rH   )r%   rY   rZ   nrQ   reloadeds         r'   r]   zTestSavezLoad.roundtrip   s&   bhh@@@
	6#DHH- @3,,X\:S(+SYY7SYY]]HNN,>,>?	@   $$!!%%++-		$++//445 %t  $$!!%%++-		$++//445 %s   BD) )A0FzHangs on PyPyrv   zNeeds 64bit platformc                    d}t        j                  |t         j                        }t        dd      5 }t        j                  ||       ~t        j
                  |      }|d   }|j                          ~d d d        y # 1 sw Y   y xY w)Nl     rh   numpy_test_big_arrays_.npz)prefixsuffixrc   rc   )rO   emptyuint8r   r   rP   rN   )r%   Lrc   tmpnpfiles        r'   test_big_arrayszTestSavezLoad.test_big_arrays   sr     HHQbhh'5fE 	HHSAWWS\FsALLN	 	 	s   ABBc                     t        j                  ddgddggt              }t        j                  ddgddggt              }| j	                  ||       y )	Nr_   rf   r6   rg         ?       @       @      @      @            @      (@)rO   rj   rk   complexr]   )r%   rc   bs      r'   test_multiple_arraysz"TestSavezLoad.test_multiple_arrays   sL    HHq!fq!f%u-HHvv&(9:GDq!r(   c                 P   t        j                  ddgddggt              }t        j                  ddgddggt              }t	               }t        j
                  |||	       |j                  d
       t        j                  |      }t        ||d          t        ||d          y Nr_   rf   r6   rg   r   r   r   r   )file_afile_br   r   r   )	rO   rj   rk   r   r   r   rJ   rP   r   r%   rc   r   cls        r'   test_named_arrayszTestSavezLoad.test_named_arrays   s    HHq!fq!f%u-HHvv&(9:GDI
1Q'	q	GGAJQ($Q($r(   c                 *   t        j                  g d      }t               }t        j                  ||       |j	                  d       t        j
                  |      }t        j                  t        d      5  |d    d d d        y # 1 sw Y   y xY w)Nr_   rf   r6   r   r   z(1, 2)matchr}   )	rO   rj   r   r   rJ   rP   r   raisesKeyError)r%   rc   fr   s       r'   test_tuple_getitem_raisesz'TestSavezLoad.test_tuple_getitem_raises   sg    HHYI
a	q	GGAJ]]884 	dG	 	 	s   :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
                  |||	       |j                  d
       t        j                  |      }t        t        t        |j                              ddg       t        ||j                  j                         t        ||j                  j                         y r   )rO   rj   rk   r   r   r   rJ   rP   r   sorteddirr   r   r   r   s        r'   test_BagObjzTestSavezLoad.test_BagObj   s    HHq!fq!f%u-HHvv&(9:GDI
1Q'	q	GGAJVCH%':;Q

#Q

#r(   zCannot start threadc                     d }g }t        d      D cg c]  }t        j                  ||f       }}|D ]  }|j                           |D ]  }|j	                           |rt        |      y c c}w )Nc                    t        d      5 }t        j                  j                  dd      }	 t        j                  ||       d d d        y # t
        $ r}| j                  |       Y d }~(d }~ww xY w# 1 sw Y   y xY w)Nr   r   r   )rQ   )r   rO   randomrandnr   OSErrorappend)
error_listr   rQ   errs       r'   writerz9TestSavezLoad.test_savez_filename_clashes.<locals>.writer  sp    ( +Ciiooc3/+HHSc*+ +  +%%c**+	+ +s.   !A6A	A3A.)A6.A33A66A?r6   targetrY   )r   	threadingThreadstartjoinAssertionError)r%   r   errorsjthreadsts         r'   test_savez_filename_clashesz)TestSavezLoad.test_savez_filename_clashes  s    
	+ !!H& ##6	B & & 	AGGI	 	AFFH	  (( &s   A0c                    t        d      5 }t        |d      5 }t        j                  |d       d d d        t        |dd      5 }|j	                  d       t        |j                          t        j                  |      d	    t        |j                          |j	                  d       t        |j                          d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)
Nr   r   wbLOVELY LOADdatarbi'  r   r   )r   openrO   r   rJ   r   closedrP   )r%   r   fps      r'   test_not_closing_opened_fidz)TestSavezLoad.test_not_closing_opened_fid  s     V$ 
	'c4 1B-01c4' '2
BII&F#BII&
BII&'
	' 
	'1 1' '
	' 
	's:   C-CC-A=C!C-C	C-!C*	&C--C6c                    t        d      5 }t        j                  |d       t               5 }|j	                  t
               t        dd      D ]7  }	 t        j                  |      d    	 t        s$t        j                          9 	 d d d        d d d        y # t        $ r}d|z  }t        |      d }~ww xY w# t        rt        j                          w w xY w# 1 sw Y   SxY w# 1 sw Y   y xY w)	Nr   r   r   r   r_   i  r   z#Failed to load data from a file: %s)r   rO   r   r   filterResourceWarningr   rP   	Exceptionr   r   gccollect)r%   r   supr   emsgs         r'   test_closing_fidzTestSavezLoad.test_closing_fid(  s     V$ 	)HHS}- #$ 
)

?+q$ )A)V,
 #JJL)
)	) 	) % 2CaG,S112 #JJL #
) 
)	) 	)sX   "C*%CB.C5CC*	B;	&B6	6B;	;B>>C	CC'	#C**C3c                    d}t        d|      5 }t        j                  |d       t        j                  |      }|j                  j
                  }|j                          t        |j                         d d d        y # 1 sw Y   y xY w)N&numpy_test_closing_zipfile_after_load_r   )r   r   place holderlab)	r   rO   r   rP   zipr   rN   r   r   )r%   r   r   r   r   s        r'   test_closing_zipfile_after_loadz-TestSavezLoad.test_closing_zipfile_after_loadB  sg    
 :VF3 	sHHSn-773<DBJJLBII	 	 	s   A(BB
zcount, expected_repr))r_   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                 D   t        j                  ddgddggt              }t        d      5 }t        j                  |g|g|z    t        j
                  |      }t        |      |j                  |      k(  sJ |j                          d d d        y # 1 sw Y   y xY w)Nr_   rf   r6   rg   r   r   )fname)	rO   rj   rk   r   r   rP   reprformatrN   )r%   countexpected_reprrc   r   r   s         r'   test_repr_lists_keysz"TestSavezLoad.test_repr_lists_keysO  s     HHq!fq!f%u-V$ 	HHS%A3u9%A7m222====GGI		 	 	s   A BBN)r/   r0   r1   r]   r   r   r   r   IS_64BITr   r   r   r   r   r   r   r   r   	slow_pypyr   r   parametrizer  r3   r(   r'   r   r      s    6 [[8[[H-CD[[	  E 9	
%	$ [[(=>) ?).' [[) )2 [[3 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d
 Zd Zd Zd Zd Zd Zd Zd Zej*                  j-                  dddg      ej*                  j-                  deeg      d               Zej*                  j5                  ej8                  dk(  d      ej*                  j:                   ed      d                      Zy)TestSaveTxtc                    t        j                  ddgddggt              }d}t               }t        j                  |||       |j                  d       t        |j                         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       |j                  d       t        |j                         ddg       y )Nr_   rf   r6   rg   z%.18er<   r    
r}   r~   r      1 2
   3 4
)
rO   rj   rk   r   savetxtrJ   r   	readlinesr   rl   )r%   rc   r<   r   s       r'   ro   zTestSaveTxt.test_array`  s    HHq!fq!f%u-I


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


1aT"	q	Q[[]Xx$89r(   c                     t        j                  g dt              }t               }t        j                  ||d       |j                  d       |j                         }t        |g d       y )Nrt   r   r  r   )s   1
s   2
s   3
s   4
)rO   rj   rl   r   r  rJ   r  r   r%   rc   r   r-   s       r'   ru   zTestSaveTxt.test_1Dp  sJ    HH\3'I


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             y )Nr_   rf   )r   r   
ValueErrorrO   r  rj   r%   r   s     r'   
test_0D_3DzTestSaveTxt.test_0D_3Dx  sH    Ij"**a!=j"**aQC!:,1GHr(   c                     t        j                  ddgddg      }t               }t        j                  ||d       |j	                  d       t        |j                         d	d
g       y )Nr}   r~   r   r   rh   r   r  r   r  r  rO   rj   r   r  rJ   r   r  r%   rc   r   s      r'   test_structuredzTestSaveTxt.test_structured}  sS    HHff%k;-GHI


1aT"	q	Q[[]Xx$89r(   c                     t        j                  ddgg d      }t               }t        j                  ||ddg   d       |j	                  d	       t        |j                         d
dg       y )Nr   rg   r   r  ))foor   )barr   )bazr   rh   r"  r$  r   r  r   s   1 3
s   4 6
r  r  s      r'   test_structured_paddedz"TestSaveTxt.test_structured_padded  s^    HHi	* 3
  I


1a'T2	q	Q[[]Xx$89r(   c                 
   t        j                  dg d      }|ddg   }t        d      5 }t        |      }t        j                  ||       t        j
                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr_   )r   r   )zf4rh   r   r'  .npyr   )rO   r   r   r   r   rP   r   )r%   rc   vpathr   s        r'   test_multifield_viewz TestSaveTxt.test_multifield_view  sm    GGADEsCjMV$ 	(:DGGD!774=DtQ'		( 	( 	(s   AA99Bc                     t        j                  ddgddgg      }t               }t        j                  ||dd       |j	                  d       t        |j                         d	d
g       y )N      ?       @      @      @,r   )	delimiterr<   r   s   1,2
s   3,4
r  r  s      r'   test_delimiterzTestSaveTxt.test_delimiter  sV    HHr2hR)*I


1a3D1	q	Q[[]Xx$89r(   c                 r   t        j                  ddg      }t               }t        j                  ||ddg       |j	                  d       t        |j                         ddg       t               }t        j                  ||d	       |j	                  d       |j                         }t        |d
dg       t               }t        j                  ||d	d       |j	                  d       |j                         }t        |d
dg       t               }t        t        t         j                  ||d       y )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
r2  )r<   r3  c   )	rO   rj   r   r  rJ   r   r  r   r  r  s       r'   test_formatzTestSaveTxt.test_format  s    HHff%&I


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


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


1a^s;	q	U]M:; Ij"**a;r(   c                 B   t               }t        j                  ddgt              }d}t        j                  ||d|       |j                  d       t        |j                         t        d|z   d	z                t               }t        j                  ||d|
       |j                  d       t        |j                         t        d|z   dz                t               }d}t        j                  ||d||       |j                  d       t        |j                         t        ||z   dz   dz                t               }d}t        j                  ||d||       |j                  d       t        |j                         t        d|z   |z   dz                y )Nr}   r~   rh   zTest header / footerz%1d)r<   headerr   z# z	
1 2
3 4
)r<   footerz
1 2
3 4
# r  z% )r<   r9  commentsz1 2
3 4
)r<   r:  r;  )	r   rO   rj   rl   r  rJ   r   readr   )r%   r   rc   test_header_footer
commentstrs        r'   r=  zTestSaveTxt.test_header_footer  sg    IHHff%S13


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


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


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


1aU,z	C	q	QVVX\J69KKdRS	Ur(   c                     t               5 }t        j                  ddg      }t        j                  ||       t        j                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr}   r~   )r   rO   rj   r  loadtxtr   )r%   rH   rc   r   s       r'   test_file_roundtripzTestSaveTxt.test_file_roundtrip  sW    Z 	%4&&)*AJJtQ

4 Aq!$		% 	% 	%s   AA##A,c                    d}d}t        j                  ||ft         j                        }t         j                  }t         j                  }|d|z  z   |d d  t               }t        j                  ||d       |j                  d       |j                         }t        |ddg       t               }t        j                  ||d|z         |j                  d       |j                         }t        |d	d	g       t               }t        j                  ||d
g|z         |j                  d       |j                         }t        |ddg       y )Nrf   rh                 ?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)

rO   zeros
complex128pir   r   r  rJ   r  r   r%   ncolsnrowsrc   reimr   r-   s           r'   test_complex_arrayszTestSaveTxt.test_complex_arrays  s)   HHeU^2==9UUTTD2I~! I


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


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


1an-56	q	??A	Br(   c                 R   d}d}t        j                  ||ft         j                        }t         j                  }t         j                  }|d|z  z
  |d d  t               }t        j                  ||d       |j                  d       |j                         }t        |ddg       y )Nrf   rh   rC  z%.3er  r   s0    (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
rD  rH  s           r'   test_complex_negative_exponentz*TestSaveTxt.test_complex_negative_exponent  s    HHeU^2==9UUTTD2I~!I


1aV$	q	AAC	Dr(   c                      G d dt               } |       }t        j                  ddg      }t        j                  ||       t        j                  |      }t        ||       y )Nc                       e Zd Zd Zy)4TestSaveTxt.test_custom_writer.<locals>.CustomWriterc                 D    | j                  |j                  d             y )N   
)extendsplit)r%   texts     r'   r*   z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.write  s    DJJu-.r(   N)r/   r0   r1   r*   r3   r(   r'   CustomWriterrR    s    /r(   rX  r}   r~   )listrO   rj   r  r@  r   )r%   rX  wrc   r   s        r'   test_custom_writerzTestSaveTxt.test_custom_writer  sO    	/4 	/ NHHff%&


1aJJqM1a r(   c                     dj                  d      }t        j                  |gt        j                        }t	               5 }t        j
                  t        j                  j                  |d      |dgd       d d d        y # 1 sw Y   y xY w)N   ϖUTF-8rh   test.csv%sr<   encoding)	r9   rO   rj   str_r   r  rV   r+  r   )r%   utf8rc   tmpdirs       r'   test_unicodezTestSaveTxt.test_unicode%  sj    !!'*HHdV277+Y 	)&JJrww||FJ7 ')	) 	) 	)s   9BBc           	      D   dj                  d      }t        j                  |gt        j                        }ddg}t        r|j                  d       t        r|j                  ddg       t               5 }|D ]  }t        j                  t        j                  j                  |d	|z         |d
gd       t        j                  t        j                  j                  |d	|z         dt        j                        }t        ||        	 d d d        y # 1 sw Y   y xY w)Nr]  r^  rh   r.   .gz.bz2.xz.lzmar_  r`  z	UTF-16-LEra  rb  ri   )r9   rO   rj   rc  HAS_BZ2r   HAS_LZMArU  r   r  rV   r+  r   r@  r   )r%   rd  rc   suffixesre  r   r   s          r'   test_unicode_roundtripz"TestSaveTxt.test_unicode_roundtrip-  s    !!'*HHdV277+;OOF#OOUG,-Y 	)&" )

277<<
V0CDa $v=JJrww||FJ4GH(3277D"1a()	) 	) 	)s   6BDDc                 4   dj                  d      }t        j                  |gt        j                        }t	               }t        j
                  ||dgd       |j                  d       t        |j                         j                  d      |dz          y Nr]  r^  rh   r`  ra  r   r  )	r9   rO   rj   rc  r   r  rJ   r   r<  r%   rd  rc   r&   s       r'   test_unicode_bytestreamz#TestSaveTxt.test_unicode_bytestream>  sk    !!'*HHdV277+I


1adVg6	q	QVVX__W-td{;r(   c                    dj                  d      }t        j                  |gt        j                        }t	               }t        j
                  ||dgd       |j                  d       t        |j                         |dz          y rr  )	r9   rO   rj   rc  r   r  rJ   r   r<  rs  s       r'   test_unicode_stringstreamz%TestSaveTxt.test_unicode_stringstreamF  sb    !!'*HHdV277+J


1adVg6	q	QVVXtd{+r(   r<   %fs   %fiotypec                    t        j                  dg      } |       }t        j                  |||       |j                  d       |t        u rt        |j                         ddz         y t        |j                         ddz         y )Nr.  r  r   z%f
s   %f
)rO   rj   r  rJ   r   r   r<  )r%   r<   rx  rc   r&   s        r'   test_unicode_and_bytes_fmtz&TestSaveTxt.test_unicode_and_bytes_fmtN  se     HHbTNH


1aS!	q	X6B;/7R<0r(   rE   zfiles>4GB may not workrv   g   `A)
free_bytesc                 >   d }t        t              }t        d      }|j                  ||f      }|j	                          |j                          |j                  rt        d      |j                  dk(  rt        j                  d       |j                  dk(  sJ y )Nc                    d| _         	 t        j                  t        d      D cg c]@  }t        j                  j                  t        j                  j                  dd      d      B c}t              }t               5 }t        j                  t        j                  j                  |d      |       d d d        y c c}w # 1 sw Y   y xY w# t        $ r	 d	| _          w xY w)
NFi 5 2   r   rg   rh   ztest.npz)	test_dataT)valuerO   asarrayr   r   randrandintrq   r   r   rV   r+  r   MemoryError)memoryerror_raisedr   r  re  s       r'   check_large_zipz3TestSaveTxt.test_large_zip.<locals>.check_large_zip_  s    ',$ JJ16v(@,- )+		(*		(9(9"S(A!)E (@GMO	 Y 2&HHRWW\\&*='022 2(@2 2  +/"(s;   C AC *C 6C7C  C C
C C C#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			##LMM::LL^_zzQr(   N) r/   r0   r1   ro   ru   r  r  r%  r,  r4  r7  r=  rA  rM  rO  r[  rf  rp  rt  rv  r   r   r  r   r   rz  r   rK   rL   r   r   r  r3   r(   r'   r  r  _  s    : >I
::(:<4 UD%$BLD$
!))"<, [[UT5M2[[X'':;	1 < 3	1 [[g-6NO[[$  %  P r(   r  c                       e Zd Zd Zd Zej                  j                  e d      d        Z	ej                  j                  e
 d      d        Zd Zd	 Zd
 Zd Zd Zy)LoadTxtBasec           	         t        j                  d      j                  d      }d}|D ]  }d|z   dz   }|D ]  }t        |      5 } ||dd	      5 }	|	j	                  |       d d d        | j                  |d
      }
t        |
|        ||dd
      5 }	| j                  |	      }
d d d        t        |
|       d d d          y # 1 sw Y   fxY w# 1 sw Y   .xY w# 1 sw Y   xY w)Nr  rf   r6   r  z
0 1 23 4 5r   wtz	UTF-32-LE)moderb  rb  rt)rO   arangereshaper   r*   loadfuncr   )r%   fopenro  wantedlinesepsepr   r   rH   r   ress              r'   check_compressedzLoadTxtBase.check_compressed  s    1%%f-& 
	4CS=7*D" 4V, 4t$E &&--{-CC&sF3tT[A /Q"mmA./&sF34 44
	4& &/ /4 4s<   C C	#2C C	'C CC CC  C)c                 D    | j                  t        j                  d       y )N)rh  )r  gzipr   r%   s    r'   test_compressed_gzipz LoadTxtBase.test_compressed_gzip  s    dii2r(   z	Needs bz2rv   c                 D    | j                  t        j                  d       y )N)ri  )r  bz2r   r  s    r'   test_compressed_bz2zLoadTxtBase.test_compressed_bz2  s    chh	2r(   z
Needs lzmac                 D    | j                  t        j                  d       y )N)rj  rk  )r  lzmar   r  s    r'   test_compressed_lzmaz LoadTxtBase.test_compressed_lzma  s    dii)9:r(   c                    t               5 }t        |d      5 }|j                  dj                  d             d d d        | j	                  |d      }t        |g d       d d d        y # 1 sw Y   3xY w# 1 sw Y   y xY w)Nr   z0.
1.
2.UTF-16r  )        r.  r/  )r   r   r*   encoder  r   )r%   r+  r   r   s       r'   test_encodingzLoadTxtBase.test_encoding  sw    Z 	04dD! 7Q++H567dX6Aq,/		0 	07 7	0 	0s!   A7!A+)A7+A4	0A77B c                 B   dj                  d      }t               5 }t        |d      5 }|j                  |j	                  d             d d d        | j                  |dt        j                        }t        ||       d d d        y # 1 sw Y   @xY w# 1 sw Y   y xY w)Ns   öüör^  r   r  rl  )	r9   r   r   r*   r  r  rO   rc  r   )r%   nonasciir+  r   r   s        r'   test_stringloadzLoadTxtBase.test_stringload  s    .55g>Z 	,4dD! 3Q123dXRWWEAq(+		, 	,3 3	, 	,s"   B!B	
6B	B	BBc                     d}| j                  t        |      t        j                  d      }t	        |t        j
                  |j                  d      j                                      y Ns   h  i  jr  )ri   rb  )r  r   rO   rc  r   rj   r9   rV  r%   utf16r*  s      r'   test_binary_decodezLoadTxtBase.test_binary_decode  sH    4MM'%.(MK1bhhu||H'='C'C'EFGr(   c                    t               }|j                  d       |j                  d       | j                  |t        j
                  dd i      }t	        j                  dj                  d      g      }t        ||       y )Nr]  r   c                 $    | j                  d      S )Nr^  r9   r   s    r'   <lambda>z4LoadTxtBase.test_converters_decode.<locals>.<lambda>  s    188G3D r(   )ri   
convertersr^  )	r    r*   rJ   r  rO   rc  rj   r9   r   r%   r   r   rc   s       r'   test_converters_decodez"LoadTxtBase.test_converters_decode  sk    H		q	MM!277&')D%E  GHHk((1231a r(   c                 v   dj                  d      }t               5 }t        j                  |dd      5 }|j	                  |       d d d        | j                  |t        j                  dd id      }t        j                  |dz   g      }t        ||       d d d        y # 1 sw Y   ]xY w# 1 sw Y   y xY w)	Nr]  r^  r  r  r   c                     | dz   S )Nr   r3   r  s    r'   r  z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>  s
    q3w r(   ri   r  rb  r   )
r9   r   ior   r*   r  rO   rc  rj   r   )r%   rd  r+  r   r   rc   s         r'   test_converters_nodecodez$LoadTxtBase.test_converters_nodecode  s    !!'*Z 	%4tg6 !d"''*+->)?'.  0A $*&Aq!$	% 	% 	% 	%s#   B/B#AB/#B,	(B//B8N)r/   r0   r1   r  r  r   r   r   rm  r  rn  r  r  r  r  r  r  r3   r(   r'   r  r    sz    4 3 [[GK83 93 [[H\:; ;;0,H
!
%r(   r  c                   z   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$                  j'                  exr 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$                  j'                  exr ej,                  j.                  dk  d      d        Z&ej$                  j'                  exr 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$                  j'                   e1jd                         d'k(  d(      d)        Z3d* Z4d+ Z5d, Z6d- Z7ej$                  jq                  d.d/gd0g d1fd0g d2fd0 e9d3      fd4g d5fd4g d6fd4 e9d7      fg      d8        Z:y9):TestLoadTxtc                     t         j                  j                  j                  | _        dt         j                  j                  _        y Nr_   )rO   rS   rT   _loadtxt_chunksize
orig_chunkr  s    r'   setup_methodzTestLoadTxt.setup_method  s'    &&,,99*+'r(   c                 V    | j                   t        j                  j                  _        y r"   )r  rO   rS   rT   r  r  s    r'   teardown_methodzTestLoadTxt.teardown_method  s    *.//'r(   c                    t               }|j                  d       |j                  d       t        j                  |dt        j
                  fdt        j
                  fg      }t        j                  ddgdd	g      }t        ||       t               }|j                  d
       |j                  d       ddd}t        j                  ddg|      }t        j                  ||      }t        ||       y )N1 2
3 4r   r   r   rh   r}   r~   r   r   zM 64 75.0
F 25 60.0genderageweightS1r   r(  namesformatsM      P@     R@F      9@      N@)r    r*   rJ   rO   r@  int32rj   r   )r%   r   r   rc   dmydescriptorr   r   s           r'   r   zTestLoadTxt.test_record  s    H	
	q	JJq#rxx3/ BCHHff%k;-GH1a H	&'	q	!<#57HH'')0<>JJq-1a r(   c                    t               }|j                  d       |j                  d       t        j                  |t
              }t        j                  ddgddggt
              }t        ||       |j                  d       t        j                  |t              }t        j                  ddgddggt              }t        ||       y )Nr  r   rh   r_   rf   r6   rg   )	r    r*   rJ   rO   r@  rl   rj   r   rk   r  s       r'   ro   zTestLoadTxt.test_array  s    H	
	q	JJq$HHq!fq!f%s+1a 	q	JJq&HHq!fq!f%u-1a r(   c                    t               }|j                  d       |j                  d       t        j                  |t
              }t        j                  g dt
              }t        ||       t               }|j                  d       |j                  d       t        j                  |t
        d      }t        j                  g dt
              }t        ||       y )N1
2
3
4
r   rh   rt   1,2,3,4
r2  ri   r3  r    r*   rJ   rO   r@  rl   rj   r   r  s       r'   ru   zTestLoadTxt.test_1D  s    H		q	JJq$HH\3'1a H		q	JJqs3HH\3'1a r(   c                     t               }|j                  d       |j                  d       t        j                  |t
        ddd i      }t        j                  g dt
              }t        ||       y )N	1,2,3,,5
r   r2  r6   c                      t        | xs d      S Nrl   r&   s    r'   r  z*TestLoadTxt.test_missing.<locals>.<lambda>      AJ r(   ri   r3  r  r_   rf   r6   r  r   r  r  s       r'   test_missingzTestLoadTxt.test_missing  sY    H		q	JJqs#$&?"@BHH'-1a r(   c                     t               }|j                  d       |j                  d       t        j                  |t
        ddd id      }t        j                  dd	gd
dggt
              }t        ||       y )N1,2,3,,5
6,7,8,9,10
r   r2  r6   c                      t        | xs d      S r  r  r  s    r'   r  z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>  r  r(   r_   r6   ri   r3  r  usecolsrf   r     	   r  r  s       r'   test_converters_with_usecolsz(TestLoadTxt.test_converters_with_usecols  sj    H	()	q	JJqs#$&?"@&( HHq$i!Q(#.1a r(   c                     t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )N# comment
1,2,3,5
r   r2  #ri   r3  r;  r_   rf   r6   r   r  r  s       r'   test_comments_unicodez!TestLoadTxt.test_comments_unicode  sR    H	&'	q	JJqs #%HH\3'1a r(   c                     t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )Nr  r   r2     #r  r  r  r  s       r'   test_comments_bytezTestLoadTxt.test_comments_byte  sR    H	&'	q	JJqs $&HH\3'1a r(   c                     t               }|j                  d       |j                  d       t        j                  |t
        dg d      }t        j                  g dg dgt
              }t        ||       y )Nz,# comment
1,2,3
@ comment2
4,5,6 // comment3r   r2  )r  @z//r  r   r!  r  r  s       r'   test_comments_multiplez"TestLoadTxt.test_comments_multiple'  sW    H	AB	q	JJqs 02HHi+S11a r(   )r  r6      zPyPy bug in error formattingrv   c                    t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       t               }|j                  d       |j                  d       t        t        t        j                  |t
        dd       y )Nz/* comment
1,2,3,5
r   r2  z/*r  r  z*/ comment
1,2,3,5
)
r    r*   rJ   rO   r@  rl   rj   r   r   r  r  s       r'   test_comments_multi_charsz%TestLoadTxt.test_comments_multi_chars0  s     H	'(	q	JJqs $&HH\3'1a  H	'(	q	j"**asc#	%r(   c                    t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )Ncomment
1,2,3,5
r   r2  r_   )ri   r3  skiprowsr  r  r  r  s       r'   test_skiprowszTestLoadTxt.test_skiprowsB  s    H	$%	q	JJqs !#HH\3'1a H	&'	q	JJqs !#HH\3'1a r(   c           
      B   t        j                  ddgddggt              }t               }t        j                  ||       |j                  d       t        j                  |t        d      }t        ||d d df          t        j                  g dg d	gt              }t               }t        j                  ||       |j                  d       t        j                  |t        d
      }t        ||d d dd f          |j                  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 ]J  } |d      }|j                  d       t        j                  |t        |      }t        ||d d df          L  G d d      } |       }|j                  d       t        j                  |t        |      }t        ||d d df          |j                  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       |j                  d       d}t+        t,        dt/        |      j0                  z  t         j                  ||       t+        t,        dt/        |      j0                  z  t         j                  |d|dg       y )Nr_   rf   r6   rg   r   r_   ri   r  r   r6   rg   r   r}   c                       e Zd Zd Zy)*TestLoadTxt.test_usecols.<locals>.CrazyIntc                      yr  r3   r  s    r'   	__index__z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__r  s    r(   N)r/   r0   r1   r  r3   r(   r'   CrazyIntr  q  s    r(   r  z<JOE 70.1 25.3
                BOB 60.5 27.9
                stidtempS4f8r   rf   r  ri      JOE   BOBL9@fffff;@      ?z^usecols must be.*%sr  )rO   rj   rk   r   r  rJ   r@  r   rl   int8int16r  int64r   uint16uint32uint64r    rY  r   r   r   	TypeErrorr7   r/   )r%   rc   r   r   int_typeto_readr  	crazy_intr   r  dtypesrQ   	bogus_idxs                r'   test_usecolszTestLoadTxt.test_usecolsS  s   HHq!fq!f%u-I


1a	q	JJqt41a1g&HHi+U3I


1a	q	JJqv61a12h' 	
q	JJqrxxA/?@1a12h' bggrxx288RXXryyBII/ 	+H qkGFF1I

1E7;Aq!AqD'*	+	 	 J		q	JJqy91a1g&	q	JJq	|<1a1g& 4L jjF$s5&7I2JKS[66"23S[4,/ 	
q		"T)_%=%==JJ9	 	"T)_%=%==JJAy!#4	r(   c                    t        j                  t              5  t        j                  dgdgd       d d d        t        j                  t
        t        f      5  t        j                  dgdgd       d d d        t        j                  t        d      5  t        j                  dgd	d
gd       d d d        y # 1 sw Y   xY w# 1 sw Y   UxY w# 1 sw Y   y xY w)Nz1
l            r2  )r  r3  l            zQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r   z1,1
zi,(2)ir   )ri   r  r3  )r   r   OverflowErrorrO   r@  r  r/  r  s    r'   test_bad_usecolszTestLoadTxt.test_bad_usecols  s    ]]=) 	@JJw3?	@]]J67 	@JJw3?	@ ]]934 	N JJy1#M	N 	N	@ 	@	@ 	@	N 	Ns#   B?CC?CCC c                 .   t               }|j                  d       |j                  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        ||       y )N1,2,3.0
4,5,6.0
r   r   r   r   r&   r2  r  r_   )rf   r0  rg   )r         @)
r    r*   rJ   rO   ri   rl   rk   r@  rj   r   r%   r   r   r   rc   s        r'   test_fancy_dtypezTestLoadTxt.test_fancy_dtype  s{    H	$%	q	XXSzC3*sEl)C#DEFJJqc2HHm]3R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        ||       y Nzaaaa  1.0  8.0  1 2 3 4 5 6rH   r  r   r   blockr  rh   aaaar.         @r   r!  r    rO   ri   rk   rl   r@  rj   r   r>  s        r'   test_shaped_dtypezTestLoadTxt.test_shaped_dtype  sv    01XX~U|c5\f-/ 0JJq#HHvsC)Y)?@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        ||       y )Nz*aaaa  1.0  8.0  1 2 3 4 5 6 7 8 9 10 11 12rB  r   r   rC  )rf   rf   r6   rh   rD  r.  rE  r   r!  )r  r  r  )
         rF  r>  s        r'   test_3d_shaped_dtypez TestLoadTxt.test_3d_shaped_dtype  s    ?@XX~U|c5\i02 3JJq#HHvsC"I.L0IJL M 	1a r(   c                     ddg}t         t        j                  fD ]>  }t        j                  ddg|      }t        j                  ||      }t        ||       @ y )Nstr1str2rh   )strrO   bytes_rj   r@  r   )r%   r   r   rc   r   s        r'   test_str_dtypezTestLoadTxt.test_str_dtype  sS    V		" 	%B&&)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        y # 1 sw Y   y xY w)Ninput contained no datar   r   rh   )r   warnsr   r    rO   r@  r   ra   r+  r   ri   )r%   r   r   s      r'   test_empty_filezTestLoadTxt.test_empty_file  s    \\+-FG 	)A

1A$'

1BHH-A$'AGGrxx'(	) 	) 	)s   BB<<Cc                 &   t               }|j                  ddg       |j                  d       t        j                  |ddd i      }t        |ddg       |j                  d       t        j                  |dd	d
 i      }t        |ddg       y )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     *   r_   c                     t        | d      S rZ  r  r  s    r'   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>  r\  r(   !   B   )r    r,   rJ   rO   r@  r   )r%   r   r   s      r'   test_unused_converterz!TestLoadTxt.test_unused_converter  s    H	h)*	q	zz!T&')=%>@4"b*	q	zz!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        ||       y )N0 1; 2001-01-01
                   2; 2002-01-31 idxcodec                 6    t        | j                         d      S Nz%Y-%m-%dr;   stripr  s    r'   r  z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>      !'')Z8 r(   r_   ;r3  ri   r    rf        rh   )rl   rq   rO   r@  r    rj   r   r   r%   r   ndtypefuncr  testcontrols          r'   test_dtype_with_objectz"TestLoadTxt.test_dtype_with_object  s    %#, 018Y
zz&,#V%/1(($1%&HT1b,A(BC 	T7#r(   c                     d}t               }|j                  d|z         |j                  d       t        j                  |t        j
                        }t        ||       y )N)l   +&|    l   -(|    %s %sr   rh   )r    r*   rJ   rO   r@  r.  r   r%   tgtr   r  s       r'   test_uint64_typezTestLoadTxt.test_uint64_type  sG    8H	#	q	jj")),S#r(   c                     d}t               }|j                  d|z         |j                  d       t        j                  |t        j
                        }t        ||       y )N)l l    ry  r   rh   )r    r*   rJ   rO   r@  r+  r   rz  s       r'   test_int64_typezTestLoadTxt.test_int64_type  sG    9H	#	q	jj"((+S#r(   c                    t        j                  ddd      j                  t         j                        }t        j                  || f      j                  t
              }dj                  t        t
        j                  |            }t               }|j                  |       t
        t         j                  fD ]K  }|j                  d       t        j                  ||t
        j                  d      }t        ||d|z  	       M y )
NirI  r   r  r   r5   r  r`  )err_msg)rO   logspaceastypefloat32hstackrk   r   maphexr    r*   rJ   r@  fromhexr   )r%   r{  inpr   r   r  s         r'   test_from_float_hexzTestLoadTxt.test_from_float_hex  s     kk#r1%,,RZZ8iisd$++E2iiEIIs+,H	"**% 	6BFF1I**JCc4"95		6r(   c                     t        d      }t        j                  t        d      5  t	        j
                  |       ddd       y# 1 sw Y   yxY w)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  rO   r@  r  s     r'   6test_default_float_converter_no_default_hex_conversionzBTestLoadTxt.test_default_float_converter_no_default_hex_conversion
  s?     7O]]:JL 	JJqM	 	 	   AAc                     t        d      }t        j                  t        d      5  t	        j
                  |       ddd       y# 1 sw Y   yxY w)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 	JJqM	 	 	r  c                     t        dd      t        dd      f}t               }|j                  d|z         |j                  d       t	        j
                  |t               }t        ||       y )Nr_   ry  r   rh   )r   r    r*   rJ   rO   r@  r   rz  s       r'   test_from_complexzTestLoadTxt.test_from_complex"  sT    q!}gan-H	#	q	jj'*S#r(   c                    t        j                  dt         j                        }t         j                  }t         j                  }|d|z  z
  |d d  t               }t        j                  ||d       |j                  d       |j                         }|j                  d       |j                  dd      }t        ||k7         |j                  |       |j                  d       t        j                  |t              }t        ||       y )	Nrf   rf   rh   rC  z%.16er  r   s   e+00-s   e00+-)rO   rE  rF  rG  r   r   r  rJ   r<  replacer   r*   r@  r   r   )r%   rc   rK  rL  r   txttxt_badr  s           r'   test_complex_misformattedz%TestLoadTxt.test_complex_misformatted*  s     HHV2==1UUTTD2I~!I


1aW%	q	ffh	q	++h13		q	jj'*S!r(   c                     t               5 }t        |d      5 }|j                  d       d d d        t        j                  |      }d d d        t        ddgddgg       y # 1 sw Y   9xY w# 1 sw Y   (xY w)NrZ  z
1 213 42r_   r^  r6   r_  )r   r   r*   rO   r@  r   )r%   rH   r   r   s       r'   test_universal_newlinez"TestLoadTxt.test_universal_newline>  sq    Z 	$4dC (A'(::d#D	$ 	41b'Ar7!34( (	$ 	$s!   A.A"A."A+	'A..A7c                     t               }|j                  d       |j                  d       ddd}t        j                  ||d      }t        j
                  g d      }t        |d	   |       y )
Nz 1 	2 	3	start 
4	5	6	  
7	8	9.5	r   )r   r   r'  comment)<i4r  <f4|S8r  	r  )s   start s     r(   r  )r    r*   rJ   rO   r@  rj   r   r>  s        r'   test_empty_field_after_tabz&TestLoadTxt.test_empty_field_after_tabE  s]    H	=>	q	157JJqd3HH,-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             y )NM 21 72
F 35 58rc   r   r   )|S1r  r  r  Tri   unpackr  r  r     M   Fr^  #         R@      M@)r    rO   r@  r   ri   rP  r   rj   r%   r  r   rc   r   r   s         r'   test_unpack_structuredz"TestLoadTxt.test_unpack_structuredO  s    '(&3HI**S481au$%u$%u$%1bhhd|451bhhBx011bhhc{34r(   c                    t               }|j                  d       |j                  d       t        t        t
        j                  |d       |j                  d       t        t        t
        j                  |d       |j                  d       t        j                  |t        dd      }t        j                  g d	g d
g      }t        ||       t               }|j                  d       |j                  d       t        j                  |t        dd      }t        |j                  dk(         |j                  d       t        j                  |t        dd      }t        |j                  dk(         |j                  d       t        j                  |t        dd      }t        |j                  dk(         t               }|j                  d       |j                  d       t        j                  |t        dd      }t        |j                  dk(         |j                  d       t        j                  |t        dd      }t        |j                  dk(         |j                  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        y # 1 sw Y   y xY w)Nz1,2,3
4,5,6r   r6   ndminr'  r2  r_   )ri   r3  r  r   r!  z0,1,2rf   r  )r6   z0
1
2)r6   r_   rT  r   r   r_   rU  )r    r*   rJ   r   r  rO   r@  rl   rj   r   r   ra   r   rV  r   )r%   r   r   rc   r  r   r   s          r'   test_ndmin_keywordzTestLoadTxt.test_ndmin_keywordZ  s6   H		q	j"**aq9	q	j"**as;	q	JJqs!<HHi+,1a H		q	JJqs!<6!"	q	JJqs!<4 	q	JJqs!<4 H			q	JJqs!<6!"	q	JJqs!<4 	q	JJqs!<4  \\+-FG 	:ABJJq*00G;<BJJq*00D89	: 	: 	:s   
A%L88Mc                 |    d }t        j                   |             }t        |t        j                  d             y )Nc               3   :   K   t        d      D ]	  } d| z    y wNrI  r   )r   r   s    r'   r  z0TestLoadTxt.test_generator_source.<locals>.count  s"     2Y Qhs   rI  )rO   r@  r   r  r%   r  r  s      r'   test_generator_sourcez!TestLoadTxt.test_generator_source  s+    	 jj!3		".r(   c                     t               }|j                  d       |j                  d       t        t        dt
        j                  |       y )Nz1 2 3
4 5 6
2 3r   3)r    r*   rJ   r   r  rO   r@  r  s     r'   test_bad_linezTestLoadTxt.test_bad_line  s5    H	#$	q	 	JRZZ;r(   c                     t               }|j                  d       |j                  d       t        j                  dt
        fddt
        fg      }t        j                  |d|d        y )Nz100,foo,200
300,None,400r   r   )rc   S10r   r2  )r3  ri   r;  )r    r*   rJ   rO   ri   rl   r@  )r%   r   r   s      r'   test_none_as_stringzTestLoadTxt.test_none_as_string  sP    H	+,	q	XXSz<#s<=


12=r(   zANSI_X3.4-1968zWrong preferred encodingc                 j   d}|j                  d      j                  dd      j                         }t               5 }t	        |d      5 }|j                  |       d d d        t	        |d      5 }t        j                  |dt        j                        }d d d        t        |       t	        |d      5 }t        j                  |dd      }d d d        g d	}t        |t        j                  |d
             d d d        y # 1 sw Y   xY w# 1 sw Y   |xY w# 1 sw Y   OxY w# 1 sw Y   y xY w)Ns/   5,6,7,Õscarscar
15,2,3,hello
20,2,3,Õscar
r^  r  r.   r   r   rl  S)s   5,6,7,Õscarscars   15,2,3,hellos   20,2,3,Õscarrh   )r9   r  
splitlinesr   r   r*   rO   r@  rc  r   rj   )r%   butf8sutf8r+  r   r   s         r'   test_binary_loadzTestLoadTxt.test_binary_load  s   +W%--dB7BBDZ 
	:4dD! QdD! CQJJq7"''BCq%(dD! ?QJJq7#>?TAq"((1C"89
	: 
	: C C? ?
	: 
	:sS   D)	DD)/'D D)6D-D)D	
D)D	D)D&	"D))D2c                     t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )N1,2,3,5
4,5,7,8
2,1,4,5r   r2  r_   ri   r3  max_rowsr  r  r  s       r'   test_max_rowszTestLoadTxt.test_max_rows  sR    H	+,	q	JJqs !#HH\3'1a r(   c                    t               }|j                  d       |j                  d       t        j                  |t
        ddd      }t        j                  g dt
              }t        ||       t               }|j                  d       |j                  d       t        j                  |t
        ddd      }t        j                  g dg d	gt
              }t        ||       y )
Nz comments
1,2,3,5
4,5,7,8
2,1,4,5r   r2  r_   ri   r3  r  r  r  comment
1,2,3,5
4,5,7,8
2,1,4,5rf   rg   r   r  r  r  r  s       r'   test_max_rows_with_skiprowsz'TestLoadTxt.test_max_rows_with_skiprows  s    H	56	q	JJqs !A/HH\3'1a H	45	q	JJqs !A/HHlL1371a r(   c                 v   t               }|j                  d       |j                  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        ||       y )
Nr  r   r2  rf   r  r  r  r  rf   r_   rg   r   r  r  s       r'   $test_max_rows_with_read_continuationz0TestLoadTxt.test_max_rows_with_read_continuation  s    H	+,	q	JJqs !#HHlL1371a JJqs3HHY$1a r(   c                     t               }|j                  d       |j                  d       t        j                  |t
        ddd      }t        j                  g dg dg d	gt
              }t        ||       y )
Nr  r   r2  r_   r  r  r  r  r  r  r  s       r'   test_max_rows_largerz TestLoadTxt.test_max_rows_larger  s[    H	45	q	JJqs !A/HHlL,?E1a r(   skipr   r_   )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           
      H   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        t        |t              r|j                  d       t        j                         5  t        j                  dt               t        j                  t              5  t        j                  |t
        |dd|z
         d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NzInput line 3.*max_rows=r6   r   r2  )ri   r  r3  r  r  r   r_   rf   rg   error)r   rV  r   rO   r@  rl   r   rM   r   rJ   r   r   simplefilterr   )r%   r  r   r  s       r'   test_max_rows_empty_linesz%TestLoadTxt.test_max_rows_empty_lines  s    \\+3AdF8<> 	F**Tts&'f.Csb!Wq!fq!f$=de$DE		F dH%IIaL$$& 	,!!';7{+ ,

4sTS$%dF,,	, 	,	F 	F, ,	, 	,s/   :D 4D"D/D D	D	DD!N);r/   r0   r1   staticmethodrO   r@  r  r  r  r   ro   ru   r  r   r  r	  r  r   r   r   r   rK   implementationversionr  r  r5  r8  r?  rG  rL  rR  rW  rc  rw  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?   BJJ'H,
:!$!!!!!!! [[KC$6$6$>$>)$K=  ?%?% !"CJ	N!!!%)+$6 [[KC$6$6$>$>)$K=  ?? [[KC$6$6$>$>)$K=  ??(5,	5(:T/<> [[33359II9  ;:;: !!"!! [[ff-56-../023*++,-0/ 0,0,r(   r  c                   r    e Zd Zd Zd Zd Zej                  j                  de	e
g      d        Zd Zd Zy)	Testfromregexc                     t               }|j                  d       |j                  d       dt        j                  fdg}t        j
                  |d|      }t        j                  g d|      }t        ||       y )Nz1.312 foo
1.534 bar
4.444 quxr   numvalS3z([0-9.]+)\s+(...)))ˡE?r"  g%C?r#  g-@quxrh   r    r*   rJ   rO   float64	fromregexrj   r   r>  s        r'   r   zTestfromregex.test_record  se    H	12	q	bjj!=1LL0"5HHE1a r(   c                     t               }|j                  d       |j                  d       dt        j                  fdg}t        j
                  |d|      }t        j                  g d|      }t        ||       y )N1312 foo
1534 bar
4444 quxr   r  r  z(\d+)\s+(...)))   r"  )  r#  )\  r  rh   )r    r*   rJ   rO   r  r  rj   r   r>  s        r'   test_record_2zTestfromregex.test_record_2  se    H	./	q	bhh/LL,b1HHB1a r(   c                     t               }|j                  d       |j                  d       dt        j                  fg}t        j
                  |d|      }t        j                  g d|      }t        ||       y )Nr  r   r  z(\d+)\s+...))r  )r  )r  rh   r  r>  s        r'   test_record_3zTestfromregex.test_record_3  s_    H	./	q	bjj!"LLNB/HH0;1a r(   	path_typec                 &   d}t               5 } ||      }t        |d      5 }|j                  d|z   dz          d d d        dt        j                  fdg}t        j
                  |d|d	      }t        j                  d
d|j                  d      z   fddg|      }t        ||       t        j                  dt        j                        }	t        j
                  ||	|d	      }t        ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr]  r   s	   1.312 foos    
1.534 bar
4.444 quxr  )r  U4z(?u)([0-9.]+)\s+(\w+)r^  r  r  r"  r  r  rh   z([0-9.]+)\s+(\w+))r   r   r*   rO   r  r  rj   r9   r   rK  compileUNICODE)
r%   r  rd  str_pathr+  r   r   r   rc   regexps
             r'   test_record_unicodez!Testfromregex.test_record_unicode  s   Z 	%8X&DdD! JQt+.HHIJ "**%}5BT#;R'RA5%$++g*>">?)+246Aq!$ZZ 4bjjAFT62@Aq!$	% 	%J J	% 	%s"   DC;B8D;D	 DDc                     t        j                  d      }t        d      }dt        j                  fg}t        j
                  g d|      }t        j                  |||      }t        ||       y )N   (\d)   123r  r   rh   )rK  r  r   rO   r  rj   r  r   )r%   r   r   r   rc   r   s         r'   test_compiled_bytesz!Testfromregex.test_compiled_bytes+  sV    H%FObjj!"HHYb)LLFB'1a r(   c                     t        j                  d      }t        d      }t        j                  t
        d      5  t        j                  ||t        j                         d d d        y # 1 sw Y   y xY w)Nr  r  zstructured datatyper   rh   )	rK  r  r   r   r   r/  rO   r  r  )r%   r   r   s      r'   test_bad_dtype_not_structuredz+Testfromregex.test_bad_dtype_not_structured3  sQ    H%FO]]9,AB 	6LLF"**5	6 	6 	6s   'A,,A5N)r/   r0   r1   r   r  r  r   r   r  rP  r   r  r  r  r3   r(   r'   r  r    sD    	!	!! [[[3+6% 7%"!6r(   r  c                   j   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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* Z0d+ Z1d, Z2d- Z3d. Z4d/ Z5d0 Z6d1 Z7d2 Z8d3 Z9d4 Z:d5 Z;d6 Z<d7 Z=d8 Z>d9 Z?d: Z@d; ZAd< ZBd= ZCd> ZDd? ZEd@ ZFdA ZGdB ZHdC ZIdD ZJdE ZKdF ZLdG ZMdH ZNdI ZOdJ ZPdK ZQdL ZRdM ZSdN ZTdO ZUdP ZVdQ ZWdR ZXeYj                  j                  dSg dT      dSe\fdU       Z]yV)WTestFromTxtc                 r   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        ||       y )Nr  r   r   rh   r}   r~   r   r   zM 64.0 75.0
F 25.0 60.0r  r  r  r  r  )r    rO   
genfromtxtr  rj   r   )r%   r   ru  rv  
descriptors        r'   r   zTestFromTxt.test_record@  s    j!}}T3/C?)KL((FF+K3MNT7#01:!35
((-/@A!+-}}T4T7#r(   c                 \   t        d      }t        j                  ddgddggt              }t        j                  |t              }t        ||       |j                  d       t        j                  ddgddggt              }t        j                  |t              }t        ||       y )Nr  r_   rf   r6   rg   rh   r   )	r    rO   rj   rl   r  r   rJ   rk   r@  )r%   r   rv  ru  s       r'   ro   zTestFromTxt.test_arrayO  s    j!((QFQF+37}}T-4)		!((QFQF+59zz$e,4)r(   c                    t        j                  g dt              }t        d      }t        j                  |t              }t        ||       t        d      }t        j                  |t        d      }t        ||       y )Nrt   r  rh   r  r2  r  )rO   rj   rl   r    r  r   r%   rv  r   ru  s       r'   ru   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        ||       y )Nr  r  r2  r  r  z1,2,3,5# comment
)rO   rj   rl   r    r  r   r  s       r'   test_commentszTestFromTxt.test_commentsg  sd    ((<-,-}}TcJT7#*+}}TcJT7#r(   c                    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        ||       y )	Nr  r2  r  r  skip_headerr_   r  r  )rO   rj   rl   dictr    r  r   r@  )r%   rv  rZ   r   ru  s        r'   r  zTestFromTxt.test_skiprowss  sx    ((<-C3/*+}}T;q;F;T7#,-zz$55f5T7#r(   c           	         t        dd      D cg c]  }d|z  	 }}|j                  d       |j                  t        d      D cg c]
  }d|||fz   c}       d|d<   t        d	d
dd      }t	        j
                  t        dj                  |            fi |}t	        j                  t        d      D cg c]  }d|z  d|z  d|z  f c}dD cg c]
  }|t        f c}      }t        ||       y c c}w c c}w c c}w c c}w )Nr_   r  z# %izA, B, C3   z%i,%3.1f,%03sz99,99r  r2  Tr   rI  )r3  r  r  skip_footerr  )   rw  ABCrh   )r   r   rU  r  rO   r  r    r   rj   rk   r   )r%   r   r   rZ   ru  _ctrls          r'   test_skip_footerzTestFromTxt.test_skip_footer  s    $)!QK0q
00I%)DQ_1ay0DER4QBO}}VDIIdO4??xxrKA$(D1HdQh7K389a5z9;T4  1D L9s   C9C>:DD
c                     t               5 }|j                  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        y # 1 sw Y   y xY w)Nz1 1
2 2
3 3
4 4
5  
6  
7  
r_   )r  F)r  invalid_raiser.  r/  r0  r1  r6   z1 1
2  
3 3
4 4
5  
6 6
7 7
r=  )
r   r   r   r   r  rO   r  r    r   rj   )r%   r   basestrrc   s       r'   test_skip_footer_with_invalidz)TestFromTxt.test_skip_footer_with_invalid  sa     	FCJJ();G*bmm /q: wQeEABHHr2hR2r(RH%MNOfWo1=ABHHr2hR2r(RH%MNO;GwQeEABHHr2hR2r(RH%MNOwQeEABHHr2hR2r(%CDE+	F 	F 	Fs   E0FFc                 0   t        d      }t        j                  d      5 }t        j                  ddt        j
                         t	        j                  |d d      }t        |d   j                  t        j
                  u        d d d        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          y # 1 sw Y   xY w)Nz)gender age weight
M 64.0 75.0
F 25.0 60.0Tr   r   r.   ri   r  r   r  r  r  r  r  r  r  r  r  r  )r    r   r   r   rO   VisibleDeprecationWarningr  r   categoryrj   r   r%   r   rZ  ru  rv  s        r'   test_headerzTestFromTxt.test_header  s    CD$$D1 	CQ##Hb"2N2NO==T>DAaDMMR%A%AAB	C  XXtTl3((D$<0XXtTl35 	T(^WX%67T%['%.1T(^WX%67	C 	Cs   A&DDc                    t        d      }t        j                  d      5 }t        j                  ddt        j
                         t	        j                  |d       }t        |d   j                  t        j
                  u        d d d        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     |        y # 1 sw Y   xY w)Nz*A 64 75.0 3+4j True
BCD 25 60.0 5+6j FalseTr   r   r.   rh   r      As   BCD@      r  r  y      @      @y      @      @F)f0f1f2f3r(  zf%i)r    r   r   r   rO   r#  r  r   r$  rj   r   ri   r  r   )r%   r   rZ  ru  rv  r   r  s          r'   test_auto_dtypezTestFromTxt.test_auto_dtype  s   CD$$D1 	CQ##Hb"2N2NO==T2DAaDMMR%A%AAB	C 88T6N+88RH%88T4L)88VV,-88T5M*	.
 	TZZ%%'EF"7+ 	0IQeai$/	0	C 	Cs   A%EEc                     t        d      }t        j                  |d       }t        j                  g dg dg      }t	        ||       y )Nz1 2 3 4
5 6 7 8
rh   rt   )r   r  r  r  r    rO   r  rj   r   r%   r   ru  rv  s       r'   test_auto_dtype_uniformz#TestFromTxt.test_auto_dtype_uniform  s:    *+}}T.((L,7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        ||       y )Nr:  r   r   r   r&   r2  r  r;  r<  rh   )r    rO   ri   rl   rk   r  rj   r   r%   r   
fancydtyperu  rv  s        r'   r?  zTestFromTxt.test_fancy_dtype  sg    *+XXSzC3*sEl1K+LMN
}}TsC((M=9LT7#r(   c                     ddd}t        d      }d}t        j                  |||      }||d<   t        j                  dd	g|
      }t	        ||       y )N)grc   rZ  r  r  s   M 64.0 75.0
F 25.0 60.0r  r"  r  r  r  rh   r1  )r%   r  r   r  ru  rv  s         r'   test_names_overwritez TestFromTxt.test_names_overwrite  sb    .!35
12+}}T5A#
7((--/6@BT7#r(   c                     t        j                  t        d      5  t        j                  d       d d d        y # 1 sw Y   y xY w)Nzfname must be a string,r   {   )r   r   r/  rO   r  r  s    r'   test_bad_fnamezTestFromTxt.test_bad_fname  s2    ]]9,EF 	MM#	 	 	s	   ;Ac                    t        d      }t        j                  d      5 }t        j                  ddt        j
                         t	        j                  |dd       }t        |d   j                  t        j
                  u        d d d        t	        j                  g dd	d
t        fdt        fg      }t        |       t        d      }t        j                  d      5 }t        j                  ddt        j
                         t	        j                  |dd       }t        |d   j                  t        j
                  u        d d d        t        ||       y # 1 sw Y   xY w# 1 sw Y   "xY w)NzN
#gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        Tr   r   r.   )r  ri   r   ))r  r^  gfffffR@)r  r  g
ףp=*M@)r  ra  g=
ףp5@)r  r  r  r  rh   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        r    r   r   r   rO   r#  r  r   r$  rj   rl   rk   r   )r%   r   rZ  ru  r  s        r'   test_commented_headerz!TestFromTxt.test_commented_header  s=      $$D1 	CQ##Hb"2N2NO==T>DAaDMMR%A%AAB	C xxM05#,5@QRTT4    $$D1 	CQ##Hb"2N2NO==T>DAaDMMR%A%AAB	C 	T4 %	C 	C	C 	Cs   A&E %A&E, E),E5c                     t        d      }t        j                  |t        t        fd d      }t        j                  ddgdt        fdt        fg      }t        ||       y )	Nzcol1 col2
 1 2
 3 4T)ri   r;  r  r}   r~   col1col2rh   r    rO   r  rl   rj   r   r2  s       r'   test_names_and_comments_nonez(TestFromTxt.test_names_and_comments_none  sQ    -.}}T#sd$O((FF+VSMFC=3QRT7#r(   c                    t               5 }t        j                  j                  |d      }t	        |d      5 }|j                  dj                                d d d        t               5  t        j                  t              5  t        j                  |d       d d d        d d d        d d d        y # 1 sw Y   ^xY w# 1 sw Y   &xY w# 1 sw Y   *xY w# 1 sw Y   y xY w)Nr_  r      ϖasciir  )r   rV   r+  r   r   r*   r  r   r   r   UnicodeDecodeErrorrO   r  )r%   re  fpathr   s       r'   test_file_is_closed_on_errorz(TestFromTxt.test_file_is_closed_on_error  s    Y 		;&GGLL4EeT" 8a-44678
 $% ;]]#56 ;MM%':;;		; 		;8 8; ;; ;		; 		;sR   -C B5C*CCC$C5B>	:CC
CC	CC"c                    t        d      }t        j                  d      5 }t        j                  ddt        j
                         t	        j                  |ddd       }t        |d   j                  t        j
                  u        d d d        t	        j                  d	d
dt        fdt        fg      }t        |       y # 1 sw Y   <xY w)NA B C D
 aaaa 121 45 9.1Tr   r   r.   ACD)r  r  ri   r   )rD  -   333333"@rN  |S4rO  rP  rh   r>  r%  s        r'   test_autonames_and_usecolsz&TestFromTxt.test_autonames_and_usecols  s    12$$D1 	CQ##Hb"2N2NO==&*$8DAaDMMR%A%AAB		C
 ((,".c
S%L!IKT7#	C 	Cs   A'CCc                     t        d      }t        j                  |t        ddd id      }t        j                  ddgd	d
ggt              }t        ||       y )Nr  r2  r6   c                      t        | xs d      S r  r  r  s    r'   r  z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>!      Se_ r(   r  r  rf   r  r  r  rC  r2  s       r'   r   z(TestFromTxt.test_converters_with_usecols  sV    ./}}T()+D'E$+- ((QI1v.4T7#r(   c           	         t        d      }t        j                  d      5 }t        j                  ddt        j
                         t	        j                  |ddd dd i	      }t        |d
   j                  t        j
                  u        d d d        t	        j                  dddt        fdt        fg      }t        |       y # 1 sw Y   <xY w)NrL  Tr   r   r.   rM  rO  c                     dt        |       z  S )Nrf   r  r  s    r'   r  zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>-  s    1s1v: r(   )r  r  ri   r  r   )rD  Z   rR  rS  rP  rh   r>  r%  s        r'   &test_converters_with_usecols_and_namesz2TestFromTxt.test_converters_with_usecols_and_names&  s    12$$D1 	CQ##Hb"2N2NO==d&*,/1E+FHD AaDMMR%A%AAB	C ((,".c
S%L!IKT7#	C 	Cs   A+CC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        ||       y )Ndatec                     t        | d      S Nz%Y-%m-%d %H:%M:%SZ)r;   r  s    r'   r  z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>6  s    hq*>? r(   2009-02-03 12:00:00Z, 72214.0r2  r  r3  ri   r  r    rf   r6       `@rh   )r    rO   r  rj   r   object_rk   r   r%   	converterr   ru  rv  s        r'   test_converters_cornercasesz'TestFromTxt.test_converters_cornercases3  sz     ?A	56}}TS#)6"2yJ((HT1a0&9#)2::"6!H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        ||       y )Nr^  c                 @    t        j                  t        | d            S r`  )rO   
datetime64r;   r  s    r'   r  z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>A  s    bmmHQ8L,MN r(   ra  r2  r  rb  rc  rf   r6   rd  )r^  zdatetime64[us]rh   )r    rO   r  rj   r   rk   r   rf  s        r'   test_converters_cornercases2z(TestFromTxt.test_converters_cornercases2>  sq     NP	56}}TS#)6"2yJ((HT1a0&9"<vuo!NPT7#r(   c                     t        d      }t        j                  |ddd i      }t        |ddg       |j	                  d       t        j                  |ddd	 i      }t        |d
dg       y )Nz1 21
  3 42
r  r   c                     t        | d      S rZ  r  r  s    r'   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>M      SBZ r(   r]  r^  r_  r_   c                     t        | d      S rZ  r  r  s    r'   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>R  ro  r(   ra  rb  )r    rO   r  r   rJ   r%   r   ru  s      r'   rc  z!TestFromTxt.test_unused_converterI  sl    &'}}T4()+?'@BTB8$		!}}T4()+?'@BTB8$r(   c                     d }d }t        d      }t        ||ddd       }t        t        t        j
                  |fi | y )Nc                     t        d| j                         v xr | j                         d   xs( d| j                         vxr | j                         xs d      S )N   rr  r  rk   lowerrV  rk  r  s    r'   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>V  sL    udaggi&7&IAGGIbM &R&*!'')&;&I	&PS S r(   c                     t        d| j                         v xr | j                         d   xs( d| j                         vxr | j                         xs d      S )N   %r   r  ru  r  s    r'   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>X  sL    eTQWWY%6%G1779Q< %Q%)%:%Hqwwy%OC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  r2  )r  r3  ri   )r    r  r   r   rO   r  )r%   
strip_rand	strip_perr&   rZ   s        r'   test_invalid_converterz"TestFromTxt.test_invalid_converterU  sQ    S
R	 5 6 $4 	nbmmQA&Ar(   c                     t        d      }d }t        j                  |dd|i      }t        j                  ddgdd	gg      }t	        ||       y )
Nz	q1,2
q3,4c                     t        | dd        S r  )rk   r  s    r'   r  z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>e  s    ae r(   r2  r   )r3  r  r.  r/  r0  r1  r1  )r%   r&   cnvru  rv  s        r'   test_tricky_converter_bug1666z)TestFromTxt.test_tricky_converter_bug1666b  sL    < $}}Q#1c(C((RHr2h/0T7#r(   c                 d   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        ||       y )Nz2009; 23; 46rm  r   rn  )2009      7@.   )r+  rT  r,  r-  rh   )g     d@r  r  )rO   r  r    rk   r8   rj   r   )r%   dstrru  rv  s       r'   test_dtype_with_convertersz&TestFromTxt.test_dtype_with_convertersj  s    }}VD]&)Au:O((-."/$u!NPT7#}}VD]&)Au:O((+-T7#r(   c                    d}dddddg d}t         t         t         fdd	}t        j                  t        |      |d
d |      }t        j                  j                  g d|      }t        ||       g d}t        j                  t        |      |d
dd |      }t        j                  j                  g d|      }t        ||       y )Nz!1,5,-1,1:1
2,8,-1,1:n
3,3,-2,m:n
r   r_   rf   r6   )z1:1z1:nzm:1zm:n)e1r   e2r   )e3i2r   i1c                 *    | j                            S r"   r  )rz   dmaps    r'   r  zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>z  s    T!((*5E r(   )r   r_   rf   r6   r2  )ri   r3  r  r  ))r_   r   r  r   )rf   r  r  r_   )r6   r6   r6   rh   )r  r  r  )r   r_   r6   )ri   r3  r  r  r  ))r_   r   r   )rf   r  r_   )r6   r6   r6   )rl   rO   
recfromcsvr    recrj   r   )r%   r  dtypconvru  rv  r  s         @r'   &test_dtype_with_converters_and_usecolsz2TestFromTxt.test_dtype_with_converters_and_usecolsv  s    5q3@33+EF}}VD]$##'D:&&,,C4,PT7#4}}VD]$#%,DTK&&,,:$,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        dt         fdt        fdg fg}t        t        d      5  t        j                  t	        |      d||      }d d d        y # 1 sw Y   XxY w# 1 sw Y   y xY w)Nre  rf  rg  c                 6    t        | j                         d      S ri  rj  r  s    r'   r  z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>  rl  r(   r_   rm  rn  ro  rf   rp  rq  rh   nestzNested fields.* not supported.*)
rl   rq   rO   r  r    rj   r   r   r   NotImplementedErrorrr  s          r'   rw  z"TestFromTxt.test_dtype_with_object  sJ   %#, 018Y
}}VD\S(24(($1%&HT1b,A(BC 	T7#UCL66*:;<= !4!BD 	F=='-*FD	F #, 062,? !4!BD 	F=='-*FD	F 	F	F 	F	F 	Fs   #D,#D$D!$D-c                     t        j                  t        d      t              }|d   dk(  sJ t        j                  t        d      t              }|d   dk(  sJ y )N1rh   r3      1strings   string)rO   r  r    rq   )r%   parseds     r'   #test_dtype_with_object_no_converterz/TestFromTxt.test_dtype_with_object_no_converter  sO    vc{&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        ||       y )
Nzskip,skip,2001-01-01,1.0,skipr2  r  rf   )r3  r  ri   r  r  )
2001-01-01r.  )r.   |S10r.   rh   )r    rO   r  rk   r8   rj   r   r2  s       r'   'test_userconverters_with_explicit_dtypez3TestFromTxt.test_userconverters_with_explicit_dtype  sW    56}}TSE%+E
D((./".U!<>T7#r(   c           
         d}t               5 }t        |d      5 }|j                  d|z   dz          d d d        t        j                  |dd t
        ddt        j                  j                  id	      }d d d        t        j                  d
|j                  d      z   dfgddt
        fg      }t        |       y # 1 sw Y   xY w# 1 sw Y   VxY w)Nr]  r   s   skip,skip,2001-01-01s	   ,1.0,skipr2  r  rf   r^  )r3  r  ri   r  r  rb  r  r.  )r.   z|U11r.   rh   )r   r   r*   rO   r  rk   compatunicoderj   r9   r   )r%   rd  r+  r   ru  rv  s         r'   ,test_utf8_userconverters_with_explicit_dtypez8TestFromTxt.test_utf8_userconverters_with_explicit_dtype  s    Z 	34dD! GQ/$6EFG==D)/Q		@Q@Q<R*13D	3 ((\DKK,@@"EF".U!<>T7#G G	3 	3s"   C	B=AC	=C	C		Cc                     t        d      }t        j                  |      }t        j                  g dg dg      }t	        ||       y )Nz1  2  3  4   5
6  7  8  9  10)r.  r/  r0  r1        @)r=        @rE        "@g      $@r1  r2  s       r'   test_spacedelimiterzTestFromTxt.test_spacedelimiter  s>    67}}T"((013 4T7#r(   c                     d}t        j                  t        |      d      }t        j                  g dg dg dg      }t	        ||       y )Nz  1  2  3
  4  5 67
890123  4r6   )r3  r   )rg   r   C   )iz  r;  rg   )rO   r  r    rj   r   r2  s       r'   test_integer_delimiterz"TestFromTxt.test_integer_delimiter  s:    0}}VD\Q7((Iz=ABT7#r(   c                     t        d      }t        j                  |t        ddd i      }t        j                  g dt              }t        ||       y )Nr  r2  r6   c                      t        | xs d      S r  r  r  s    r'   r  z*TestFromTxt.test_missing.<locals>.<lambda>  rX  r(   r  r  rC  r2  s       r'   r  zTestFromTxt.test_missing  sE    l#}}T()+D'EG((-s3T7#r(   c                 l   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                  |       y )Nz1	2	3
	2	
1		3r  T)r3  usemaskr   rf   r_   r6   )r   r   r   r_   r   r_   r   r_   r   rh   )	rO   r  r    rj   nanboolr   r   mask)r%   r  ru  ctrl_dctrl_ms        r'   test_missing_with_tabsz"TestFromTxt.test_missing_with_tabs  s{    &}}VC[D%),9rvvq"&&&9Arvvq>JL;4HTYY'TYY'r(   c                    t        j                  ddgddggt              }t               }t        j                  ||       |j                  d       t        j                  |t        d      }t        ||d d df          t        j                  g dg d	gt              }t               }t        j                  ||       |j                  d       t        j                  |t        d
      }t        ||d d dd f          |j                  d       t        j                  |t        t        j                  ddg            }t        ||d d dd f          y )Nr_   rf   r6   rg   r   r  r  r   r  r}   )rO   rj   rk   r    r  rJ   r  r   r  s       r'   r5  zTestFromTxt.test_usecols  s     ((QFQF+U3x


4!		!}}T=T71a4=)((Iy159x


4!		!}}T?T71ab5>*		!}}T!Q8HIT71ab5>*r(   c                     d}t        j                  t        |      dd      }t        j                  ddgdD cg c]
  }|t        f c}      }t        ||       y c c}w )	N1 2 3
4 5 6a, b, cza, c)r  r  r  rg   r  acrh   )rO   r  r    rj   rk   r   )r%   r   ru  r  r  s        r'   test_usecols_as_csszTestFromTxt.test_usecols_as_css  sT    }}VD\#,f>xx(T0J!U0JKT4  1Ks   A
c           
          t        d      }ddg}ddg}t        j                  |dt        t	        ||                  }t        |d   dd	g       t        |d   d
dg       y )NzJOE 70.1 25.3
BOB 60.5 27.9r  r  r  r   r!  r"  r#  r$  r%  r&  )r    rO   r  rY  r   r   )r%   r   r  r3  ru  s        r'   "test_usecols_with_structured_dtypez.TestFromTxt.test_usecols_with_structured_dtype  sg    45 }}&S-?(@BT&\FF#34T&\D$<0r(   c                     t        j                  t        d      d      }t        |t        j                  ddg             y )Ns   1 2 3
4 5 6r   r(  r.  r1  )rO   r  r    r   rj   )r%   ru  s     r'   test_usecols_with_integerz%TestFromTxt.test_usecols_with_integer  s.    }}VO4a@T288R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        ||       y )Nr  r  rc   r   rh   r  r  )r  r  r   r  )rc   r   )rO   rj   rk   r  r  r    r   )r%   r  r   rZ   ru  s        r'   test_usecols_with_named_columnsz+TestFromTxt.test_usecols_with_named_columns  s    xx(#uU|0LMI&}}VD\E7EfET4 }}VD\ ;%/;39;T4 r(   c                 N   t               5 }|j                  d       t               }t        j                  |      }t        |t        j                  g              t        j                  |d      }t        |t        j                  g              d d d        y # 1 sw Y   y xY w)Nzgenfromtxt: Empty input file:)messager_   )r  )r   r   r    rO   r  r   rj   )r%   r   r   ru  s       r'   rW  zTestFromTxt.test_empty_file  sy      	-CJJ>J?8D==&Drxx|, ==15Drxx|,	- 	- 	-s   BBB$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        ||       y )Nr:  r   r   r   r&   r2  T)ri   r3  r  r;  r<  rh   )	r    rO   ri   rl   rk   r  marj   r   r5  s        r'   test_fancy_dtype_altz TestFromTxt.test_fancy_dtype_alt  si    *+XXSzC3*sEl1K+LMN
}}TsDQ((M=9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        ||       y rA  )r    rO   ri   rk   rl   r  rj   r   r>  s        r'   rG  zTestFromTxt.test_shaped_dtype'  sv    01XX~U|c5\f-/ 0MM!2&HHvsC)Y)?@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                         |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                         y )NA,B
0,1
2,N/Ar2  N/ATr3  missing_valuesr  ri   r  r  rf   r  FFFTrN  Br  ri   r   r  )r    r  rO   r  r  rj   rl   r   r  rJ   rk   r%   r   rZ   ru  rv  s        r'   test_withmissingzTestFromTxt.test_withmissing0  s    '(EF}}TFtFvF((FG,!/ ?#&*sCj!9; 	T7#TYY-		!}}T:4:6:((FG,!/ ?#&,e!=? 	T7#TYY-r(   c                 &   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        ||       y )Nz4A, B, C
0, 0., 0j
1, N/A, 1j
-9, 2.2, N/A
3, -99, 3jr2  T)ri   r3  r  rN  r  rO  r  r  ))r   r  y                )r_   r  rC  )r  g@            8)r6   y              @)r  r  )r   r   r_   r  r  ri   r  r  r  r   r_   rf   )r  r  )r  r  r  r  )r   r  rO  )
r  rl   rk   r   rO   r  r    r  rj   r   )r%   r   
basekwargsmdtyperu  rv  s         r'   test_user_missing_valuesz$TestFromTxt.test_user_missing_valuesB  s+   I4A
*sElS'N;}}VD\ *% *(*(( < L!') 	T7#$
7}}VD\ b/1ce+DdbV`b(( < L!') 	T7#}}VD\ */1%+H$(* )* (( < L!') 	T7#r(   c           
      B   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 cg c]
  }|t        f c}      }t        ||       t        j                  t        |      fddi|}t        j                  ddgdD cg c]
  }|t        f c}      }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        ||       y c c}w c c}w )N)r   r6   )rg   r  rc   r   rh   zN/A, 2, 3
4, ,???r2  za,b,cr  r  z???)r   r   rf   r   r  )r3  ri   r  r  filling_values)r   rf   r6   )rg   r   r  abcr  r  r  z1,2,*,4
5,*,7,8
*)r3  ri   r  r  )r_   rf   r   rg   )r   r   r  r  r  )r_   rf   r  rg   )r   r  r  r  )rO   rj   rl   r  r  r    r   )r%   r  r   rZ   ru  r  data2s          r'   test_user_filling_valuesz$TestFromTxt.test_user_filling_valuesb  si   xx+S#Jc
3KL##).SU%C)*t%<	>
 }}VD\4V4xxL1167A3x79T4 }}VD\E7EfExx+d3KQH3KLT4 $}}VE]c,/Cxx|45T4 }}VE]c,/Dxx67T4  8 4Ls   ;F
F
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                         y )NzA,B
0,1.5
2,-999.00r2  z-999.0T)ri   r3  r  r  r  )r   r'  )rf   g      r  r  rN  r  r  )	r    rO   r  r  rj   rl   rk   r   r  r2  s       r'   test_withmissing_floatz"TestFromTxt.test_withmissing_float~  st    -.}}T+34O((Hh/!/ ?#&*sEl!;= 	T7#TYY-r(   c                     t        d      }t        j                  |d dd      }t        j                  g dg dgg dg dg      }t        ||       y )	Nz1 2 3
4 5 6
2,5Tri   r  r  r   r!  r  )r  )r    rO   r  r  rj   r   r2  s       r'   test_with_masked_column_uniformz+TestFromTxt.test_with_masked_column_uniform  sI    &'}}T,14A((Iy1I8N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        ||       y )NzTrue 2 3
False 5 6
r  Tr  r   )r   r   r  r  r+  r,  r-  r  )r    rO   r  r  rj   r  rl   r   r2  s       r'   test_with_masked_column_variousz+TestFromTxt.test_with_masked_column_various  se    -.}}T,14A((Iy1!*I 6#',ttSk!JL 	T7#r(   c                    dgdz  }t        d      D ]
  }d|d|z  <    |j                  dd       t        dj                  |            t	        d	d d
      fd}t        t        |      }t        t        |      d       t        |t        j                  ddD cg c]
  }|t        f c}             j                  d       t        t        t        j                  d	d
       y c c}w )N1, 1, 1, 1, 1r~  r   2, 2, 2, 2 2rI  r   a, b, c, d, er  r2  Tr3  ri   r  c                  4    t        j                  fddi S )Nr  FrO   r  rZ   mdatas   r'   r   z)TestFromTxt.test_invalid_raise.<locals>.f  s    ==FeFvFFr(   rQ  abcderh   r3  r  )r   insertr    r   r  r   r   r   lenrO   r   rl   rJ   r   r  r  )r%   r   r   r   mtestr  rZ   r  s         @@r'   test_invalid_raisezTestFromTxt.test_invalid_raise  s     2%q 	*A)DaL	*A'tyy'4t<	G.2SZ$UBGGB.IA3x.IJK

1j"-- #4	1 /Js    C/c                    dgdz  }t        d      D ]
  }d|d|z  <    |j                  dd       t        dj                  |            t	        d	d d
d      fd}t        t        |      }t        t        |      d       t        |t        j                  ddD cg c]
  }|t        f c}             j                  d       t        j                  fddi}t        t        |      d       t        j                  ddD cg c]
  }|t        f c}      }d|t        d      D cg c]  }d|z  	 c}<   t        ||       y c c}w c c}w c c}w )Nr  r~  r   r  rI  r   r  r  r2  TF)r3  ri   r  r  c                  4    t        j                  fddi S )Nr  )r   rg   r  r  s   r'   r   z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.f  s    ==AA&AAr(   rQ  aerh   r  r  abr  )r   r  r    r   r  r   r   r   r   rO   r   rl   rJ   r  )	r%   r   r   r   r  r  rv  rZ   r  s	          @@r'   test_invalid_raise_with_usecolsz+TestFromTxt.test_invalid_raise_with_usecols  s-    2%q 	*A)DaL	*A'tyy'4t$)+	B.2SZ$UBGGB.FA3x.FGH

1e>V>v>SZ$''"t$<!aX$<=.4q*Aa*+UG$ /G
 %=*s   !EE
4Ec           	          dgdz  }t        dj                  |            }dd i}t        d|dD cg c]
  }|t        f c}      }t	        t
        t        j                  |fi | y c c}w )	Nz1, 1, 1, 1, -1.1r~  r  rg   c                 (    d| j                         z  S )Nz(%s)r  r  s    r'   r  z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>  s    6AHHJ#6 r(   r2  r  )r3  r  ri   )r    r   r  rl   r   r  rO   r  )r%   r   r  r  r  rZ   s         r'   test_inconsistent_dtypez#TestFromTxt.test_inconsistent_dtype  sf    "#b(tyy'67

/67!aX7:j"--A&A 8s   A)c                     d}t        j                  t        |      dd d      }t        j                  ddgdt        fdt        fd	t
        fg
      }t        ||       y )N0, 1, 2.3
4, 5, 6.7r2  f%02ir3  ri   
defaultfmtr   r_   ffffff@)rg   r   @f00f01f02rh   )rO   r  r    rj   rl   rk   r   r%   r   r  r  s       r'   test_default_field_formatz%TestFromTxt.test_default_field_format  sY    %fTl'*$7Lxxk2 %s|eS\E5>JLUD!r(   c                     d}t        j                  t        |      dt        d      }t        j                  g dg dgt              }t        ||       y )Nr  r2  r  r  r  r.  r  r1  r  r  rh   rO   r  r    rk   rj   r   r  s       r'   test_single_dtype_wo_namesz&TestFromTxt.test_single_dtype_wo_names  sB    %fTl'*%GMxx6eDUD!r(   c                     d}t        j                  t        |      dt        d      }t        j                  ddgdD cg c]
  }|t        f c}      }t        ||       y c c}w )	Nr  r2  r  r  r  r  r  rh   r  r%   r   r  r  r  s        r'   "test_single_dtype_w_explicit_namesz.TestFromTxt.test_single_dtype_w_explicit_names  sY    %fTl'*%yJxx6389a5z9;UD! :   A#
c                     d}t        j                  t        |      dt        d      }t        j                  ddgdD cg c]
  }|t        f c}      }t        ||       y c c}w )	Nza, b, c
0, 1, 2.3
4, 5, 6.7r2  Tr  r  r  r  rh   r  r  s        r'   "test_single_dtype_w_implicit_namesz.TestFromTxt.test_single_dtype_w_implicit_names  sY    .fTl'*%tExx6389a5z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        ||       y )Nr  r2  zf_%02ir  )r   r.  r  )rg   r  r  f_00f_01f_02rh   rO   r  r    rl   rk   rj   r   r  s       r'   test_easy_structured_dtypez&TestFromTxt.test_easy_structured_dtype  s`    %fTlc$'#68Mxx|4 &}vuoOQUD!r(   c                 6   d}t        dd       }t        j                  d      5 }t        j                  ddt        j
                         t	        j                  t        |      fi |}t        |d   j                  t        j
                  u        d d d        t	        j                  d	gd
dt        fdg      }t        |       t        j                  d      5 }t        j                  ddt        j
                         t	        j                  t        |      fddi|}t        |d   j                  t        j
                  u        d d d        t	        j                  dgddt        fdg      }t        ||       y # 1 sw Y   xY w# 1 sw Y   CxY w)Nz01/01/2003  , 1.3,   abcder2  )r3  ri   Tr   r   r.   r   )z01/01/2003  ?z   abcde)r+  z|S12r,  )r-  r  rh   	autostrip)z
01/01/2003r*  r  )r+  r  )r-  z|S5)r  r   r   r   rO   r#  r  r    r   r$  rj   rk   r   )r%   r   rZ   rZ  r  r  s         r'   test_autostripzTestFromTxt.test_autostrip  s\   +40$$D1 	CQ##Hb"2N2NOMM&,9&9EAaDMMR%A%AAB	C xx:;-e}mLNUD!$$D1 	CQ##Hb"2N2NOMM&,I$I&IEAaDMMR%A%AAB	C xx56-e}mLNUD!	C 	C	C 	Cs   A-FA/FFFc                 6   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        ||       y )NzA.A, B (B), C:C
1, 2, 3.14r2  Tr3  r  ri   AAB_BCC)r_   rf   gQ	@rh   r.   r3  r  ri   replace_spacedeletecharsA.AB (B)C:Cr3  r  ri   r4  B_(B)r'  r%   r  ru  
ctrl_dtyper  s        r'   test_replace_spacezTestFromTxt.test_replace_space  s    +}}VC['*$dDSkE3<$?
xxJ7T4 }}VC['*$d+-2? clWcNUENC
xxJ7T4 }}VC['*$d)+- clWcNUENC
xxJ7T4 r(   c                 N   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        ||       y )NzA.A, B (B), C:C
1, 2, 3r2  Tr.  r/  r0  r1  r   rh   r.   r2  r5  r6  r7  r8  r9  )rO   r  r    rl   rj   r   r:  s        r'   test_replace_space_known_dtypez*TestFromTxt.test_replace_space_known_dtype%  s    (}}VC['*$cCSkE3<$=
xx	4T4 }}VC['*$c+-2? clWcNUCLA
xx	4T4 }}VC['*$c)+- clWcNUCLA
xx	4T4 r(   c                    d}t        dd      }t        j                  ddgdD cg c]
  }|t        f c}      }t        j                  t        |      fd	d i|}t        ||       t        j                  ddgdD cg c]
  }|t        f c}      }t        j                  t        |      fi |}y c c}w c c}w )
NzA,,C
0,1,2
3,4,5r2  Tr  r  r  )rN  r+  rO  rh   ri   )r  rO   rj   rl   r  r    r   rk   )r%   r   rZ   r  r  ru  s         r'   test_incomplete_namesz!TestFromTxt.test_incomplete_names=  s    #40xxI.1ABA3xBD}}VD\@@@T4 xxI.3CDa5zDF}}VD\4V4 C
 Es   B7
 B<
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        ||       y )	Nz1 2 3
 4 5 6rc   r"  r   r!  r+  r,  rh   r'  )r%   r   ru  r  s       r'   test_names_auto_completionz&TestFromTxt.test_names_auto_completionK  s^    }}VD\$'#4CAxxI. #SzD%=4+F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                  |       y )Nz'A,B,C,D,E
0,1,2,3,4
0,1,2,3,4
0,1,2,3,4)rN  rO  Er2  )r   rf   rg   T)ri   r3  r  r  )rO   r  r    rl   r   ri   r  )r%   r   
ctrl_namesru  s       r'   test_names_with_usecols_bug1636z+TestFromTxt.test_names_with_usecols_bug1636T  s    ;$
}}VD\$'c?c%.d< 	TZZ%%z2}}VD\$'c?c%4DB 	TZZ%%z2}}VD\#&#%4DB 	TZZ%%z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        ||       y )Nz-    A    B   C
    0    1 2.3
   45   67   9.)r   r   rg   Tr.  r  )rQ  r  r  rN  r  rO  rh   r   )r  rO   rj   rl   rk   r  r    r   r%   r   rZ   r  ru  s        r'   test_fixed_width_namesz"TestFromTxt.test_fixed_width_namesg  s    @	TBxxl3 #SzC:U|DF}}VD\4V4T4 T:xxl3 #SzC:U|DF}}VD\4V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        ||       y )	Ns   1, 2, 3
1, , 5
0, 6, 
r2  r  )r3  ri   r  r   )r_   r  r   )r   r  r  rh   )r  rO   rj   rl   r  r    r   rH  s        r'   test_filling_valueszTestFromTxt.test_filling_valuesv  sM    +4ExxL,?sK}}VD\4V4T4 r(   c                    t        j                  d      5 }t        j                  ddt        j                         t        j
                  t        d      d d d      }t        |d   j                  t        j                  u        d d d        t        d	   d
       t        j                  d      5 }t        j                  ddt        j                         t        j
                  t        d      d d d      }t        |d   j                  t        j                  u        d d d        t        |d	   d       y # 1 sw Y   xY w# 1 sw Y   %xY w)NTr   r   r.   ztest1,testNonetherestofthedatar2  ri   r;  r3  r   r_   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r   r   r   rO   r#  r  r    r   r$  r   )r%   rZ  ru  s      r'   test_comments_is_nonez!TestFromTxt.test_comments_is_none~  s   $$D1 	CQ##Hb"2N2NO==(H!I'+dcKDAaDMMR%A%AAB		C
 	T!W9:$$D1 	CQ##Hb"2N2NO==(I!J'+dcKDAaDMMR%A%AAB		C
 	T!W:;	C 	C	C 	Cs   A0D<4A0E<EEc                    d}d}d|z   dz   }||z   |z   }t        j                  d      5 }t        j                  ddt        j                         t        j
                  t        |      d d d	
      }t        |d   j                  t        j                  u        d d d        t        d   d       t        |d   d|z          t        |d   d       t        j
                  t        |      d d d	d      }t        |d   d       t        |d   d|j                  d      z          t        |d   d       t        j                  d      5 }t        j                  ddt        j                         t        j
                  t        d|z         d d d	
      }t        |d   j                  t        j                  u        d d d        t        |d   d       t        |d   d|z          y # 1 sw Y   OxY w# 1 sw Y   8xY w)Ns      norm1,norm2,norm3
   test1,testNonethe   ,test3
Tr   r   r.   r2  rM  r   )r_   r      test1)r_   r_      testNonether}      test3r5   ri   r;  r3  rb  test1testNonethetest3   0,testNonether+  r,  )r   r   r   rO   r#  r  r    r   r$  r   r9   )r%   r5   normencr&   rZ  ru  s          r'   test_latin1zTestFromTxt.test_latin1  s    %"V+k93J$$D1 	CQ##Hb"2N2NO=='+dcKDAaDMMR%A%AAB		C
 	T$Z*T$Z&!89T$Z*}}VAY#'$#&.0 	T$Z)T$Zx1H!HIT$Z)$$D1 	CQ##Hb"2N2NO==(86(A!B'+dcKDAaDMMR%A%AAB		C
 	T$Z#T$Z&!89+	C 	C	C 	Cs   A0G(A3G5(G25G>c                     d}| j                  t        |      d d      }t        |t        j                  |j                  d      j                                      y r  )r  r   r   rO   rj   r9   rV  r  s      r'   test_binary_decode_autodtypez(TestFromTxt.test_binary_decode_autodtype  sD    4MM'%.xMH1bhhu||H'='C'C'EFGr(   c                    d}d}d|z   dz   }||z   |z   }t        j                  d      5 }t        j                  ddt        j                         t        j
                  t        |      d d d	
      }t        |d   j                  t        j                  u        d d d        t        j                  g ddd|z   dgg dg      }t        |       y # 1 sw Y   8xY w)Nr]  rP  rQ  rR  Tr   r   r.   r2  rM  r   )s   norm1s   norm2s   norm3rS  rT  rU  )r   r   r   rO   r#  r  r    r   r$  rj   r   )r%   rd  r[  r\  r&   rZ  ru  ctls           r'   test_utf8_byte_encodingz#TestFromTxt.test_utf8_byte_encoding  s    %"T)K73J$$D1 	CQ##Hb"2N2NO=='+dcKDAaDMMR%A%AAB		C
 hh/NT18</1 2 	4%	C 	Cs   A0CCc           	         d}t               5 }t        |d      5 }|j                  d|z   dz   dz         d d d        t        j                  |d d dd      }t        j
                  d	d
|j                  d      z   dgd	d
|j                  d      z   dggt        j                        }t        ||       t        |d      5 }|j                  d|z          d d d        t        j                  |d d dd      }t        |d   d       t        |d   d
|j                  d      z          d d d        y # 1 sw Y   xY w# 1 sw Y   hxY w# 1 sw Y   y xY w)Nr]  r   rQ  rR  rf   r2  r^  rV  rW  rX  rY  rh   rZ  r+  r   r,  )
r   r   r*   rO   r  rj   r9   rc  r   r   )r%   rd  r+  r   ru  ra  s         r'   test_utf8_filezTestFromTxt.test_utf8_file  sZ   Z 	K4dD! IQ-4{BaGHI==TD+.BD((}t{{7/CCWM}t{{7/CCWMO 77$C tS) dD! 1Q(4/01==TD+.BDdQ'd]T[[5I%IJ#	K 	KI I1 1	K 	Ks;   ED0BE D<AE0D9	5E<E	EEc                 b   d}d}	 t        j                         }|j                  |       t               5 }t        j                  |d      5 }|j                  d       |j                  d|z   dz          |j                  d|z   d	z          d d d        t        j                  d
      5 }t        j                  ddt        j                         t        j                   |d d d      }t#        |d   j$                  t        j                  u        d d d        t        j&                  g dd|dgdd|z   dggt        j(                        }t+        |       d d d        y # t        t        f$ r t        j                  d       Y ]w xY w# 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   y xY w)NrF  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.   r2  rM  r   )norm1norm2norm3rf  rh  rW  rX  rY  rh   )r  r  r  UnicodeErrorImportErrorr   r  r   r  r   r*   r   r   r   rO   r#  r  r   r$  rj   rc  r   )	r%   rd  r5   rb  r+  r   rZ  ru  ra  s	            r'   test_utf8_file_nodtype_unicodez*TestFromTxt.test_utf8_file_nodtype_unicode  s   	G224HKK!
 Z 	*4t$ A-.6)J67+d2Z?@A ((5 G''"(*(D(DF}}T/24 !)E)EEFG ((0vw/}t3W=? 77	$C
 tS)#	* 	*	 k* 	GKK F G	G
A AG G	* 	*sO   %E! F%A FF%*A'FAF%!$F	F	F	F%F"	F%%F.c                 2   t        d      }t        ddd      }t        j                  |fi |}t        j                  ddgdt
        fd	t
        fg
      }t        t        |t        j                               t        ||       t        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                         t        |j                  ddg       y )NA,B
0,1
2,3r2  r  Tr  r  r  rN  r  rh   r  r  r  r  r  r  r   rf   )r    r  rO   
recfromtxtrj   rl   r   rM   recarrayr   r  r  rN  r  s        r'   test_recfromtxtzTestFromTxt.test_recfromtxt  s    o&EF}}T,V,((FF+#&*sCj!9;
4-.T7#'(}}TFtFvF((FG,!/ ?#&*sCj!9; 	T7#TYY-TVVaV$r(   c                    t        d      }t        ddd      }t        j                  |fdd i|}t        j                  ddgdt
        fd	t
        fg
      }t        t        |t        j                               t        ||       t        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                         t        |j                  ddg       t        d      }t        j                  |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        j                  |d|      }t        j                  ddg|
      }t        t        |t        j                               t        ||       t        d      }t        j                  |dd i      }t        j                  ddgdt        dffg
      }t        |j                  |j                         t        ||       y )Nrm  r  Tr  r  case_sensitiveri   r  r  rN  r  rh   r  r  r  r  r  r  r   rf   )r  rc   r   )r  ri   zcolor
"red"
"blue"c                 $    | j                  d      S )N   ")rk  r  s    r'   r  z-TestFromTxt.test_recfromcsv.<locals>.<lambda>-	  s    AGGEN r(   )r  )red)bluecolorrg   )r    r  rO   r  rj   rl   r   rM   ro  r   r  r  rN  rk   r8   ri   )r%   r   rZ   ru  rv  ri   s         r'   test_recfromcsvzTestFromTxt.test_recfromcsv		  s   o&U$tL}}T888((FF+#&*sCj!9;
4-.T7#'(}}TFtFvF((FG,!/ ?#&*sCj!9; 	T7#TYY-TVVaV$o&}}T%9((FF+#&*sCj!9;
4-.T7#o&sc5\*}}T%uE((FF+!&(
4-.T7# ,-}}Tq2J.KL((Hi0'E1:9N8OPTZZ/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 }|j                  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        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        ||       y # 1 sw Y   xY w) Nz1 2
3 4
5 6
7 8
9 10
r6   )r  r_   rf   rg   r   r  r  r  r  rI  r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
r.  r/  )r  r  F)r  r  r0  r1  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r  r  r  ))r.  r.  )r/  r/  )r0  r0  )r   <f8)r  r{  rh   )r  ri   )r1  r1  )r  r  )r    rO   r  r   r   r  rj   r   r   r   ri   )r%   r   r  a1a2ru  rv  r   s           r'   r  zTestFromTxt.test_max_rows2	  s1   +Tl]]3+]]3R1a&1a&1a&12R1a&1b'*+ 	j"--J 9}}VD\A6((RHr2h/0T7# 	j"--1 	" 	j"--J   		(CJJ()==ODhhR2r(RHr2hGHGw'==ODhhR2r(RHr2hGHGw'		( < Tl}}Sa!4H((?)<8:T7# }}S4tzzB((J
3)<8:T7#3		( 		(s   3B2JJc                 R   t        j                  d      j                  d      }d}|D ]d  }d|z   dz   }t               5 }t	        |d      5 }|j                  |       d d d        t        j                  |      }d d d        t        |       f y # 1 sw Y   5xY w# 1 sw Y   $xY w)Nr  r  r  r  r  rZ  )rO   r  r  r   r   r*   r  r   )r%   r{  r  r  r   rH   r   r  s           r'   test_gft_using_filenamez#TestFromTxt.test_gft_using_filenameh	  s     iil""6*& 	)CS=7*D *t$_ "GGDM"mmD)* sC(	)" "* *s#   BBBBBB&	c                    t        j                  d      j                  d      }d}|D ]  }d|z   dz   }t               }t	        j
                  |d      5 }|j                  t        |             d d d        t        d	      5 }t        |d      5 }|j                  |       d d d        t        t        j                  |      |       d d d         y # 1 sw Y   fxY w# 1 sw Y   ?xY w# 1 sw Y   xY w)
Nr  r  r  r  r  rZ  fileobjr  z.gz2r   )rO   r  r  r   r  GzipFiler*   r   r   r   r   r  )	r%   r  r  r  r   r&   r8  rH   r   s	            r'   test_gft_from_gzipzTestFromTxt.test_gft_from_gzipv	  s    1%%f-& 		@CS=7*D	Aqs3 'q&' ( @D$_ "GGDM""2==#6?@ @		@' '" "@ @s0   CC-C!#'C-C	!C*&C--C6	c                 |    d }t        j                   |             }t        |t        j                  d             y )Nc               3   L   K   t        d      D ]  } t        d| z          y wr  )r   r   r  s    r'   r  z3TestFromTxt.test_gft_using_generator.<locals>.count	  s(     2Y (dQh''(s   "$rI  )rO   r  r   r  r  s      r'   test_gft_using_generatorz$TestFromTxt.test_gft_using_generator	  s+    	( mmEG$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	       y )
Nz%73786976294838206464 17179869184 1024rh   )r+  r,  r-  r+  r,  r-  g      Dl        i   )r    rO   r  r   ri   r  r   rk   r+  int_r   rq  s      r'   test_auto_dtype_largeintz$TestFromTxt.test_auto_dtype_largeint	  s     =>}}T.TZZ%%'9:

4 E)*

4 BHH,-

4 BGG+,T
$9:T$Z-T$Z&r(   c                    t        d      }t        j                  |dd      \  }}}t        |t        j                  g d             t        |t        j                  g d             t        |t        j                  g d             y )Nz1,2,3
4,5,6
7,8,9
0.0,1.0,2.0r2  T)r3  r  )r.  r1  r  r  )r/  r  rE  r.  )r0  r=  r  r/  )r    rO   r@  r   rj   )r%   r  rc   r   r   s        r'   test_unpack_float_dataz"TestFromTxt.test_unpack_float_data	  sa    78**SC=1a1bhh';<=1bhh';<=1bhh';<=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             y )Nr  r  r  r  Tr  r  r   r(  r  r  r^  r  r  r  )r    rO   r  r   ri   r   rj   r  s         r'   r  z"TestFromTxt.test_unpack_structured	  s     '(&3EF--2d;1aQWWbhhtn-QWWbhhtn-QWWbhhtn-1bhhd|451bhhBx011bhhc{34r(   c                 T   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 ]1  \  }}t        ||       t        |j                  |j                         3 y )NzM 21 72.
F 35 58.r  r  r^  r  r  r  Tzutf-8)ri   r  rb  )r    rO   rj   r  r   r   r   ri   )r%   r  expectedru  rQ   results         r'   test_unpack_auto_dtypez"TestFromTxt.test_unpack_auto_dtype	  s     )*HHc3Z("((B8*<bhhSz>RS}}STGLx. 	2KCsF+FLL1	2r(   c                     t        d      }ddd}t        j                  ddgt        j                        }t        j                  ||d	      }t        ||       t        |j                  |j                         y )
Nz21
35r   r   r  r^  r  rh   Tr  )r    rO   rj   r  r  r   r   ri   r%   r  r   r  ru  s        r'   test_unpack_single_namez#TestFromTxt.test_unpack_single_name	  s^     X'288RHBHH5}}S488T*X^^TZZ0r(   c                 "   t        d      }ddd}t        j                  dt        j                        }t        j                  ||d      }t        ||       t        d	|j                         t        |j                  |j                         y )
Nr  r   r  r  r  rh   Tr  r3   )	r    rO   rj   r  r  r   r   ra   ri   r  s        r'   test_squeeze_scalarzTestFromTxt.test_squeeze_scalar	  sg     Sk'288D1}}S488T*R$X^^TZZ0r(   ndimr  c                     d}t        j                  t        |      |      }t        j                  t        |      |      }t	        ||       y )N42r  )rO   r@  r   r  r   )r%   r  r  rc   r   s        r'   r  zTestFromTxt.test_ndmin_keyword	  s;     JJx}D1MM(3-t41a r(   N)^r/   r0   r1   r  rO   r  r  r   ro   ru   r  r  r  r   r&  r/  r3  r?  r9  r<  r?  rD  rJ  rU  r   r\  rh  rl  rc  r{  r  r  r  rw  r  r  r  r  r  r  r  r5  r  r  r  r  rW  r  rG  r  r  r  r  r  r  r  r  r
  r  r  r  r"  r(  r,  r<  r>  r@  rB  rF  rI  rK  rN  r]  r_  rb  rd  rk  rp  ry  r  r  r  r  r  r  r  r  r  r  r   r   r  rl   r  r3   r(   r'   r	  r	  =  s   BMM*H$
*
*
$$	!F080 $$
$!:$;
$$$	$	$
%B$
$$F6'$
$$$$(+*!1/
	!
-$!.$$@!8.$$1&%.B""""""&!0!05!3&!!<:8H
& K*!*F%&'$R4$l)@ /'2>521
1 [[VY/!s ! 0!r(   r	  c                       e Zd Zd Zd Zd Zej                  j                  e	d      d        Z
d Zd Zd	 Zd
 Zd Zy)TestPathUsagec                     t        d      5 }t        |      }t        j                  ddgddgg      }t        j                  ||       t        j
                  |      }t        ||       d d d        y # 1 sw Y   y xY w)N.txtr   g?rf   r6   rg   )r   r   rO   rj   r  r@  r   )r%   r+  rc   r   s       r'   test_loadtxtzTestPathUsage.test_loadtxt	  sk    V$ 	%:D3(QF+,AJJtQ

4 Aq!$	% 	% 	%s   AA44A=c                 
   t        d      5 }t        |      }t        j                  ddgddggt              }t        j
                  ||       t        j                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr)  r   r_   rf   r6   rg   )r   r   rO   rj   rl   r   rP   r   r%   r+  rc   r   s       r'   test_save_loadzTestPathUsage.test_save_load	  sl    V$ 	(:D1a&1a&)3/AGGD!774=DtQ'	( 	( 	(s   A#A99Bc                 D   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        y # 1 sw Y   y xY w)	Nr)  r   r_   rf   r6   rg   rz   ry   )
r   r   rO   rj   rl   r   rP   r   r   r   r  s       r'   test_save_load_memmapz#TestPathUsage.test_save_load_memmap	  s    V$ 
	:D1a&1a&)3/AGGD!7743/DtQ'
	 
	 
	s   B BBzmemmap doesn't work correctlyrv   c                    t        d      5 }t        |      }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        y # 1 sw Y   y xY w)Nr)  r   r_   rf   r6   rg   zr+r  r   r   )
r   r   rO   rj   rl   r   rP   r   r   r   )r%   r+  rc   r   r   s        r'   test_save_load_memmap_readwritez-TestPathUsage.test_save_load_memmap_readwrite	
  s     V$ 	(:D1a&1a&)3/AGGD!-AAaDGAaDG774=DtQ'	( 	( 	(s   B%B;;Cc                     t        d      5 }t        |      }t        j                  |d       t        j                  |      5 }t        |d   d       d d d        d d d        y # 1 sw Y   xY w# 1 sw Y   y xY wNr   r   r   r   r   )r   r   rO   r   rP   r   r%   r+  r   s      r'   test_savez_loadzTestPathUsage.test_savez_load
  sv    V$ 	@:DHHT~. @$"4;?@	@ 	@@ @	@ 	@s#   8A2A&A2&A/	+A22A;c                     t        d      5 }t        |      }t        j                  |d       t        j                  |      }t        |d   d       |j                          d d d        y # 1 sw Y   y xY wr  )r   r   rO   savez_compressedrP   r   rN   r  s      r'   test_savez_compressed_loadz(TestPathUsage.test_savez_compressed_load"
  s^    V$ 	:D.9774=DtE{N;JJL	 	 	s   AA--A6c                     t        d      5 }t        |      }t        j                  ddg      }t        j                  ||       t        j
                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr  r   r}   r~   )r   r   rO   rj   r  r  r   r  s       r'   test_genfromtxtzTestPathUsage.test_genfromtxt+
  sc    V$ 	(:D&&)*AJJtQ==&Dq$'	( 	( 	(s   AA00A9c                    t        d      5 }t        |      }|j                  d      5 }|j                  d       d d d        t	        ddd      }t        j                  |fi |}t        j                  d	d
gdt        fdt        fg      }t        t        |t
        j                               t        ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr  r   rZ  rm  r2  r  Tr  r  r  rN  r  rh   )r   r   r   r*   r  rO   rn  rj   rl   r   rM   ro  r   r%   r+  r   rZ   ru  rv  s         r'   rp  zTestPathUsage.test_recfromtxt3
  s    V$ 
	(:D3 )1() CTJF==00Dhh/'*Cj3*%=?GJtR[[12w'
	( 
	() )
	( 
	(s"   CCBCC	CCc                    t        d      5 }t        |      }|j                  d      5 }|j                  d       d d d        t	        ddd      }t        j                  |fdd i|}t        j                  d	d
gdt        fdt        fg      }t        t        |t
        j                               t        ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nr  r   rZ  rm  r  Trr  ri   r  r  rN  r  rh   )r   r   r   r*   r  rO   r  rj   rl   r   rM   ro  r   r  s         r'   ry  zTestPathUsage.test_recfromcsv@
  s    V$ 
	(:D3 )1() d4PF==<T<V<Dhh/'*Cj3*%=?GJtR[[12w'
	( 
	() )
	( 
	(s"   CC	BC	C	CCN)r/   r0   r1   r  r  r  r   r   r  r   r  r  r  r  rp  ry  r3   r(   r'   r  r  	  sU    %( [[w'FG( H( @(((r(   r  c                  ^   t         j                  j                  d      } t               }t        j                  |d      }t        j
                  ||        |j                          |j                  d       t        j                  |d      }t        t        j                  |      |        y )Nr   r   rZ  r  r   rz   )
rO   r   r   r  r  r   rN   rJ   r   rP   rc   r&   r   s      r'   test_gzip_loadr  N
  sp    
		 A	Aac*AGGAqMGGIFF1Iac*Arwwqz1%r(   c                       e Zd Zd Zd Zd Zy)
JustWriterc                     || _         y r"   baser%   r  s     r'   r#   zJustWriter.__init___
  	    	r(   c                 8    | j                   j                  |      S r"   )r  r*   r$   s     r'   r*   zJustWriter.writeb
  s    yyq!!r(   c                 6    | j                   j                         S r"   )r  rI   r  s    r'   rI   zJustWriter.flushe
  s    yy  r(   N)r/   r0   r1   r#   r*   rI   r3   r(   r'   r  r  ^
  s    "!r(   r  c                        e Zd Zd Zd ZddZy)
JustReaderc                     || _         y r"   r  r  s     r'   r#   zJustReader.__init__i
  r  r(   c                 8    | j                   j                  |      S r"   )r  r<  )r%   r   s     r'   r<  zJustReader.readl
  s    yy~~a  r(   c                 :    | j                   j                  ||      S r"   )r  rJ   )r%   offwhences      r'   rJ   zJustReader.seeko
  s    yy~~c6**r(   NrU  )r/   r0   r1   r#   r<  rJ   r3   r(   r'   r  r  h
  s    !+r(   r  c                  .   t         j                  j                  d      } t               }t        |      }t        j                  ||        |j                          |j                  d       t        |      }t        t        j                  |      |        y )Nr  r   )
rO   r   r   r  r   rI   rJ   r  r   rP   r  s      r'   test_ducktypingr  s
  sb    
		 A	A1AGGAqMGGIFF1I1Arwwqz1%r(   c                     t               } t        j                  | d      }|j                  d       |j	                          | j                  d       t        d      5 }t        |d      5 }|j                  | j                                d d d        t        j                  |      }d d d        | j	                          t        g d       y # 1 sw Y   ExY w# 1 sw Y   4xY w)	NrZ  r     1 2 3
r   rh  r   r   r   )r   r  r  r*   rN   rJ   r   r   r<  rO   r@  r   )r&   r8  rH   r   r  s        r'   test_gzip_loadtxtr  
  s     		Aac*AGGJGGIFF1I		 4$ 	GGAFFH	jj GGIsI&	 	 s$    C- CCC	CC&c                     t               } t        j                  | d      }|j                  d       |j	                          | j                  d       t        j                  | d      }t        t        j                  |      g d       y )NrZ  r  r  r   rz   r   )	r   r  r  r*   rN   rJ   r   rO   r@  )r&   r   s     r'   test_gzip_loadtxt_from_stringr  
  s[    	Aac*AGGJGGIFF1Iac*Arzz!}i0r(   c                     t               } t        j                  d      }t        j                  d      }t        j                  | ||       | j	                  d       t        j
                  |       }t        d|v        t        d|v        t        d|j                         v        t        d|j                         v        |j                         D ](  \  }}t        |dv        t        |j                  d       * t        t        |j                               dk(         |D ]  }t        |dv         t        d|j                         v        y )N)r6   r6   )r   r   r   r   r   rf   )r   rO   rE  r   rJ   rP   r   keysitemsr   ra   r   )r&   r   r   r'  r   rc   s         r'   test_npzfile_dictr  
  s   	A
A
AHHQ!qFF1I

AC1HC1HC1668OC1668O	 &1Z QWWf%& C	Na  !Z ! C1668Or(   zPython lacks refcountsrv   c                     t               } t        j                  | g d       | j                  d       t	               5  t        j
                  |        d d d        | j                  d       ddg}t	               5  t        j                  t        d      |      }t        |t        j                  dg|             d d d        y # 1 sw Y   txY w# 1 sw Y   y xY w)Nr   r   )rc   u1rf   )r   r  rf   z0 1 2 3rh   )r  r  )
r   rO   r   rJ   r   rP   r@  r    r   rj   )r   r   r   s      r'   test_load_refcountr  
  s    
 		AHHQ	FF1I		 

 FF1I
.	)B		 @JJvi(3Q"2!32>?@ @ 
@ @s   C;ACCCc                     t               } t        j                  | d       t        j                  | d       | j                  d       t        j                  |       dk(  sJ t        j                  |       dk(  sJ t        j                  t              5  t        j                  |        d d d        y # 1 sw Y   y xY w)Nr_   rf   r   )r   rO   r   rJ   rP   r   r   EOFError)r   s    r'   #test_load_multiple_arrays_until_eofr  
  s    	AGGAqMGGAqMFF1I771:??771:??	x	  

  s   B44B=r"   )QrK   r   r  rV   r   r:   r   r  rK  r   pathlibr   tempfiler   r   r   r   r  multiprocessingr   r	   ctypesr
   numpyrO   numpy.mar  numpy.lib._iotoolsr   r   numpy.compatr   numpy.ma.testutilsr   numpy.testingr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   numpy.testing._private.utilsr   r    maxsizer	  r  rm  rj  r  rn  r;   r>   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   
 	  	    	 	   '     .    @   +     9>W >& ;;GH
0h% h%VI= I]M ]@_ _B	E% E%Pn,+ n,`?6 ?6Jh!+ h!V%c( c(L& ! !+ +&'*16 $-EF@ G@"oT  G
  Hs$   6E0 =E= 0E:9E:=FF