
    gi(                    x   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mZ d dlmZ d dlmZ d dlZd dlZd dlmZ d dlmZ d d	lmZ d d
l m!Z! d dl"m#Z#m$Z$ d dl%m&Z&m'Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7 d dl8m9Z9  G d de      Z:ejv                  dkD  Z<	 d dl=Z=dZ>	 d dl@Z@dZAd7dZB G d d      ZC G d deC      ZD G d deC      ZE G d d      ZF G d d      ZG G d  d!eG      ZH G d" d#      ZI G d$ d%eG      ZJ G d& d'      ZKd( ZL G d) d*      ZM G d+ d,      ZNd- ZOd. ZPd/ ZQd0 ZRej                  j                  e+ d12      ej                  j                  d32      d4               ZVd5 ZWd6 ZXy# e?$ r dZ>Y w xY w# e?$ r dZAY w xY w)8    N)c_bool)datetime)BytesIOStringIO)Valueget_context)Path)NamedTemporaryFile)asbytes)VisibleDeprecationWarning)_npyio_impl)ConversionWarningConverterError)
recfromcsv
recfromtxt)assert_equal)HAS_REFCOUNTIS_PYPYIS_WASMassert_assert_allcloseassert_array_equalassert_no_gc_cyclesassert_no_warningsassert_raisesassert_raises_regexbreak_cyclestempdirtemppath)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     O/var/www/html/audio_env/lib/python3.12/site-packages/numpy/lib/tests/test_io.pyr%   zTextIO.__init__7   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.writelines=   s$    4e!<'!*!<=!<s   /
N) )__name__
__module____qualname____doc__r%   r,   r.    r*   r)   r"   r"   .   s    +(>r*   r"   l        TFc                     t        | t              r| j                  d      } t        t	        j
                  | |      dd  S )zY
    This function is available in the datetime module only from Python >=
    2.5.

    latin1N   )
isinstancebytesdecoder   timestrptime)r(   fmts     r)   r=   r=   N   s9     !U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              si|j                          d
t               v rMt        |
t        j                  j                  j                        st!        j"                  |j                         |	|
fS # 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_reloaded)getr
   namer   flushseeksysplatformr9   closenploadlocalslibnpyioNpzFileosremove)r'   	save_funcargskwargsrB   rC   rE   target_file	load_filearrrH   s              r)   	roundtripzRoundtripTest.roundtripZ   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 k73!!#!VX-%lBFFLL4H4HI		+"2"23L   k73!!#!VX-%lBFFLL4H4HI		+"2"23 J . 4s   !A8E 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)rE   r      )r^   rP   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`      r8      y      ?      @y       @      @y      @      @y      @       @dtype)rP   arrayfloatre   intcsinglecdoublerc   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`   rg   r8   rh   )rP   rk   objectre   rc   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`   rg   r8   rh   )rP   rk   rm   r^   rc   s     r)   test_1DzRoundtripTest.test_1D   s    HH\3'qr*   rG   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      @rh   g333333@T	mmap_moder)rE   rC   )rP   rk   r^   ra   rc   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`   rg   r8   rh   xi4yr   ri   )rP   rk   re   rc   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  ri   Trecordalwaysr0   )	rangerl   rP   oneswarningscatch_warningsfilterwarningsUserWarningre   )r'   idtrd   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)r1   r2   r3   r^   re   rp   rs   rv   pytestmarkskipifrM   rN   r|   r   slowr   r5   r*   r)   r@   r@   Y   su    .!`H! ! [[/8HIK JK! [[% %r*   r@   c                       e Zd Zd Zy)TestSaveLoadc                 ,   t        j                  | t        j                  g|i |\  }}t	        |d   |       t	        |d   j
                  |j
                         t	        |d   j                  j                  |j                  j                         y )Nr   )r@   r^   rP   saver   rj   flagsfnc)r'   rY   rZ   r]   rH   s        r)   r^   zTestSaveLoad.roundtrip   sq    )33D"''SDSFS\SV\*SV\\<#5#56SV\\%%|'9'9'='=>r*   N)r1   r2   r3   r^   r5   r*   r)   r   r      s    ?r*   r   c                      e Zd Zd Zd Zej                  j                  ed      ej                  j                  e	 d      ej                  j                  ej                  j                  d      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                    t        j                  | t        j                  g|i |\  }}	 t	        |      D ]m  \  }}|d|z     }t        ||       t        |j                  |j                         t        |j                  j                  |j                  j                         o 	 |j                  rD|j                  j                          t        j                  |j                  j                         y y # |j                  rD|j                  j                          t        j                  |j                  j                         w w xY w)Nzarr_%d)r@   r^   rP   savez	enumerater   rj   r   r   fidrO   rV   rW   rJ   )r'   rY   rZ   r]   rH   nrd   reloadeds           r)   r^   zTestSavezLoad.roundtrip   s    )33D"((TTTVT\
	1!# >1'15Q)QWWhnn5QWW[[(..*<*<=	>   &&(		,**//0  |  &&(		,**//0  s   A;C: :AEc           	      *   t        dd      5 }t        j                  |d      5 }|j                  dd      5 }t	        j
                  |t	        j                  d             ddd       |j                  dd      5 }t	        j
                  |t	        j                  d             ddd       |j                  d	d      5 }|j                  d
       ddd       ddd       t	        j                  |      5 }t        |d         dk(  sJ t        |d         dk(  sJ t        |d         dk(  sJ |d	   d
k(  s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   xY w# 1 sw Y   xY w# 1 sw Y   BxY w# 1 sw Y   yxY w)z5Test loading non-.npy files and name mapping in .npz.numpy_test_npz_load_non_npy_.npzprefixsuffixwz	test1.npy
   Ntest2metadatas
   Name: Testtest1)
r   zipfileZipFileopenrP   r   aranger,   rQ   len)r'   tmpnpzout_files       r)   test_load_non_npyzTestSavezLoad.test_load_non_npy   sq   ;FK 	8sc* 2cXXk3/ 58GGHbiim45XXgs+ 5xGGHbiim45XXj#. 2(NN=122  83w<(B...3{+,2223w<(B...:-777	8	8 	85 55 52 22 28 8	8 	8s   F	E1*E"E1<*E&E1 E%E1F	7AE=<F	EE1E"E1%E.*E11E:	6F	=F	F		FzHangs on PyPyrw   zNeeds 64bit platformcrashes with low memoryc                    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     ri   numpy_test_big_arrays_r   r   rd   rd   )rP   emptyuint8r   r   rQ   rO   )r'   Lrd   r   npfiles        r)   test_big_arrayszTestSavezLoad.test_big_arrays   so    
 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`   rg   r8   rh         ?       @       @      @      @            @      (@)rP   rk   rl   complexr^   )r'   rd   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`   rg   r8   rh   r   r   r   r   )file_afile_br   r   r   )	rP   rk   rl   r   r   r   rL   rQ   r   r'   rd   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`   rg   r8   r   r   z(1, 2)matchr~   )	rP   rk   r   r   rL   rQ   r   raisesKeyError)r'   rd   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   )rP   rk   rl   r   r   r   rL   rQ   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   )r]   )r   rP   randomrandnr   OSErrorappend)
error_listr   r]   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?r8   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   r   rP   r   rL   r   closedrQ   )r'   r   fps      r)   test_not_closing_opened_fidz)TestSavezLoad.test_not_closing_opened_fid5  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        j                         5  t        j
                  dt               t        dd      D ]7  }	 t        j                  |      d    	 t        s$t        j                          9 	 d d d        d d d        y # t        $ r}d	| }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   ignorer`   i  r   z!Failed to load data from a file: )r   rP   r   r   r   simplefilterResourceWarningr   rQ   	Exceptionr   r   gccollect)r'   r   r   emsgs        r)   test_closing_fidzTestSavezLoad.test_closing_fidD  s     V$ 	)HHS}- ((* )%%h@q$ )A)V,
 #JJL))	) 	) % 2 A!E,S112 #JJL #) )	) 	)sX   ,C9*C-$B,=C-C-C9,	C
	5C	C
	
CC*	*C--C6	2C99D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   rP   r   rQ   zipr   rO   r   r   )r'   r   r   r   r   s        r)   test_closing_zipfile_after_loadz-TestSavezLoad.test_closing_zipfile_after_load_  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`   rg   r8   rh   r   r   )fname)	rP   rk   rl   r   r   rQ   reprformatrO   )r'   countexpected_reprrd   r   r   s         r)   test_repr_lists_keysz"TestSavezLoad.test_repr_lists_keysl  s     HHq!fq!f%u-V$ 	HHS'A3;'A7m222====GGI		 	 	s   A BBN)r1   r2   r3   r^   r   r   r   r   r   IS_64BITr   thread_unsafer   r   r   r   r   r   r   r   	slow_pypyr	  r  parametrizer  r5   r*   r)   r   r      s   18  [[8[[H-CD[[[[&?@ A  E 9
%	$ [[(=>) ?).' [[) )4 [[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ej                  j                  d
eeg      d        Zd Zd Zd Zd Zd Zd Zd Zej                  j                  deeg      d        Zej                  j9                  ej<                  dk(  d      ej                  j>                   e d      ej                  jC                  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`   rg   r8   rh   z%.18er>   r    
r~   r   r      1 2
   3 4
)
rP   rk   rl   r   savetxtrL   r   	readlinesr   rm   )r'   rd   r>   r   s       r)   rp   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 )Nru   r   r!  r   )s   1
s   2
s   3
s   4
)rP   rk   rm   r   r&  rL   r'  r   r'   rd   r   r/   s       r)   rv   zTestSaveTxt.test_1D  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`   rg   )r   r   
ValueErrorrP   r&  rk   r'   r   s     r)   
test_0D_3DzTestSaveTxt.test_0D_3D  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   ri   r   r!  r   r$  r%  rP   rk   r   r&  rL   r   r'  r'   rd   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   rh   r  r  ))foor   )barr   )bazr   ri   r4  r6  r   r!  r   s   1 3
s   4 6
r/  r0  s      r)   test_structured_paddedz"TestSaveTxt.test_structured_padded  s^    HHi+ 4
  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f4ri   r   r9  .npyr   )rP   r   r   r	   r   rQ   r   )r'   rd   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/  r0  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
rD  )r>   rE  c   )	rP   rk   r   r&  rL   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   ri   zTest header / footerz%1d)r>   headerr   # z	
1 2
3 4
)r>   footerz
1 2
3 4
# r#  z% )r>   rK  commentsz1 2
3 4
)r>   rM  rN  )	r   rP   rk   rm   r&  rL   r   readr   )r'   r   rd   test_header_footer
commentstrs        r)   rP  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*   filename_typec                     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   rP   rk   r&  loadtxtr   )r'   rR  rJ   rd   r   s        r)   test_file_roundtripzTestSaveTxt.test_file_roundtrip  sa    Z 	%4&&)*AJJ}T*A.

=./Aq!$		% 	% 	%s   AA//A8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 )Nrg   ri                 ?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)

rP   zeros
complex128pir  r   r&  rL   r'  r   r'   ncolsnrowsrd   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 )Nrg   ri   rW  z%.3er!  r   s0    (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
rX  r\  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.write9  s    DJJu-.r*   N)r1   r2   r3   r,   r5   r*   r)   CustomWriterrf  8  s    /r*   rl  r~   r   )listrP   rk   r&  rT  r   )r'   rl  r   rd   r   s        r)   test_custom_writerzTestSaveTxt.test_custom_writer6  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-8ri   test.csv%sr>   encoding)	r;   rP   rk   str_r   r&  rV   r=  r   )r'   utf8rd   tmpdirs       r)   test_unicodezTestSaveTxt.test_unicodeB  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)Nrp  rq  ri   r0   .gz.bz2.xz.lzmarr  rs  z	UTF-16-LErt  ru  rj   )r;   rP   rk   rv  HAS_BZ2r   HAS_LZMAri  r   r&  rV   r=  r   rT  r   )r'   rw  rd   suffixesrx  r   r   s          r)   test_unicode_roundtripz"TestSaveTxt.test_unicode_roundtripJ  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 Nrp  rq  ri   rs  rt  r   r#  )	r;   rP   rk   rv  r   r&  rL   r   rO  r'   rw  rd   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 r  )	r;   rP   rk   rv  r   r&  rL   r   rO  r  s       r)   test_unicode_stringstreamz%TestSaveTxt.test_unicode_stringstreamc  sb    !!'*HHdV277+J


1adVg6	q	QVVXtd{+r*   iotypec                    t        j                  dg      } |       }t        j                  ||d       |j                  d       |t        u rt        |j                         ddz         y t        |j                         ddz         y )Nr@  z%fr!  r   z%f
s   %f
)rP   rk   r&  rL   r   r   rO  )r'   r  rd   r(   s       r)   test_unicode_and_bytes_fmtz&TestSaveTxt.test_unicode_and_bytes_fmtk  se     HHbTNH


1aT"	q	X6B;/7R<0r*   rG   zfiles>4GB may not workrw   g   `A)
free_bytesr   c                 B   d }t        t              }t        d      }|j                  ||f      }|j	                          |j                          |j                  rt        d      |j                  dk(  rd}t        j                  |       |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   rh   ri   ztest.npz)	test_dataT)valuerP   asarrayr   r   randrandintrr   r   r   rV   r=  r   MemoryError)memoryerror_raisedr   r  rx  s       r)   check_large_zipz3TestSaveTxt.test_large_zip.<locals>.check_large_zip|  s    ',$ JJ16v(@,- )+		(*		(9(9"c(BA)G (@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pr  s         r)   test_large_zipzTestSaveTxt.test_large_zipw  s    
	" #6]
 &!KK6H5JKK			##LMM::WCLLzzQr*   N)#r1   r2   r3   rp   rv   r-  r1  r7  r>  rF  rI  rP  r   r   r  r	   strrU  ra  rc  rn  ry  r  r  r  r   r   r  r   rM   rN   r   r    r  r  r5   r*   r)   r  r  |  s   : >I
::(:<4 UD [[_tSk:% ;%$BLD"
!))"<, [[X'':;	1 <	1 [[/8PQ[[$[[&?@! A %  R!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  rg   r8   r#  z
0 1 23 4 5r   wtz	UTF-32-LE)moderu  ru  rt)rP   r   reshaper   r,   loadfuncr   )r'   fopenr  wantedlinesepsepr   r   rJ   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)r{  )r  gzipr   r'   s    r)   test_compressed_gzipz LoadTxtBase.test_compressed_gzip  s    dii2r*   z	Needs bz2rw   c                 D    | j                  t        j                  d       y )N)r|  )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)r}  r~  )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@  rA  )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   öüörq  r   r  r  )	r;   r   r   r,   r  r  rP   rv  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  rj   ru  )r  r   rP   rv  r   rk   r;   rj  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d i      }t	        j                  dj                  d      g      }t        ||       y )Nrp  r   r:   c                 $    | j                  d      S )Nrq  r;   r   s    r)   <lambda>z4LoadTxtBase.test_converters_decode.<locals>.<lambda>  s    188G3D r*   )rj   ru  
convertersrq  )	r"   r,   rL   r  rP   rv  rk   r;   r   r'   r   r   rd   s       r)   test_converters_decodez"LoadTxtBase.test_converters_decode  sm    H		q	MM!277W&')D%E  GHHk((1231a r*   c                 b   dj                  d      }t               5 }t        |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)	Nrp  rq  r  r  r   c                     | dz   S )Nr   r5   r  s    r)   r  z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>  s
    q3w r*   rj   r  ru  r   )	r;   r   r   r,   r  rP   rv  rk   r   )r'   rw  r=  r   r   rd   s         r)   test_converters_nodecodez$LoadTxtBase.test_converters_nodecode  s    !!'*Z 	%4dD73 qd"''*+->)?'.  0A $*&Aq!$	% 	% 	% 	%s"   B%BAB%B"	B%%B.N)r1   r2   r3   r  r  r   r   r   r  r  r  r  r  r  r  r  r  r5   r*   r)   r  r    sz    4 3 [[GK83 93 [[H\:; ;;0,H
!
%r*   r  c            
       f   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d0d3 fd4g d5fd4g d6fd4d7 fg      d8        Z9y9):TestLoadTxtc                 D    t         j                  | _        dt         _        y Nr`   )r   _loadtxt_chunksize
orig_chunkr  s    r)   setup_methodzTestLoadTxt.setup_method  s    %88)*&r*   c                 .    | j                   t        _        y r$   )r  r   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   ri   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,   rL   rP   rT  int32rk   r   )r'   r   r   rd   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   ri   r`   rg   r8   rh   )	r"   r,   rL   rP   rT  rm   rk   r   rl   r  s       r)   rp   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   ri   ru   1,2,3,4
rD  rj   rE  r"   r,   rL   rP   rT  rm   rk   r   r  s       r)   rv   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   rD  r8   c                      t        | xs d      S Nrm   r(   s    r)   r  z*TestLoadTxt.test_missing.<locals>.<lambda>%      AJ r*   rj   rE  r  r`   rg   r8   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   rD  r8   c                      t        | xs d      S r  r  r  s    r)   r  z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>.  r  r*   r`   r8   rj   rE  r  usecolsrg   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   rD  #rj   rE  rN  r`   rg   r8   r  r  r  s       r)   test_comments_unicodez!TestLoadTxt.test_comments_unicode3  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   rD     #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   rD  )r  @z//r  r   r3  r  r  s       r)   test_comments_multiplez"TestLoadTxt.test_comments_multipleE  sW    H	AB	q	JJqs 02HHi+S11a r*   )r  r8      zPyPy bug in error formattingrw   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   rD  z/*r  r  z*/ comment
1,2,3,5
)
r"   r,   rL   rP   rT  rm   rk   r   r   r+  r  s       r)   test_comments_multi_charsz%TestLoadTxt.test_comments_multi_charsN  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   rD  r`   )rj   rE  skiprowsr  r  r  r  s       r)   test_skiprowszTestLoadTxt.test_skiprows`  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                   t         j                  ||       t+        t,        dt/        |      j0                   t         j                  |d|dg       y )Nr`   rg   r8   rh   r   r`   rj   r  r   r8   rh   r  r~   c                       e Zd Zd Zy)*TestLoadTxt.test_usecols.<locals>.CrazyIntc                      yr  r5   r  s    r)   	__index__z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__  s    r*   N)r1   r2   r3   r-  r5   r*   r)   CrazyIntr+    s    r*   r.  z<JOE 70.1 25.3
                BOB 60.5 27.9
                stidtempS4f8r   rg   r  rj      JOE   BOBL9@fffff;@      ?z^usecols must be.*r  )rP   rk   rl   r   r&  rL   rT  r   rm   int8int16r  int64r   uint16uint32uint64r"   rm  r  r   r   	TypeErrortyper1   )r'   rd   r   r   int_typeto_readr.  	crazy_intr   r  dtypesr]   	bogus_idxs                r)   test_usecolszTestLoadTxt.test_usecolsq  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		 i!9!9 :;JJ9	 	 i!9!9 :;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            rD  )r  rE  l            zQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r   z1,1
zi,2ir   )rj   r  rE  )r   r   OverflowErrorrP   rT  r+  rA  r  s    r)   test_bad_usecolszTestLoadTxt.test_bad_usecols  s    ]]=) 	@JJw3?	@]]J67 	@JJw3?	@ ]]934 	L JJysK	L 	L	@ 	@	@ 	@	L 	L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(   rD  r  r`   )rg   rB  rh   )r        @)
r"   r,   rL   rP   rj   rm   rl   rT  rk   r   r'   r   r   r   rd   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rJ   r1  r   r   blockr  ri   aaaar@         @r   r3  r"   rP   rj   rl   rm   rT  rk   r   rQ  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 12rU  r   r   rV  )rg   rg   r8   ri   rW  r@  rX  r   r3  )r  r  r  )r         rY  rQ  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str2ri   )r  rP   bytes_rk   rT  r   )r'   r   r   rd   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   ri   )r   warnsr   r"   rP   rT  r   rb   r=  r   rj   )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 rk  r  r  s    r)   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>  rm  r*   !   B   )r"   r.   rL   rP   rT  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`   ;rE  rj   r    rg        ri   )rm   rr   rP   rT  r"   rk   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   ri   )r"   r,   rL   rP   rT  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    r  r   ri   )r"   r,   rL   rP   rT  r=  r   r  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 ]I  }|j                  d       t        j                  ||t
        j                  d      }t        |||        K y )	Nir   r  r#  r   r7   r  )err_msg)rP   logspaceastypefloat32hstackrl   r   maphexr"   r,   rL   rT  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	"**% 	4BFF1I**JCcbT3		4r*   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+  rP   rT  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_exception4  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`   r  r   ri   )r   r"   r,   rL   rP   rT  r   r  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rg   rg   ri   rW  z%.16er!  r   s   e+00-s   e00+-)rP   rY  rZ  r[  r  r   r&  rL   rO  replacer   r,   rT  r   r   )r'   rd   r_  r`  r   txttxt_badr  s           r)   test_complex_misformattedz%TestLoadTxt.test_complex_misformattedH  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)Nr   z
1 213 42r`   ro  r8   rp  )r   r   r,   rP   rT  r   )r'   rJ   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   r9  comment)<i4r  <f4|S8r  	r  )s   start s     r*   r  )r"   r,   rL   rP   rT  rk   r   rQ  s        r)   test_empty_field_after_tabz&TestLoadTxt.test_empty_field_after_tabc  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rd   r   r   )|S1r  r  r  Trj   unpackr  r  r     M   Fro  #         R@      M@)r"   rP   rT  r   rj   r  r   rk   r'   r  r   rd   r   r   s         r)   test_unpack_structuredz"TestLoadTxt.test_unpack_structuredm  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   r8   ndminr9  rD  r`   )rj   rE  r  r   r3  z0,1,2rg   r  )r8   z0
1
2)r8   r`   re  r   r   r`   rf  )r"   r,   rL   r   r+  rP   rT  rm   rk   r   r   rb   r   rg  r   )r'   r   r   rd   r  r  r   s          r)   test_ndmin_keywordzTestLoadTxt.test_ndmin_keywordx  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Nr   r   )r   r   s    r)   r  z0TestLoadTxt.test_generator_source.<locals>.count  s"     2Y Qhs   r   )rP   rT  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,   rL   r   r+  rP   rT  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   )rd   S10r   rD  )rE  rj   rN  )r"   r,   rL   rP   rj   rm   rT  )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
rq  r  r0   r   r   r  S)s   5,6,7,Õscarscars   15,2,3,hellos   20,2,3,Õscarri   )r;   r  
splitlinesr   r   r,   rP   rT  rv  r   rk   )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   rD  r`   rj   rE  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   rD  r`   rj   rE  r$  r  r  comment
1,2,3,5
4,5,7,8
2,1,4,5rg   rh   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   rD  rg   r  r  r  r  rg   r`   rh   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HH\3'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   rD  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,2r0   3,4c                      t        d      S )Nzignored
1,2

3,4r   r5   r*   r)   r  zTestLoadTxt.<lambda>  s    !67 r*   r   )z-1,0
r  r#  r  )z-1,0r  r0   r  c                      t        d      S )Nz-1,0
1,2

3,4r  r5   r*   r)   r  zTestLoadTxt.<lambda>  s    !34 r*   c           
      l   t        |      r |       }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=r8   r   rD  )rj   r$  rE  r  r  r   r`   rg   rh   error)callabler   rg  r   rP   rT  rm   r   r9   r   rL   r   r   r  r   )r'   r  r   r  s       r)   test_max_rows_empty_linesz%TestLoadTxt.test_max_rows_empty_lines  s    D>6D\\+3AH:>@ 	F**Tts&'$h0Csb!Wq!fq!f$=de$DE		F dH%IIaL$$& 	.!!';7{+ .

4sTS$%H..	. 	.	F 	F. .	. 	.s/   :D+4D*"DD*DD'	#D**D3N):r1   r2   r3   staticmethodrP   rT  r  r  r  r   rp   rv   r	  r  r  r  r  r   r   r   r   rM   implementationversionr!  r%  rH  rK  rR  rZ  r^  rc  rh  rt  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  localegetpreferredencodingr  r  r  r  r  r  r  r5   r*   r)   r  r    s5   BJJ'H+
9!$!!!!!!! [[KC$6$6$>$>)$K=  ?%?% !"CJ	L!!!%)+$4 [[KC$6$6$>$>)$K=  ?? [[KC$6$6$>$>)$K=  ??(5,	5(:T/<> [[33359II9  ;:;: !!"!! [[ff-56-.7823*+4507 8.8.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?r4  g%C?r5  g-@quxri   r"   r,   rL   rP   float64	fromregexrk   r   rQ  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+(...)))   r4  )  r5  )\  r  ri   )r"   r,   rL   rP   r  r  rk   r   rQ  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
  ri   r  rQ  s        r)   test_record_3zTestfromregex.test_record_31  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)Nrp  r   s	   1.312 foos    
1.534 bar
4.444 quxr  )r  U4z(?u)([0-9.]+)\s+(\w+)rq  r  r  r4  r   r  ri   z([0-9.]+)\s+(\w+))r   r   r,   rP   r  r  rk   r;   r   r_  compileUNICODE)
r'   r  rw  str_pathr=  r   r   r   rd   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   ri   )r_  r  r   rP   r  rk   r  r   )r'   r  r   r   rd   r   s         r)   test_compiled_bytesz!Testfromregex.test_compiled_bytesM  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   ri   )	r_  r  r   r   r   rA  rP   r  r  )r'   r  r   s      r)   test_bad_dtype_not_structuredz+Testfromregex.test_bad_dtype_not_structuredU  sQ    H%FO]]9,AB 	6LLF"**5	6 	6 	6s   'A,,A5N)r1   r2   r3   r   r  r  r   r   r  r  r	   r  r  r  r5   r*   r)   r  r    sD    	!	!! [[[3+6% 7%"!6r*   r  c                      e Zd Z eej
                        Zd Zd Zd Z	d Z
d Zd Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Ze jB                  jE                  d      d        Z#d Z$d Z%d Z&d Z'd  Z(d! Z)d" Z*d# Z+d$ Z,d% Z-d& Z.d' Z/d( Z0d) Z1d* Z2d+ Z3d, Z4d- Z5d. Z6d/ Z7d0 Z8d1 Z9d2 Z:d3 Z;d4 Z<d5 Z=d6 Z>d7 Z?d8 Z@d9 ZAd: ZBd; ZCd< ZDd= ZEd> ZFd? ZGd@ ZHdA ZIdB ZJdC ZKdD ZLdE ZMdF ZNdG ZOe jB                  jE                  dH      dI        ZPe jB                  jE                  d      dJ        ZQdK ZRdL ZSdM ZTdN ZUdO ZVdP ZWdQ ZXdR ZYdS ZZdT Z[e jB                  j                  dUg dV      dUe]fdW       Z^yX)Y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   ri   r~   r   r   r   zM 64.0 75.0
F 25.0 60.0r  r  r  r  r  )r"   rP   
genfromtxtr  rk   r   )r'   r   r  r  
descriptors        r)   r   zTestFromTxt.test_recordb  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`   rg   r8   rh   ri   r   )	r"   rP   rk   rm   r  r   rL   rl   rT  )r'   r   r  r  s       r)   rp   zTestFromTxt.test_arrayq  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 )Nru   r  ri   r  rD  r  )rP   rk   rm   r"   r  r   r'   r  r   r  s       r)   rv   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  rD  r  r  z1,2,3,5# comment
)rP   rk   rm   r"   r  r   r#  s       r)   test_commentszTestFromTxt.test_comments  sd    ((<-,-}}TcJT7#*+}}TcJT7#r*   c                 
   t        j                  g dt              }t        dd}t        d      }t        j                  |fddi|}t        ||       t        d      }t        j                  |fddi|}t        ||       y )	Nr  rD  r  r#  skip_headerr`   r  r$  )rP   rk   rm   r"   r  r   rT  )r'   r  rZ   r   r  s        r)   r%  zTestFromTxt.test_skiprows  sv    ((<-S1*+}}T;q;F;T7#,-zz$55f5T7#r*   c                    t        dd      D cg c]  }d| 	 }}|j                  d       |j                  t        d      D cg c]  }| d|dd|d c}       d	|d
<   ddddd}t        j                  t        dj                  |            fi |}t        j                  t        d      D cg c]  }|d|d|d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  rL  zA, B, C3   rD  z3.1f03dz99,99r  Tr  r   )rE  r  r'  skip_footerr#  )   r   ABCri   )
r   r   ri  rP   r  r"   r   rk   rl   r   )r'   r   r   rZ   r  _ctrls          r)   test_skip_footerzTestFromTxt.test_skip_footer  s    "'1+.Q"QC..IeBi@s!Ad81QsG,@AR"T!TVW}}VDIIdO4??xxrKAQqEqe17K389a5z9;T4  /@ L9s   C2C76C<D
c                 >   t        j                         5  t        j                  d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)Nr  z1 1
2 2
3 3
4 4
5  
6  
7  
r`   )r+  F)r+  invalid_raiser@  rA  rB  rC  r8   z1 1
2  
3 3
4 4
5  
6 6
7 7
rP  )r   r   r  r   r   r+  rP   r  r"   r   rk   )r'   basestrrd   s      r)   test_skip_footer_with_invalidz)TestFromTxt.test_skip_footer_with_invalid  si   $$& 	F!!(,=>;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   E5FFc                 
   t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |d dd      }t        |d   j                  t        u        d d d        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   r0   r:   )rj   r  ru  r   r  r  r  r  r  r  r  r  r  r  )r"   r   r   r   r   rP   r  r   categoryrk   r   r'   r   r   r  r  s        r)   test_headerzTestFromTxt.test_header  s    CD$$D1 	@Q##Hb2KL==T*13DAaDMM%>>?		@
  XXtTl3((D$<0XXtTl35 	T(^WX%67T%['%.1T(^WX%67	@ 	@s   AC99Dc                    t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |d d      }t        |d   j                  t        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|    |        y # 1 sw Y   xY w)Nz*A 64 75.0 3+4j True
BCD 25 60.0 5+6j FalseTr   r   r0   r:   r  r      As   BCD@      r  r  y      @      @y      @      @F)f0f1f2f3r:  r   )r"   r   r   r   r   rP   r  r   r6  rk   r   rj   r  r   )r'   r   r   r  r  r   r/  s          r)   test_auto_dtypezTestFromTxt.test_auto_dtype  s   CD$$D1 	@Q##Hb2KL==TGDDAaDMM%>>?	@ 88T6N+88RH%88T4L)88VV,-88T5M*	.
 	TZZ%%'EF"7+ 	.IQ!g-	.	@ 	@s   AD44D=c                     t        d      }t        j                  |d       }t        j                  g dg dg      }t	        ||       y )Nz1 2 3 4
5 6 7 8
ri   ru   )r  r  r  r  r"   rP   r  rk   r   r'   r   r  r  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 )NrM  r   r   r   r(   rD  r  rN  rO  ri   )r"   rP   rj   rm   rl   r  rk   r   r'   r   
fancydtyper  r  s        r)   rR  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)grd   r   r  r  s   M 64.0 75.0
F 25.0 60.0r  rj   r  r  r  r  ri   rC  )r'   r   r   r  r  r  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   rA  rP   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               t        j                  |dd d      }t        |d   j                  t        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               t        j                  |dd d      }t        |d   j                  t        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   r0   r:   )r  rj   ru  r   ))r  ro  gfffffR@)r  r  g
ףp=*M@)r  rr  g=
ףp5@)r  r  r  r  ri   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        r"   r   r   r   r   rP   r  r   r6  rk   rm   rl   r   )r'   r   r   r  r/  s        r)   test_commented_headerz!TestFromTxt.test_commented_header  s3      $$D1 	@Q##Hb2KL==T*13DAaDMM%>>?		@
 xxM05#,5@QRTT4    $$D1 	@Q##Hb2KL==T*13DAaDMM%>>?		@
 	T4 )	@ 	@	@ 	@s   AD:AE:EEc                     t        d      }t        j                  |t        t        fd d      }t        j                  ddgdt        fdt        fg      }t        ||       y )	Nzcol1 col2
 1 2
 3 4T)rj   rN  r  r~   r   col1col2ri   r"   rP   r  rm   rk   r   rD  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)Nrr  r      ϖasciir  )r   rV   r=  r   r   r,   r  r   r   r   UnicodeDecodeErrorrP   r  )r'   rx  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                 z   t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |ddd d      }t        |d	   j                  t        u        d d d        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   r0   ACDr:   )r  r  rj   ru  r   )rW  -   333333"@ra  |S4rb  rc  ri   rQ  r7  s        r)   test_autonames_and_usecolsz&TestFromTxt.test_autonames_and_usecols6  s    12$$D1 	@Q##Hb2KL==&*$JDAaDMM%>>?		@
 ((,".c
S%L!IKT7#	@ 	@s   AB11B:c                     t        d      }t        j                  |t        ddd id      }t        j                  ddgd	d
ggt              }t        ||       y )Nr  rD  r8   c                      t        | xs d      S r  r  r  s    r)   r  z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>F      Se_ r*   r  r  rg   r  r  r  rV  rD  s       r)   r  z(TestFromTxt.test_converters_with_usecolsB  sV    ./}}T()+D'E$+- ((QI1v.4T7#r*   c           
         t        d      }t        j                  d      5 }t        j                  ddt               t        j                  |ddd ddd	 i
      }t        |d   j                  t        u        d d d        t        j                  dddt        fdt        fg      }t        |       y # 1 sw Y   <xY w)Nr_  Tr   r   r0   r`  r:   rb  c                     dt        |       z  S )Nrg   r  r  s    r)   r  zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>R  s    1s1v: r*   )r  r  rj   ru  r  r   )rW  Z   re  rf  rc  ri   rQ  r7  s        r)   &test_converters_with_usecols_and_namesz2TestFromTxt.test_converters_with_usecols_and_namesK  s    12$$D1 	@Q##Hb2KL==d&*W,/1E+FHD AaDMM%>>?	@ ((,".c
S%L!IKT7#	@ 	@s   AB55B>c                     dd i}t        d      }t        j                  |dd ddg|      }t        j                  t	        ddd	      d
fdt        j
                  fdt        fg      }t        ||       y )Ndatec                     t        | d      S Nz%Y-%m-%d %H:%M:%SZ)r=   r  s    r)   r  z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>[  s    hq*>? r*   2009-02-03 12:00:00Z, 72214.0rD  r/  rE  rj   r  r    rg   r8       `@ri   )r"   rP   r  rk   r   object_rl   r   r'   	converterr   r  r  s        r)   test_converters_cornercasesz'TestFromTxt.test_converters_cornercasesX  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 )Nrq  c                 @    t        j                  t        | d            S rs  )rP   
datetime64r=   r  s    r)   r  z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>f  s    bmmHQ8L,MN r*   rt  rD  r/  ru  rv  rg   r8   rw  )rq  zdatetime64[us]ri   )r"   rP   r  rk   r   rl   r   ry  s        r)   test_converters_cornercases2z(TestFromTxt.test_converters_cornercases2c  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 rk  r  r  s    r)   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>r      SBZ r*   rn  ro  rp  r`   c                     t        | d      S rk  r  r  s    r)   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>w  r  r*   rr  rs  )r"   rP   r  r   rL   r'   r   r  s      r)   rt  z!TestFromTxt.test_unused_convertern  sl    &'}}T4()+?'@BTB8$		!}}T4()+?'@BTB8$r*   c                 z    d }d }t        d      }||dd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  rl   lowerrj  r|  r  s    r)   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>{  sL    udaggi&7&IAGGIbM &T'+1779'<'J&Rs U 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  r  r  s    r)   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>}  sL    eTQWWY%6%G1779Q< %S&*!'')&;&I	%QcT 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  rD  r:   )r  rE  rj   ru  )r"   r   r   rP   r  )r'   
strip_rand	strip_perr(   rZ   s        r)   test_invalid_converterz"TestFromTxt.test_invalid_converterz  sP    U
T	 5 6 (J7cw0 	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  )rl   r  s    r)   r  z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>  s    ae r*   rD  r   )rE  r  r@  rA  rB  rC  rC  )r'   r(   cnvr  r  s        r)   test_tricky_converter_bug1666z)TestFromTxt.test_tricky_converter_bug1666  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; 46r~  r   r  )2009      7@.   )r=  rg  r>  r?  ri   )g     d@r  r  )rP   r  r"   rl   r:   rk   r   )r'   dstrr  r  s       r)   test_dtype_with_convertersz&TestFromTxt.test_dtype_with_converters  s    }}VD]&)Au:O((-."/$u!NPT7#}}VD]&)Au:O((+-T7#r*   (ignore:.*recfromcsv.*:DeprecationWarningc           	      z   d}dddddg d}t         t         t         fdd	}t        t        |      |d
d |d      }t        j                  j                  g d|      }t        ||       g d}t        t        |      |d
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`   rg   r8   )z1:1z1:nzm:1zm:n)e1r   e2r   )e3i2r   i1c                 *    | j                            S r$   r  )r{   dmaps    r)   r  zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>  s    T!((*5E r*   )r   r`   rg   r8   rD  r:   )rj   rE  r  r  ru  ))r`   r  r  r   )rg   r  r  r`   )r8   r8   r8   ri   )r  r  r  )r   r`   r8   )rj   rE  r  r  r  ru  ))r`   r  r   )rg   r  r`   )r8   r8   r8   )rm   r   r"   rP   recrk   r   )r'   r  dtypconvr  r  r  s         @r)   &test_dtype_with_converters_and_usecolsz2TestFromTxt.test_dtype_with_converters_and_usecols  s    51Q7F33+EF&-ts $I&&,,L%)  +T7#8&-ts"+4D#*, &&,,@,M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)Nrv  rw  rx  c                 6    t        | j                         d      S rz  r{  r  s    r)   r  z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>  r}  r*   r`   r~  r  r  rg   r  r  ri   nestzNested fields.* not supported.*)
rm   rr   rP   r  r"   rk   r   r   r   NotImplementedErrorr  s          r)   r  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1ri   r5      1strings   string)rP   r  r"   rr   )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,skiprD  r  rg   )rE  r  rj   r  r  )
2001-01-01r@  )r0   |S10r0   ri   )r"   rP   r  rl   r:   rk   r   rD  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        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   xxY w# 1 sw Y   VxY w)Nrp  r   s   skip,skip,2001-01-01s	   ,1.0,skiprD  r  rg   rq  )rE  r  rj   r  r  ru  r  r@  )r0   z|U11r0   ri   )
r   r   r,   rP   r  rl   r  rk   r;   r   )r'   rw  r=  r   r  r  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H*13D	3 ((\DKK,@@"EF".U!<>T7#G G	3 	3s!   B5B).B5)B2	.B55B>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@  rA  rB  rC        @)rP        @rX        "@g      $@rC  rD  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  4r8   )rE  r   )rh   r  C   )iz  rN  rh   )rP   r  r"   rk   r   rD  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   rD  r8   c                      t        | xs d      S r  r  r  s    r)   r  z*TestFromTxt.test_missing.<locals>.<lambda>  rk  r*   r  r  rV  rD  s       r)   r	  zTestFromTxt.test_missing  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)rE  usemaskr   rg   r`   r8   )r   r   r   r`   r   r`   r   r`   r   ri   )	rP   r  r"   rk   nanboolr   r   mask)r'   r  r  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`   rg   r8   rh   r   r'  r(  r   r)  r~   )rP   rk   rl   r"   r&  rL   r  r   r#  s       r)   rH  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  rh   r  acri   )rP   r  r"   rk   rl   r   )r'   r   r  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/  r0  r1  r2  r3  r4  r5  r6  r7  r8  )r"   rP   r  rm  r  r   )r'   r   r  rF  r  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@  rC  )rP   r  r"   r   rk   )r'   r  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}ddi}t        j                  t	        |      fd	d
i|}t        ||       t        j                  t	        |      fd	di|}t        ||       y )Nr  r  rd   r   ri   r  r  r  r  r   r  )rd   r   )rP   rk   rl   r  r"   r   )r'   r/  r   rZ   r  s        r)   test_usecols_with_named_columnsz+TestFromTxt.test_usecols_with_named_columns0  s    xx(#uU|0LM9%}}VD\E7EfET4 }}VD\ ;%/;39;T4 r*   c                 l   t        j                         5  t        j                  d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)Nr  zgenfromtxt: Empty input file:)messager`   )r'  )r   r   r   r"   rP   r  r   rk   r  s      r)   rh  zTestFromTxt.test_empty_file;  s    $$& 	-##H6UV8D==&Drxx|, ==15Drxx|,	- 	- 	-s   BB**B3c                     t        d      }t        j                  dt        fddt        fdt        fgfg      }t        j
                  ||dd      }t        j                  d	d
g|      }t        ||       y )NrM  r   r   r   r(   rD  T)rj   rE  r  rN  rO  ri   )	r"   rP   rj   rm   rl   r  mark   r   rG  s        r)   test_fancy_dtype_altz TestFromTxt.test_fancy_dtype_altG  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 rT  )r"   rP   rj   rl   rm   r  rk   r   rQ  s        r)   rZ  zTestFromTxt.test_shaped_dtypeO  sv    01XX~U|c5\f-/ 0MM!2&HHvsC)Y)?@A1a r*   c                    t        d      }d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/ArD  N/ATrE  missing_valuesr  rj   r  r  rg   r  FFFTra  Br  rj   r   r  )
r"   rP   r  r  rk   rm   r   r  rL   rl   r'   r   rZ   r  r  s        r)   test_withmissingzTestFromTxt.test_withmissingX  s    '("edK}}TFtFvF((FG,!/ ?#&*sCj!9; 	T7#TYY-		!}}T:4:6:((FG,!/ ?#&,e!=? 	T7#TYY-r*   c                    d}d 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, 3jrD  T)rj   rE  r  ra  r  rb  r  r  ))r   r  y                )r`   r  rW  )r  g@            8)r8   y              @)r  r  )r   r   r`   r  r  rj   r  r  r  r   r`   rg   )r  r  )r  r  r  r  )r   r  rb  )	rm   rl   r   rP   r  r"   r  rk   r   )r'   r   
basekwargsmdtyper  r  s         r)   test_user_missing_valuesz$TestFromTxt.test_user_missing_valuesj  s)   I##E
*sElS'N;}}VD\ *% *(*(( < L!') 	T7#$
7}}VD\ 902su,E%)9-79 (( < L!') 	T7#}}VD\ */1%+H$(* )* (( < L!') 	T7#r*   c                 2   t        j                  ddgdt        fdt        fg      }d}dt        d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   r8   )rh   r  rd   r   ri   zN/A, 2, 3
4, ,???rD  za,b,cr  r"  z???)r   r   rg   r   r  )rE  rj   r  r  filling_values)r   rg   r8   )rh   r   r  abcr  r  r  z1,2,*,4
5,*,7,8
*)rE  rj   r  r  )r`   rg   r   rh   )r  r   r  r  r  )r`   rg   r  rh   )r  r  r  r  rP   rk   rm   r  r"   r   )r'   r/  r   rZ   r  r.  data2s          r)   test_user_filling_valuesz$TestFromTxt.test_user_filling_values  sh   xx+S#Jc
3KL#""&,1(F,-A$(?	A
 }}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   3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.00rD  z-999.0T)rj   rE  r  r  r  )r   r9  )rg   g      r  r  ra  r  r  )	r"   rP   r  r  rk   rm   rl   r   r  rD  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rj   r  r  r   r3  r  )r  )r"   rP   r  r  rk   r   rD  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"   rP   r  r  rk   r  rm   r   rD  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                  |            d	d d
dfd}t	        j
                  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 2r   r   a, b, c, d, er#  rD  TrE  rj   r  c                  4    t        j                  fddi S )Nr2  FrP   r  rZ   mdatas   r)   r   z)TestFromTxt.test_invalid_raise.<locals>.f  s    ==FeFvFFr*   rd  abcderi   rE  r  )r   insertr"   r   r   rg  r   r   r   rP   r   rm   rL   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'"TDA	G.2SZ$UBGGB.IA3x.IJK

1j"-- #4	1 /Js   "C1c                    dgdz  }t        d      D ]
  }d|d|z  <    |j                  dd       t        dj                  |            d	d d
ddfd}t	        j
                  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  r   r   r	  r#  rD  TF)rE  rj   r  r2  c                  4    t        j                  fddi S )Nr  )r   rh   r  r  s   r)   r   z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.f  s    ==AA&AAr*   rd  aeri   r  r  abr  )r   r  r"   r   r   rg  r   r   r   rP   r   rm   rL   r  )	r'   r   r   r   r  r.  r  rZ   r  s	          @@r)   test_invalid_raise_with_usecolsz+TestFromTxt.test_invalid_raise_with_usecols  s/    2%q 	*A)DaL	*A'tyy'"TD',.	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
6Ec                     dgdz  }t        dj                  |            }dd i}d|dD cg c]
  }|t        f c}dd	}t        t        t
        j                  |fi | y c c}w )
Nz1, 1, 1, 1, -1.1r  r#  rh   c                 *    d| j                          dS )N()r  r  s    r)   r  z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>  s    Qqxxzl!#4 r*   rD  r  r:   )rE  r  rj   ru  )r"   r   rm   r   r+  rP   r  )r'   r   r  r  r.  rZ   s         r)   test_inconsistent_dtypez#TestFromTxt.test_inconsistent_dtype  sg    "#b(tyy'45
"*29:QC:Qj"--A&A  ;s   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.7rD  f%02irE  rj   
defaultfmtr   r`   ffffff@)rh   r  @f00f01f02ri   )rP   r  r"   rk   rm   rl   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  rD  r   r!  r  r@  r$  rC  r  r%  ri   rP   r  r"   rl   rk   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  rD  r  r
  r,  r-  r  ri   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.7rD  Tr
  r,  r-  r  ri   r.  r1  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! :r3  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  rD  zf_%02ir!  )r   r@  r$  )rh   r  r%  f_00f_01f_02ri   rP   r  r"   rm   rl   rk   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                    d}dd dd}t        j                  d      5 }t        j                  ddt               t	        j
                  t        |      fi |}t        |d	   j                  t        u        d d d        t	        j                  d
gddt        fdg      }t        |       t        j                  d      5 }t        j                  ddt               t	        j
                  t        |      fddi|}t        |d	   j                  t        u        d d d        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,   abcderD  r:   )rE  rj   ru  Tr   r   r0   r   )z01/01/2003  ?z   abcde)r=  z|S12r>  )r?  r  ri   	autostrip)z
01/01/2003r=  r  )r=  r  )r?  z|S5)r   r   r   r   rP   r  r"   r   r6  rk   rl   r   )r'   r   rZ   r   r  r/  s         r)   test_autostripzTestFromTxt.test_autostrip%  sH   +"TwG$$D1 	@Q##Hb2KLMM&,9&9EAaDMM%>>?	@ xx:;-e}mLNUD!$$D1 	@Q##Hb2KLMM&,I$I&IEAaDMM%>>?	@ xx56-e}mLNUD!	@ 	@	@ 	@s   AEAE E E)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.14rD  TrE  r  rj   AAB_BCC)r`   rg   gQ	@ri   r0   rE  r  rj   replace_spacedeletecharsA.AB (B)C:CrE  r  rj   rG  B_(B)r:  r'   r  r  
ctrl_dtyper/  s        r)   test_replace_spacezTestFromTxt.test_replace_space8  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, 3rD  TrA  rB  rC  rD  r   ri   r0   rE  rH  rI  rJ  rK  rL  )rP   r  r"   rm   rk   r   rM  s        r)   test_replace_space_known_dtypez*TestFromTxt.test_replace_space_known_dtypeP  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                 r   d}d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,5rD  Tr  r  r)  )ra  r=  rb  ri   rj   )rP   rk   rm   r  r"   r   rl   )r'   r   rZ   r.  r/  r  s         r)   test_incomplete_namesz!TestFromTxt.test_incomplete_namesh  s    #"T2xxI.1ABA3xBD}}VD\@@@T4 xxI.3CDa5zDF}}VD\4V4 C
 Es   B/
8B4
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 6rd   rK  r   r3  r=  r>  ri   r:  )r'   r   r  r/  s       r)   test_names_auto_completionz&TestFromTxt.test_names_auto_completionv  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)ra  rb  ErD  )r   rg   rh   T)rj   rE  r  r  )rP   r  r"   rm   r   rj   r  )r'   r   
ctrl_namesr  s       r)   test_names_with_usecols_bug1636z+TestFromTxt.test_names_with_usecols_bug1636  s    ;$
}}VD\$'c?c%.d< 	TZZ%%z2}}VD\$'c?c%4DB 	TZZ%%z2}}VD\#&#%4DB 	TZZ%%z2r*   c                    d}ddd d}t        j                  ddgdt        fdt        fd	t        fg
      }t        j                  t        |      fi |}t        ||       d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  rh   TrA  r#  )rd  r  r  ra  r  rb  ri   r  )rP   rk   rm   rl   r  r"   r   r'   r   rZ   r/  r  s        r)   test_fixed_width_namesz"TestFromTxt.test_fixed_width_names  s    @(4$Gxxl3 #SzC:U|DF}}VD\4V4T4  4$?xxl3 #SzC:U|DF}}VD\4V4T4 r*   c                     d}d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, 
rD  r  )rE  rj   r  r   )r`   r  r  )r   r  r  ri   r  r[  s        r)   test_filling_valueszTestFromTxt.test_filling_values  sK    +"TTJxxL,?sK}}VD\4V4T4 r*   c                 \   t        j                  d      5 }t        j                  ddt               t	        j
                  t        d      d d dd      }t        |d	   j                  t        u        d d d        t        d
   d       t        j                  d      5 }t        j                  ddt               t	        j
                  t        d      d d dd      }t        |d	   j                  t        u        d d d        t        |d
   d       y # 1 sw Y   xY w# 1 sw Y   %xY w)NTr   r   r0   ztest1,testNonetherestofthedatarD  r:   rj   rN  rE  ru  r   r`   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r   r   r   r   rP   r  r"   r   r6  r   )r'   r   r  s      r)   test_comments_is_nonez!TestFromTxt.test_comments_is_none  s   $$D1 	@Q##Hb2KL==(H!I'+dc*13D AaDMM%>>?	@ 	T!W9:$$D1 	@Q##Hb2KL==(I!J'+dc*13D AaDMM%>>?	@ 	T!W:;	@ 	@	@ 	@s   AD!AD"D"D+c                    d}d}d|z   dz   }||z   |z   }t        j                  d      5 }t        j                  ddt               t	        j
                  t        |      d d d	d
      }t        |d   j                  t        u        d d d        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               t	        j
                  t        d|z         d d d	d
      }t        |d   j                  t        u        d d d        t        |d   d       t        |d   d|z          y # 1 sw Y   <xY w# 1 sw Y   8xY w)Ns      norm1,norm2,norm3
   test1,testNonethe   ,test3
Tr   r   r0   rD  r:   r`  r   )r`   r      test1)r`   r`      testNonether~      test3r7   r   testNonethetest3   0,testNonether=  r>  )r   r   r   r   rP   r  r"   r   r6  r   r;   )r'   r7   normencr(   r   r  s          r)   test_latin1zTestFromTxt.test_latin1  s    %"V+k93J$$D1 	@Q##Hb2KL=='+dc*13D AaDMM%>>?	@ 	T$Z*T$Z&!89T$Z*}}VAY#'$#&.0 	T$Z)T$Zx1H!HIT$Z)$$D1 	@Q##Hb2KL==(86(A!B'+dc*13D AaDMM%>>?	@ 	T$Z#T$Z&!89/	@ 	@ 	@ 	@s   AG8A GGGc                     d}| j                  t        |      d d      }t        |t        j                  |j                  d      j                                      y r  )r  r   r   rP   rk   r;   rj  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               t	        j
                  t        |      d d d	d
      }t        |d   j                  t        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)Nrp  rc  rd  re  Tr   r   r0   rD  r:   r`  r   )s   norm1s   norm2s   norm3rf  rg  rh  )r   r   r   r   rP   r  r"   r   r6  rk   r   )r'   rw  rl  rm  r(   r   r  ctls           r)   test_utf8_byte_encodingz#TestFromTxt.test_utf8_byte_encoding  s    %"T)K73J$$D1 	@Q##Hb2KL=='+dc*13D AaDMM%>>?	@ hh/NT18</1 2 	4%	@ 	@s   AB??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)Nrp  r   rd  re  rg   rD  rq  r`  r   ri  rj  ri   rk  r=  r   r>  )
r   r   r,   rP   r  rk   r;   rv  r   r   )r'   rw  r=  r   r  rr  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           	      &   d}d}	 t        j                         }|j                  |       t               5 }t        |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               t        j                  |d d dd      }t!        |d   j"                  t        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)NrY  u   öüözTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingr  znorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr   r   r0   rD  r:   r`  r   )norm1norm2norm3rw  ry  r   ri  rj  ri   )r  r  r  UnicodeErrorImportErrorr   r  r   r   r,   r   r   r   r   rP   r  r   r6  rk   rv  r   )	r'   rw  r7   ru  r=  r   r   r  rr  s	            r)   test_utf8_file_nodtype_unicodez*TestFromTxt.test_utf8_file_nodtype_unicode	  s   	G224HKK!
 Z 	*4dD! AQ-.6)J67+d2Z?@A ((5 D''"(AC}}T/2WF !)BBCD ((0vw/}t3W=? 77	$C
 tS)#	* 	*	 k* 	GKK F G	G
A AD D	* 	*sO   %E FA E/F AE;4AF$E,+E,/E8	4F;F	 FF(ignore:.*recfromtxt.*:DeprecationWarningc                    t        d      }dddd}t        |fi |}t        j                  ddgdt        fd	t        fg
      }t        t        |t        j                               t        ||       t        d      }t        |fd dd|}t        j                  ddgddgdt        fd	t        fg      }t        ||       t        |j                  |j                         t        |j                  ddg       y )NA,B
0,1
2,3rD  r  Tr  r  r  ra  r  ri   r  r  r  r  r  r  r   rg   )r"   r   rP   rk   rm   r   r9   recarrayr   r  r  ra  r  s        r)   test_recfromtxtzTestFromTxt.test_recfromtxt&	  s     o&"edK$)&)((FF+#&*sCj!9;
4-.T7#'($CdDCFC((FG,!/ ?#&*sCj!9; 	T7#TYY-TVVaV$r*   c                    t        d      }ddddd}t        |fdd i|}t        j                  ddgd	t        fd
t        fg      }t        t        |t        j                               t        ||       t        d      }t        |fd dd|}t        j                  ddgddgd	t        fd
t        fg      }t        ||       t        |j                  |j                         t        |j                  ddg       t        d      }t        |d      }t        j                  ddgdt        fdt        fg      }t        t        |t        j                               t        ||       t        d      }dt        fdt        fg}t        |d|      }t        j                  ddg|      }t        t        |t        j                               t        ||       t        d      }t        |dd i      }t        j                  ddgdt        dffg      }t        |j                  |j                         t        ||       y )Nr  r  Tr:   )r  r  case_sensitiveru  rj   r  r  ra  r  ri   r  r  r  r  r  r  r   rg   )r  rd   r   )r  rj   zcolor
"red"
"blue"c                 $    | j                  d      S )N")r|  r  s    r)   r  z-TestFromTxt.test_recfromcsv.<locals>.<lambda>`	  s     r*   )r  )red)bluecolorrh   )r"   r   rP   rk   rm   r   r9   r  r   r  r  ra  rl   r  rj   )r'   r   rZ   r  r  rj   s         r)   test_recfromcsvzTestFromTxt.test_recfromcsv:	  s    o&$)DD")+$5d5f5((FF+#&*sCj!9;
4-.T7#'($CdDCFC((FG,!/ ?#&*sCj!9; 	T7#TYY-TVVaV$o&$u6((FF+#&*sCj!9;
4-.T7#o&sc5\*$uEB((FF+!&(
4-.T7# ,-$A/F+GH((Hi0'C89L8MN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        j                         5  t        j                  d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
r8   )r  r`   rg   rh   r  r  r  r  r  r   r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
r@  rA  )r+  r  r  F)r  r2  rB  rC  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r'  r  r  ))r@  r@  )rA  rA  )rB  rB  )r   <f8)r  r  ri   )r  rj   )rC  rC  )r  r  )r"   rP   r  r   r   r+  rk   r   r   r  r   rj   )r'   r   r  a1a2r  r  s          r)   r  zTestFromTxt.test_max_rowse	  s9   +Tl]]3+]]3R1a&1a&1a&12R1a&1b'*+ 	j"--J 9}}VD\A6((RHr2h/0T7# 	j"--1 	" 	j"--J $$& 		(!!(,=>==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   =B7J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  r   )rP   r   r  r   r   r,   r  r   )r'   r  r  r  r   rJ   r   r  s           r)   test_gft_using_filenamez#TestFromTxt.test_gft_using_filename	  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  r   fileobjr  z.gz2r   )rP   r   r  r   r  GzipFiler,   r   r   r   r   r  )	r'   r  r  r  r   r(   rJ  rJ   r   s	            r)   test_gft_from_gzipzTestFromTxt.test_gft_from_gzip	  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   "$r   )rP   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 1024ri   )r=  r>  r?  r=  r>  r?  g      Dl        i   )r"   rP   r  r   rj   r  r   rl   r=  int_r   r  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.0rD  T)rE  r  )r@  rC  r  r  )rA  r  rX  r@  )rB  rP  r  rA  )r"   rP   rT  r   rk   )r'   r  rd   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  ro  r  r  r  )r"   rP   r  r   rj   r   rk   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  ro  r  r  r  Tzutf-8)rj   r  ru  )r"   rP   rk   r  r  r   r   rj   )r'   r  expectedr  r]   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  ro  r  ri   Tr  )r"   rP   rk   r  r  r   r   rj   r'   r  r   r  r  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'  ri   Tr  r5   )	r"   rP   rk   r  r  r   r   rb   rj   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  )rP   rT  r   r  r   )r'   r  r  rd   r   s        r)   r  zTestFromTxt.test_ndmin_keyword
  s;     JJx}D1MM(3-t41a r*   N)_r1   r2   r3   r  rP   r  r  r   rp   rv   r%  r%  r0  r4  r8  rA  rE  rR  rL  rO  rR  rW  r]  rh  r  ro  r{  r  rt  r  r  r  r   r   r   r  r  r  r  r  r  r  r	  r  rH  r  r  r  r  rh  r  rZ  r  r  r  r  r  r  r  r  r  r*  r/  r2  r5  r;  r?  rO  rQ  rS  rU  rY  r\  r^  ra  rn  rp  rs  ru  r|  r  r  r  r  r  r  r  r  r  r  r  r  r  rm   r  r5   r*   r)   r  r  _  sA   BMM*H$
*
*
$$	!F08. $$
$!>$;
$$$	$	$
%B$
$ [[ JK$ L$"F6'$
$$$$(+*!1/
	!
-$!.$$B!8.$$1(%0B""""""&!0!05!3&!!<":<H
&"K*!*F [[ JK% L%& [[ JK($ L($T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      ej                  j                  deeg      d               Zej                  j                  deeg      d        Zej                  j                  deeg      d	        Zej                  j                  deeg      d
        Zej                  j                  deeg      ej                  j#                  d      d               Zej                  j                  deeg      ej                  j#                  d      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?rg   r8   rh   )r   r	   rP   rk   r&  rT  r   )r'   r=  rd   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`   rg   r8   rh   )r   r	   rP   rk   rm   r   rQ   r   r'   r=  rd   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`   rg   r8   rh   r{   rz   )
r   r	   rP   rk   rm   r   rQ   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 correctlyrw   rR  c                    t        d      5 } ||      }t        j                  ddgddggt              }t        j                  ||       t        j
                  |d      }d	|d
   d
<   d	|d
   d
<   ~t        rt                t                t        j
                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr;  r   r`   rg   r8   rh   zr+r  r  r   )	r   rP   rk   rm   r   rQ   r   r   r   )r'   rR  r=  rd   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"B88Cc                     t        d      5 } ||      }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   rP   r   rQ   r   r'   rR  r=  r   s       r)   test_savez_loadzTestPathUsage.test_savez_loadM
  sw    V$ 	@ &DHHT~. @$"4;?@	@ 	@@ @	@ 	@s#   5A/A#A/#A,	(A//A8c                     t        d      5 } ||      }t        j                  |d       t        j                  |      }t	        |d   d       |j                          d d d        y # 1 sw Y   y xY wr  )r   rP   savez_compressedrQ   r   rO   r  s       r)   test_savez_compressed_loadz(TestPathUsage.test_savez_compressed_loadU
  s_    V$ 	 &D.9774=DtE{N;JJL	 	 	s   AA**A3c                     t        d      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~   r   )r   rP   rk   r&  r  r   )r'   rR  r=  rd   r   s        r)   test_genfromtxtzTestPathUsage.test_genfromtxt^
  sd    V$ 	( &D&&)*AJJtQ==&Dq$'	( 	( 	(s   AA--A6r}  c                    t        d      5 } ||      }t        |d      5 }|j                  d       d d d        dddd}t        |fi |}t	        j
                  d	d
gdt        fdt        fg      }t        t        |t        j                               t        ||       d d d        y # 1 sw Y   zxY w# 1 sw Y   y xY w)Nr  r   r   r  rD  r  Tr  r  r  ra  r  ri   )r   r   r,   r   rP   rk   rm   r   r9   r  r   r'   rR  r=  r   rZ   r  r  s          r)   r  zTestPathUsage.test_recfromtxtg
  s     V$ 
	( &DdC )A() $'%$OFd-f-Dhh/'*Cj3*%=?GJtR[[12w'
	( 
	() )
	( 
	(s"   B9B-A0B9-B6	2B99Cr  c                    t        d      5 } ||      }t        |d      5 }|j                  d       d d d        dddd}t        |fdd i|}t	        j
                  d	d
gdt        fdt        fg      }t        t        |t        j                               t        ||       d d d        y # 1 sw Y   |xY w# 1 sw Y   y xY w)Nr  r   r   r  r  T)r  r  r  rj   r  r  ra  r  ri   )r   r   r,   r   rP   rk   rm   r   r9   r  r   r  s          r)   r  zTestPathUsage.test_recfromcsvv
  s     V$ 	( &DdC )A() #($$F d9$9&9Dhh/'*Cj3*%=?GJtR[[12w'	( 	() )	( 	(s"   B;B/A2B;/B8	4B;;CN)r1   r2   r3   r  r  r  r   r   r  r   r  r	   r  r  r  r  r  r   r  r  r5   r*   r)   r  r  
  sY   %( [[w'FG[[_tSk:( ; H( [[_tSk:@ ;@ [[_tSk: ; [[_tSk:( ;( [[_tSk:[[ JK( L ;( [[_tSk:[[ JK( L ;(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  r   r  r   r{   )
rP   r   r   r  r  r   rO   rL   r   rQ   rd   r(   r   s      r)   test_gzip_loadr  
  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.write
  s    yyq!!r*   c                 6    | j                   j                         S r$   )r  rK   r  s    r)   rK   zJustWriter.flush
  s    yy  r*   N)r1   r2   r3   r%   r,   rK   r5   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__
  r  r*   c                 8    | j                   j                  |      S r$   )r  rO  )r'   r   s     r)   rO  zJustReader.read
  s    yy~~a  r*   c                 :    | j                   j                  ||      S r$   )r  rL   )r'   offwhences      r)   rL   zJustReader.seek
  s    yy~~c6**r*   Nrf  )r1   r2   r3   r%   rO  rL   r5   r*   r)   r  r  
  s    !+r*   r  c                  .   t         j                  j                  d      } t               }t        |      }t        j                  ||        |j                          |j                  d       t        |      }t        t        j                  |      |        y )Nr  r   )
rP   r   r   r  r   rK   rL   r  r   rQ   r  s      r)   test_ducktypingr  
  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)	Nr   r     1 2 3
r   r{  r   r   r   )r   r  r  r,   rO   rL   r   r   rO  rP   rT  r   )r(   rJ  rJ   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 )Nr   r  r  r   r{   r   )	r   r  r  r,   rO   rL   r   rP   rT  )r(   r   s     r)   test_gzip_loadtxt_from_stringr  
  s[    	Aac*AGGJGGIFF1Iac*Arzz!}i0r*   c                  J   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       * |j                         D ]  }t        |j                  d        t        t        |j                               dk(         |D ]  }t        |dv         t        d|j                         v        |j                  d      |d   k(  j                         sJ y )N)r8   r8   )r   r   r   r   r   rg   )r   rP   rY  r   rL   rQ   r   keysitemsr   rb   valuesr   rI   all)r(   r   r   r9  r   rd   s         r)   test_npzfile_dictr  
  sL   	A
A
AHHQ!qFF1I

AC1HC1HC1668OC1668O	 &1Z QWWf%& XXZ &QWWf%& C	Na  !Z ! C1668OEE#J!C& %%'''r*   zPython lacks refcountsrw   z!garbage collector is global statec                     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   )rd   u1rg   )r   r  rg   z0 1 2 3ri   )r  r  )
r   rP   r   rL   r   rQ   rT  r"   r   rk   )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`   rg   r   )r   rP   r   rL   rQ   r   r   EOFError)r   out1out2s      r)   #test_load_multiple_arrays_until_eofr    s    	AGGAqMGGAqMFF1I771:D199771:D199	x	  

  s   B88Cc                     t        j                  ddgt              } t        d      5 }t        j                  ||        d d d        t        d      5 }t        j                  t        d      5  t        j                  || d	       d d d        d d d        t        d      5 }t        j                  ||        d d d        t        d      5 }t        j                  t        d      5  t        j                  || 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   xY w# 1 sw Y   BxY w# 1 sw Y   y xY w)
Nr`   hellori   r   r   z$Object arrays cannot be saved when.*r   F)rD   )	rP   rk   rr   r   r   r   r   r+  r  )	obj_arrayr   s     r)   test_savez_nopickler    s.   !WV4I		  !C
i ! 
	  9C]]:-ST 	9HHS)%8	99 
	  ,C
C+, 
	  DC]]:-ST 	DYUC	DD D! !	9 	99 9, ,	D 	DD Ds_   DD/1D#
D/&D;E-EED #D,	(D//D8;EE	EEr$   )Yr  r  r  rV   r_  rM   r   r<   r   r   ctypesr   r   ior   r   multiprocessingr   r   pathlibr	   tempfiler
   r   numpyrP   numpy.mar  numpy._utilsr   numpy.exceptionsr   	numpy.libr   numpy.lib._iotoolsr   r   numpy.lib._npyio_implr   r   numpy.ma.testutilsr   numpy.testingr   r   r   r   r   r   r   r   r   r   r   r   r   numpy.testing._private.utilsr    r"   maxsizer  r  r  r{  r  r  r=   r@   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r  r  r  r5   r*   r)   <module>r     s   	   	 	 
         .  '      6 ! @ 8 +    9>W >& ;;GH
0h% h%V?= ?mM m`` `D	E% E%Pr.+ r.h?6 ?6Jy!+ y!x%j( j(Z& ! !+ +&'*1(> $-EF"EF@ G G@$
DmV  G
  Hs$   F" F/ "F,+F,/F98F9