
    CEj<                       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% d dl&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1 d dl2m3Z3  G d de      Z4ejj                  dkD  Z6	 d dl7Z7dZ8	 d dl:Z:dZ;d6dZ< G d d      Z= G d de=      Z> G d de=      Z? G d d      Z@ G d d      ZA G d d eA      ZB G d! d"      ZC G d# d$eA      ZD G d% d&      ZEd' ZF G d( d)      ZG G d* d+      ZHd, ZId- ZJd. ZKd/ ZLej                  j                  e' d01      ej                  j                  d21      ej                  j                  d3                      ZQd4 ZRd5 ZSy# e9$ r dZ8Y w xY w# e9$ r dZ;Y w xY w)7    N)c_bool)datetime)BytesIOStringIO)Valueget_context)Path)NamedTemporaryFile)asbytes)VisibleDeprecationWarning)_npyio_impl)ConversionWarningConverterError)assert_equal)HAS_REFCOUNTIS_WASMassert_assert_allcloseassert_array_equalassert_no_gc_cyclesassert_no_warningsassert_raisesassert_raises_regex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     e/var/www/html/eeg-assistent/strom-signal/venv/lib/python3.12/site-packages/numpy/lib/tests/test_io.pyr!   zTextIO.__init__3   s    wqz*    c                 B    t        j                  | t        |             y r    )r   writer   r"   s     r%   r(   zTextIO.write6   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.writelines9   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%   r9   r9   J   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platformr5   closenploadlocalslibnpyioNpzFileosremove)r#   	save_funcargskwargsr>   r?   rA   target_file	load_filearrrD   s              r%   	roundtripzRoundtripTest.roundtripV   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)rA   r      )rZ   rL   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\      r4      y      ?      @y       @      @y      @      @y      @       @dtype)rL   arrayfloatra   intcsinglecdoubler_   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\   rc   r4   rd   )rL   rg   objectra   r_   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\   rc   r4   rd   )rL   rg   ri   rZ   r_   s     r%   test_1DzRoundtripTest.test_1D   s    HH\3'qr&   rC   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      @rd   g333333@T	mmap_moder)rA   r?   )rL   rg   rZ   r]   r_   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\   rc   r4   rd   xi4yr~   re   )rL   rg   ra   r_   s     r%   test_recordzRoundtripTest.test_record   s*    HHff%k;-GHa r&   c                 .   t        d      D cg c]  }| 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  d   i  re   Trecordalwaysr,   )	rangerh   rL   oneswarningscatch_warningsfilterwarningsUserWarningra   )r#   idtr`   s       r%   test_format_2_0zRoundtripTest.test_format_2_0   s    -23Z8!|U#88GGD#$$D1 	%##Hb+>!!!$	% 	% 9	% 	%s   B-BBN)r-   r.   r/   rZ   ra   rl   ro   rr   pytestmarkskipifrI   rJ   rx   r   slowr   r1   r&   r%   r<   r<   U   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<   rZ   rL   saver   rf   flagsfnc)r#   rU   rV   rY   rD   s        r%   rZ   zTestSaveLoad.roundtrip   sq    )33D"''SDSFS\SV\*SV\\<#5#56SV\\%%|'9'9'='=>r&   N)r-   r.   r/   rZ   r1   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j                  j                  d      d                      Zd Zd Zd	 Zd
 Zej                  j                  ed      d        Zd Zd Zd Zej                  j+                  dg d      d        Zy)TestSavezLoadc                    t        j                  | t        j                  g|i |\  }}	 t	        |      D ]m  \  }}|d|    }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)Narr_)r<   rZ   rL   savez	enumerater   rf   r   r   fidrK   rR   rS   rF   )r#   rU   rV   rY   rD   nr`   reloadeds           r%   rZ   zTestSavezLoad.roundtrip   s    )33D"((TTTVT\
	1!# >1'$qc
3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openrL   r   aranger(   rM   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Needs 64bit platformrs   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     re   numpy_test_big_arrays_r   r   r`   r`   )rL   emptyuint8r   r   rM   rK   )r#   Lr`   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\   rc   r4   rd         ?       @       @      @      @            @      (@)rL   rg   rh   complexrZ   )r#   r`   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\   rc   r4   rd   r   r   r   r   )file_afile_br   r   r   )	rL   rg   rh   r   r   r   rH   rM   r   r#   r`   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\   rc   r4   r   r   z(1, 2)matchrz   )	rL   rg   r   r   rH   rM   r   raisesKeyError)r#   r`   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   )rL   rg   rh   r   r   r   rH   rM   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   )rY   )r   rL   randomrandnr   OSErrorappend)
error_listr   rY   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?r4   targetrU   )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   rL   r   rH   r   closedrM   )r#   r   fps      r%   test_not_closing_opened_fidz)TestSavezLoad.test_not_closing_opened_fid0  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                 N   t        d      5 }t        j                  |d       t        j                         5  t        j
                  dt               t        dd      D ]  }t        j                  |      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   ignorer\   i  r   )	r   rL   r   r   r   simplefilterResourceWarningr   rM   )r#   r   r   s      r%   test_closing_fidzTestSavezLoad.test_closing_fid?  s     V$ 	)HHS}- ((* )%%h@q$ )AGGCL())	) 	)) )	) 	)s#   ,BAB>BB	BB$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   rL   r   rM   zipr   rK   r   r   )r#   r   r   r   r   s        r%   test_closing_zipfile_after_loadz-TestSavezLoad.test_closing_zipfile_after_loadR  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\   rc   r4   rd   r   r   )fname)	rL   rg   rh   r   r   rM   reprformatrK   )r#   countexpected_reprr`   r   r   s         r%   test_repr_lists_keysz"TestSavezLoad.test_repr_lists_keys_  s     HHq!fq!f%u-V$ 	HHS'A3;'A7m222====GGI		 	 	s   A BBN)r-   r.   r/   rZ   r   r   r   r   IS_64BITr   thread_unsafer   r   r   r   r   r   r   r   r   r  parametrizer  r1   r&   r%   r   r      s    18  [[H-CD[[[[&?@ A  E
%	$ [[(=>) ?).')& [[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\   rc   r4   rd   z%.18er:   r    
rz   r{   %d   1 2
   3 4
)
rL   rg   rh   r   savetxtrH   r   	readlinesr   ri   )r#   r`   r:   r   s       r%   rl   zTestSaveTxt.test_arrayp  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 )Nrq   r  r  r   )s   1
s   2
s   3
s   4
)rL   rg   ri   r   r  rH   r  r   r#   r`   r   r+   s       r%   rr   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\   rc   )r   r   
ValueErrorrL   r  rg   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 )Nrz   r{   r|   r   re   r  r  r   r  r  rL   rg   r   r  rH   r   r  r#   r`   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   rd   r  r	  ))foor~   )barr~   )bazr~   re   r+  r-  r  r  r   s   1 3
s   4 6
r&  r'  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f4re   r}   r0  .npyr   )rL   r   r   r	   r   rM   r   )r#   r`   vpathr   s        r%   test_multifield_viewz TestSaveTxt.test_multifield_view  sm    GGADEsCjMV$ 	(:DGGD!774=DtQ'		( 	( 	(s   AA99Bc                     t        j                  ddgddgg      }t               }t        j                  ||dd       |j	                  d       t        |j                         d	d
g       y )N      ?       @      @      @,r  )	delimiterr:   r   s   1,2
s   3,4
r&  r'  s      r%   test_delimiterzTestSaveTxt.test_delimiter  sV    HHr2hR)*I


1a3D1	q	Q[[]Xx$89r&   c                 r   t        j                  ddg      }t               }t        j                  ||ddg       |j	                  d       t        |j                         ddg       t               }t        j                  ||d	       |j	                  d       |j                         }t        |d
dg       t               }t        j                  ||d	d       |j	                  d       |j                         }t        |d
dg       t               }t        t        t         j                  ||d       y )Nrz   r{   z%02dz%3.1fr  r   s   01 2.0
s   03 4.0
z%02d : %3.1fs	   01 : 2.0
s	   03 : 4.0
r;  )r:   r<  c   )	rL   rg   r   r  rH   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 )Nrz   r{   re   zTest header / footerz%1d)r:   headerr   # z	
1 2
3 4
)r:   footerz
1 2
3 4
# r  z% )r:   rB  commentsz1 2
3 4
)r:   rD  rE  )	r   rL   rg   ri   r  rH   r   readr   )r#   r   r`   test_header_footer
commentstrs        r%   rG  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)Nrz   r{   )r   rL   rg   r  loadtxtr   )r#   rI  rF   r`   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 )Nrc   re                 ?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)

rL   zeros
complex128pier   r  rH   r  r   r#   ncolsnrowsr`   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 )Nrc   re   rN  z%.3er  r   s0    (3.142e+00-2.718e+00j)  (3.142e+00-2.718e+00j)
rO  rT  s           r%   test_complex_negative_exponentz*TestSaveTxt.test_complex_negative_exponent  s    HHeU^2==9UUTTD2I~!I


1aV$	q	AAC	Dr&   c                      G d dt               } |       }t        j                  ddg      }t        j                  ||       t        j                  |      }t        ||       y )Nc                       e Zd Zd Zy)4TestSaveTxt.test_custom_writer.<locals>.CustomWriterc                 D    | j                  |j                  d             y )N   
)extendsplit)r#   texts     r%   r(   z:TestSaveTxt.test_custom_writer.<locals>.CustomWriter.write,  s    DJJu-.r&   N)r-   r.   r/   r(   r1   r&   r%   CustomWriterr^  +  s    /r&   rd  rz   r{   )listrL   rg   r  rK  r   )r#   rd  r   r`   r   s        r%   test_custom_writerzTestSaveTxt.test_custom_writer)  sO    	/4 	/ NHHff%&


1aJJqM1a r&   c                     dj                  d      }t        j                  |gt        j                        }t	               5 }t        j
                  t        j                  j                  |d      |dgd       d d d        y # 1 sw Y   y xY w)N   ϖUTF-8re   test.csv%sr:   encoding)	r7   rL   rg   str_r   r  rR   r4  r   )r#   utf8r`   tmpdirs       r%   test_unicodezTestSaveTxt.test_unicode5  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)Nrh  ri  re   r,   .gz.bz2.xz.lzmarj  rk  z	UTF-16-LErl  rm  rf   )r7   rL   rg   rn  HAS_BZ2r   HAS_LZMAra  r   r  rR   r4  r   rK  r   )r#   ro  r`   suffixesrp  r   r   s          r%   test_unicode_roundtripz"TestSaveTxt.test_unicode_roundtrip=  s    !!'*HHdV277+;OOF#OOUG,-Y 	)&" )

277<<
V0CDa $v=JJrww||FJ4GH(3277D"1a()	) 	) 	)s   6BDDc                 4   dj                  d      }t        j                  |gt        j                        }t	               }t        j
                  ||dgd       |j                  d       t        |j                         j                  d      |dz          y Nrh  ri  re   rk  rl  r   r  )	r7   rL   rg   rn  r   r  rH   r   rF  r#   ro  r`   r$   s       r%   test_unicode_bytestreamz#TestSaveTxt.test_unicode_bytestreamN  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}  )	r7   rL   rg   rn  r   r  rH   r   rF  r~  s       r%   test_unicode_stringstreamz%TestSaveTxt.test_unicode_stringstreamV  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d       y t        |j                         ddz         y )Nr7  z%fr  r   r   r  s   %f
)rL   rg   r  rH   r   r   rF  )r#   r  r`   r$   s       r%   test_unicode_and_bytes_fmtz&TestSaveTxt.test_unicode_and_bytes_fmt^  si     HHbTNH


1aT"	q	XbV2;/7R<0r&   rC   zfiles>4GB may not workrs   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   rd   re   ztest.npz)	test_dataT)valuerL   asarrayr   r   randrandintrn   r   r   rR   r4  r   MemoryError)memoryerror_raisedr   r  rp  s       r%   check_large_zipz3TestSaveTxt.test_large_zip.<locals>.check_large_zipo  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pmsgs         r%   test_large_zipzTestSaveTxt.test_large_zipj  s    
	" #6]
 &!KK6H5JKK			##LMM::WCLLzzQr&   N)#r-   r.   r/   rl   rr   r$  r(  r.  r5  r=  r@  rG  r   r   r  r	   strrL  rY  r[  rf  rq  r{  r  r  r   r   r  r   rI   rJ   r   r   r  r  r1   r&   r%   r  r  o  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	  rc   r4   r  z
0 1 23 4 5r   wtz	UTF-32-LE)moderm  rm  rt)rL   r   reshaper   r(   loadfuncr   )r#   fopenrz  wantedlinesepsepr   r   rF   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)rs  )r  gzipr   r#   s    r%   test_compressed_gzipz LoadTxtBase.test_compressed_gzip  s    dii2r&   z	Needs bz2rs   c                 D    | j                  t        j                  d       y )N)rt  )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)ru  rv  )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  )        r7  r8  )r   r   r(   encoder  r   )r#   r4  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   öüöri  r   r  rw  )	r7   r   r   r(   r  r  rL   rn  r   )r#   nonasciir4  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  rf   rm  )r  r   rL   rn  r   rg   r7   rb  r#   utf16r3  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 )Nrh  r   r6   c                 $    | j                  d      S )Nri  r7   r}   s    r%   <lambda>z4LoadTxtBase.test_converters_decode.<locals>.<lambda>  s    188G3D r&   )rf   rm  
convertersri  )	r   r(   rH   r  rL   rn  rg   r7   r   r#   r   r}   r`   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)	Nrh  ri  r  r  r   c                     | dz   S )Nr   r1   r  s    r%   r  z6LoadTxtBase.test_converters_nodecode.<locals>.<lambda>  s
    q3w r&   rf   r  rm  r   )	r7   r   r   r(   r  rL   rn  rg   r   )r#   ro  r4  r   r}   r`   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)r-   r.   r/   r  r  r   r   r   rx  r  ry  r  r  r  r  r  r  r1   r&   r%   r  r    sz    4 3 [[GK83 93 [[H\:; ;;0,H
!
%r&   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d Z d Z!d Z"d Z#d Z$d Z%d  Z&d! Z'd" Z(d# Z)e*jV                  jY                   e-j\                         d$k(  d%&      d'        Z/d( Z0d) Z1d* Z2d+ Z3e*jV                  ji                  d,d-gd.g d/fd.g d0fd.d1 fd2g d3fd2g d4fd2d5 fg      d6        Z5y7)8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   re   rz   r{   r|   r   zM 64 75.0
F 25 60.0genderageweightS1r~   r1  namesformatsM      P@     R@F      9@      N@)r   r(   rH   rL   rK  int32rg   r   )r#   r   r}   r`   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   re   r\   rc   r4   rd   )	r   r(   rH   rL   rK  ri   rg   r   rh   r  s       r%   rl   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   re   rq   1,2,3,4
r;  rf   r<  r   r(   rH   rL   rK  ri   rg   r   r  s       r%   rr   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   r;  r4   c                      t        | xs d      S Nri   r$   s    r%   r  z*TestLoadTxt.test_missing.<locals>.<lambda>      AJ r&   rf   r<  r  r\   rc   r4   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   r;  r4   c                      t        | xs d      S r  r  r  s    r%   r  z:TestLoadTxt.test_converters_with_usecols.<locals>.<lambda>!  r  r&   r\   r4   rf   r<  r  usecolsrc   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   r;  #rf   r<  rE  r\   rc   r4   r  r  r  s       r%   test_comments_unicodez!TestLoadTxt.test_comments_unicode&  sR    H	&'	q	JJqs #%HH\3'1a r&   c                     t               }|j                  d       |j                  d       t        j                  |t
        dd      }t        j                  g dt
              }t        ||       y )Nr  r   r;     #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   r;  )r  @z//r  r   r*  r  r  s       r%   test_comments_multiplez"TestLoadTxt.test_comments_multiple8  sW    H	AB	q	JJqs 02HHi+S11a r&   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   r;  z/*r  r  z*/ comment
1,2,3,5
)
r   r(   rH   rL   rK  ri   rg   r   r   r"  r  s       r%   test_comments_multi_charsz%TestLoadTxt.test_comments_multi_charsA  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   r;  r\   )rf   r<  skiprowsr  r  r  r  s       r%   test_skiprowszTestLoadTxt.test_skiprowsQ  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\   rc   r4   rd   r   r\   rf   r  r   r4   rd   r  rz   c                       e Zd Zd Zy)*TestLoadTxt.test_usecols.<locals>.CrazyIntc                      yr  r1   r  s    r%   	__index__z4TestLoadTxt.test_usecols.<locals>.CrazyInt.__index__  s    r&   N)r-   r.   r/   r%  r1   r&   r%   CrazyIntr#    s    r&   r&  z<JOE 70.1 25.3
                BOB 60.5 27.9
                stidtempS4f8r   rc   r  rf      JOE   BOBL9@fffff;@      ?z^usecols must be.*r  )rL   rg   rh   r   r  rH   rK  r   ri   int8int16r  int64r   uint16uint32uint64r   re  r  r   r   	TypeErrortyper-   )r#   r`   r   r}   int_typeto_readr&  	crazy_intr   r  dtypesrY   	bogus_idxs                r%   test_usecolszTestLoadTxt.test_usecolsb  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            r;  )r  r<  l            zQIf a structured dtype .*. But 1 usecols were given and the number of fields is 3.r   z1,1
zi,2ir   )rf   r  r<  )r   r   OverflowErrorrL   rK  r"  r9  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$   r;  r  r\   )rc   r9  rd   )r        @)
r   r(   rH   rL   rf   ri   rh   rK  rg   r   r#   r   r   r}   r`   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rF   r)  r}   r   blockr  re   aaaar7         @r   r*  r   rL   rf   rh   ri   rK  rg   r   rI  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 12rM  r}   r   rN  )rc   rc   r4   re   rO  r7  rP  r   r*  )r	     r
  )r         rQ  rI  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str2re   )r  rL   bytes_rg   rK  r   )r#   r   r   r`   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   re   )r   warnsr   r   rL   rK  r   r^   r5  r   rf   )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 rd  r  r  s    r%   r  z3TestLoadTxt.test_unused_converter.<locals>.<lambda>  rf  r&   !   B   )r   r*   rH   rL   rK  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r9   stripr  s    r%   r  z4TestLoadTxt.test_dtype_with_object.<locals>.<lambda>      !'')Z8 r&   r\   ;r<  rf   r    rc        re   )ri   rn   rL   rK  r   rg   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    d|d           |j                  d       t        j                  |t        j
                        }t        ||       y )N)l   +&|    l   -(|    r   r  r\   re   )r   r(   rH   rL   rK  r8  r   r#   tgtr   r  s       r%   test_uint64_typezTestLoadTxt.test_uint64_type  sV    8H	3q6(!CF8$%	q	jj")),S#r&   c                     d}t               }|j                  |d    d|d           |j                  d       t        j                  |t        j
                        }t        ||       y )N)l l    r   r  r\   re   )r   r(   rH   rL   rK  r5  r   r  s       r%   test_int64_typezTestLoadTxt.test_int64_type  sV    9H	3q6(!CF8$%	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   r3   r  )err_msg)rL   logspaceastypefloat32hstackrh   r   maphexr   r(   rH   rK  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"  rL   rK  r#  s     r%   6test_default_float_converter_no_default_hex_conversionzBTestLoadTxt.test_default_float_converter_no_default_hex_conversion  s?    
 7O]]:JL 	JJqM	 	 	   AAc                     t        d      }t        j                  t        d      5  t	        j
                  |       ddd       y# 1 sw Y   yxY w)z
        Ensure that the exception message raised during failed floating point
        conversion is correct. Regression test related to gh-19598.
        zqrs tuvz)could not convert string 'qrs' to float64r   Nr  r#  s     r%   &test_default_float_converter_exceptionz2TestLoadTxt.test_default_float_converter_exception#  s@    
 9]]:AC 	JJqM	 	 	r  c                     t        dd      t        dd      f}t               }|j                  |d    d|d           |j                  d       t	        j
                  |t               }t        ||       y )Nr\   r   r  re   )r   r   r(   rH   rL   rK  r   r  s       r%   test_from_complexzTestLoadTxt.test_from_complex-  sc    q!}gan-H	3q6(!CF8$%	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rc   rc   re   rN  z%.16er  r   s   e+00-s   e00+-)rL   rP  rQ  rR  rS  r   r  rH   rF  replacer   r(   rK  r   r   )r#   r`   rW  rX  r   txttxt_badr  s           r%   test_complex_misformattedz%TestLoadTxt.test_complex_misformatted5  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\   rh  r4   ri  )r   r   r(   rL   rK  r   )r#   rF   r   r   s       r%   test_universal_newlinez"TestLoadTxt.test_universal_newlineI  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   r0  comment)<i4r  <f4|S8r  	r  )s   start s     r&   r  )r   r(   rH   rL   rK  rg   r   rI  s        r%   test_empty_field_after_tabz&TestLoadTxt.test_empty_field_after_tabP  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r`   r   r   )|S1r  r  r  Trf   unpackr  r  r     M   Frh  #         R@      M@)r   rL   rK  r   rf   r  r   rg   r#   r  r   r`   r   r   s         r%   test_unpack_structuredz"TestLoadTxt.test_unpack_structuredZ  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   r4   ndminr1  r;  r\   )rf   r<  r  r   r*  z0,1,2rc   r  )r4   z0
1
2)r4   r\   r^  r   r   r\   r_  )r   r(   rH   r   r"  rL   rK  ri   rg   r   r   r^   r   r`  r   )r#   r   r}   r`   r  rS  r   s          r%   test_ndmin_keywordzTestLoadTxt.test_ndmin_keyworde  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   6   K   t        d      D ]  } |   	 y wNr   )r   r   s    r%   r  z0TestLoadTxt.test_generator_source.<locals>.count  s      2Y s   r   )rL   rK  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(   rH   r   r"  rL   rK  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}   )r`   S10r   r;  )r<  rf   rE  )r   r(   rH   rL   rf   ri   rK  )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 encodingrs   c                 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
ri  r  r,   r   r   rw  S)s   5,6,7,Õscarscars   15,2,3,hellos   20,2,3,Õscarre   )r7   r  
splitlinesr   r   r(   rL   rK  rn  r   rg   )r#   butf8sutf8r4  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   r;  r\   rf   r<  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   r;  r\   rf   r<  r  r  r  comment
1,2,3,5
4,5,7,8
2,1,4,5rc   rd   r  r	  rT  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   r;  rc   r  r  r  r  rc   r\   rd   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   r;  r\   r	  r  r  r  r  r  r  s       r%   test_max_rows_largerz TestLoadTxt.test_max_rows_larger  s[    H	45	q	JJqs !A/HHlL,?E1a r&   skipr   r\   )zignored
1,2
r  3,4
)ignored1,2r,   3,4c                      t        d      S )Nzignored
1,2

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

3,4r  r1   r&   r%   r  zTestLoadTxt.<lambda>  s    !34 r&   c                 N   t        |      r |       }t        j                  |t        |dd|z
        }t	        |ddgddgddgg|d         t        |t              r|j                  d       t        j                  |t        |dd|z
        }t	        |ddgddgddgg|d         y )	Nr;  r4   )rf   r  r<  r  r  r   r\   rc   rd   )callablerL   rK  ri   r   r5   r   rH   )r#   r  r   r  r}   s        r%   test_max_rows_empty_linesz%TestLoadTxt.test_max_rows_empty_lines  s     D>6DjjS43"#d(,3"a1a&1a& 9$% @AdH%IIaLJJt3 !D*1AwAA7>?r&   N)6r-   r.   r/   staticmethodrL   rK  r  r  r  r   rl   rr   r  r  r  r  r  r  r  r@  rC  rJ  rR  rW  r\  ra  rm  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r   localegetpreferredencodingr  r  r  r  r  r  r  r1   r&   r%   r  r    s}   BJJ'H+
9!$!!!!!!!% !"CJ	L!!!%)+$4(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?r+  g%C?r,  g-@quxre   r   r(   rH   rL   float64	fromregexrg   r   rI  s        r%   r   zTestfromregex.test_record  se    H	12	q	bjj!=1LL0"5HHE1a r&   c                     t               }|j                  d       |j                  d       dt        j                  fdg}t        j
                  |d|      }t        j                  g d|      }t        ||       y )N1312 foo
1534 bar
4444 quxr   r  r  z(\d+)\s+(...)))   r+  )  r,  )\  r  re   )r   r(   rH   rL   r  r  rg   r   rI  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  re   r  rI  s        r%   test_record_3zTestfromregex.test_record_3  s_    H	./	q	bjj!"LLNB/HH0;1a r&   	path_typec                 &   d}t               5 } ||      }t        |d      5 }|j                  d|z   dz          d d d        dt        j                  fdg}t        j
                  |d|d	      }t        j                  d
d|j                  d      z   fddg|      }t        ||       t        j                  dt        j                        }	t        j
                  ||	|d	      }t        ||       d d d        y # 1 sw Y   xY w# 1 sw Y   y xY w)Nrh  r   s	   1.312 foos    
1.534 bar
4.444 quxr  )r  U4z(?u)([0-9.]+)\s+(\w+)ri  r  r  r+  r  r  re   z([0-9.]+)\s+(\w+))r   r   r(   rL   r  r  rg   r7   r   rW  compileUNICODE)
r#   r  ro  str_pathr4  r   r   r}   r`   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   re   )rW  r  r   rL   r  rg   r  r   )r#   r	  r   r   r`   r}   s         r%   test_compiled_bytesz!Testfromregex.test_compiled_bytes6  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   re   )	rW  r  r   r   r   r9  rL   r  r  )r#   r	  r   s      r%   test_bad_dtype_not_structuredz+Testfromregex.test_bad_dtype_not_structured>  sQ    H%FO]]9,AB 	6LLF"**5	6 	6 	6s   'A,,A5N)r-   r.   r/   r   r   r  r   r   r  r  r	   r
  r  r  r1   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d Z d Z!d Z"d Z#d Z$d Z%d  Z&d! Z'd" Z(d# Z)d$ Z*d% Z+d& Z,d' Z-d( Z.d) Z/d* Z0d+ Z1d, Z2d- Z3d. Z4d/ Z5d0 Z6d1 Z7d2 Z8d3 Z9d4 Z:d5 Z;d6 Z<d7 Z=d8 Z>d9 Z?d: Z@d; ZAd< ZBd= ZCd> ZDd? ZEd@ ZFdA ZGdB ZHdC ZIdD ZJdE ZKdF ZLdG ZMdH ZNdI ZOdJ ZPdK ZQdL ZRdM ZSdN ZTdO ZUdP ZVeWj                  j                  dQg dR      dQeZfdS       Z[yT)U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   re   rz   r{   r|   r   zM 64.0 75.0
F 25.0 60.0r  r  r  r  r  )r   rL   
genfromtxtr  rg   r   )r#   r   r  r  
descriptors        r%   r   zTestFromTxt.test_recordK  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\   rc   r4   rd   re   r   )	r   rL   rg   ri   r  r   rH   rh   rK  )r#   r   r  r  s       r%   rl   zTestFromTxt.test_arrayZ  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 )Nrq   r  re   r  r;  r  )rL   rg   ri   r   r  r   r#   r  r   r  s       r%   rr   zTestFromTxt.test_1Df  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  r;  r  r  z1,2,3,5# comment
)rL   rg   ri   r   r  r   r  s       r%   test_commentszTestFromTxt.test_commentsr  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  r;  r  r  skip_headerr\   r  r  )rL   rg   ri   r   r  r   rK  )r#   r  rV   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	  rC  zA, B, C3   r;  z3.1f03dz99,99r  Tr  r   )r<  r  r  skip_footerr  )   r   ABCre   )
r   r   ra  rL   r  r   r   rg   rh   r   )r#   r   r   rV   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_raiser7  r8  r9  r:  r4   z1 1
2  
3 3
4 4
5  
6 6
7 7
rH  )r   r   r   r   r   r"  rL   r  r   r   rg   )r#   basestrr`   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   r,   r6   )rf   r  rm  r   r  r  r  r  r  r  r  r  r  r  )r   r   r   r   r   rL   r  r   categoryrg   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   r,   r6   r  r      As   BCD@      r  r  y      @      @y      @      @F)f0f1f2f3r1  r   )r   r   r   r   r   rL   r  r   r+  rg   r   rf   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
re   rq   )r  r	  r	  rT  r   rL   r  rg   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 )NrE  r}   r   r   r$   r;  r  rF  rG  re   )r   rL   rf   ri   rh   r  rg   r   r#   r   
fancydtyper  r  s        r%   rJ  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)gr`   r   r  r  s   M 64.0 75.0
F 25.0 60.0r  rf   r  r  r  r  re   r8  )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   r9  rL   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   r,   r6   )r  rf   rm  r   ))r  rh  gfffffR@)r  r  g
ףp=*M@)r  rk  g=
ףp5@)r  r  r  r  re   sO   
# gender age weight
M   21  72.100000
F   35  58.330000
M   33  21.99
        r   r   r   r   r   rL   r  r   r+  rg   ri   rh   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)rf   rE  r  rz   r{   col1col2re   r   rL   r  ri   rg   r   r9  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)Nrj  r      ϖasciir  )r   rR   r4  r   r   r(   r  r   r   r   UnicodeDecodeErrorrL   r  )r#   rp  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   r,   ACDr6   )r  r  rf   rm  r   )rO  -   333333"@rV  |S4rW  rX  re   rF  r,  s        r%   test_autonames_and_usecolsz&TestFromTxt.test_autonames_and_usecols  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  r;  r4   c                      t        | xs d      S r  r  r  s    r%   r  z:TestFromTxt.test_converters_with_usecols.<locals>.<lambda>/      Se_ r&   r  r  rc   r  r	  r
  rK  r9  s       r%   r  z(TestFromTxt.test_converters_with_usecols+  sV    ./}}T()+D'E$+- ((QI1v.4T7#r&   c           
         t        d      }t        j                  d      5 }t        j                  ddt               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)NrT  Tr   r   r,   rU  r6   rW  c                     dt        |       z  S )Nrc   r  r  s    r%   r  zDTestFromTxt.test_converters_with_usecols_and_names.<locals>.<lambda>;  s    1s1v: r&   )r  r  rf   rm  r  r   )rO  Z   rZ  r[  rX  re   rF  r,  s        r%   &test_converters_with_usecols_and_namesz2TestFromTxt.test_converters_with_usecols_and_names4  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)r9   r  s    r%   r  z9TestFromTxt.test_converters_cornercases.<locals>.<lambda>D  s    hq*>? r&   2009-02-03 12:00:00Z, 72214.0r;  r'  r<  rf   r  r    rc   r4       `@re   )r   rL   r  rg   r   object_rh   r   r#   	converterr   r  r  s        r%   test_converters_cornercasesz'TestFromTxt.test_converters_cornercasesA  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 )Nrf  c                 @    t        j                  t        | d            S rh  )rL   
datetime64r9   r  s    r%   r  z:TestFromTxt.test_converters_cornercases2.<locals>.<lambda>O  s    bmmHQ8L,MN r&   ri  r;  r'  rj  rk  rc   r4   rl  )rf  zdatetime64[us]re   )r   rL   r  rg   r   rh   r   rn  s        r%   test_converters_cornercases2z(TestFromTxt.test_converters_cornercases2L  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 rd  r  r  s    r%   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>[      SBZ r&   rg  rh  ri  r\   c                     t        | d      S rd  r  r  s    r%   r  z3TestFromTxt.test_unused_converter.<locals>.<lambda>`  rw  r&   rk  rl  )r   rL   r  r   rH   r#   r   r  s      r%   rm  z!TestFromTxt.test_unused_converterW  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  rh   lowerrb  ru  r  s    r%   r  z4TestFromTxt.test_invalid_converter.<locals>.<lambda>d  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>f  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  r;  r6   )r  r<  rf   rm  )r   r   r   rL   r  )r#   
strip_rand	strip_perr$   rV   s        r%   test_invalid_converterz"TestFromTxt.test_invalid_converterc  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  )rh   r  s    r%   r  z;TestFromTxt.test_tricky_converter_bug1666.<locals>.<lambda>s  s    ae r&   r;  r   )r<  r  r7  r8  r9  r:  r8  )r#   r$   cnvr  r  s        r%   test_tricky_converter_bug1666z)TestFromTxt.test_tricky_converter_bug1666p  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; 46rw  r   rx  )2009      7@.   )r2  r\  r3  r4  re   )g     d@r  r  )rL   r  r   rh   r6   rg   r   )r#   dstrr  r  s       r%   test_dtype_with_convertersz&TestFromTxt.test_dtype_with_convertersx  s    }}VD]&)Au:O((-."/$u!NPT7#}}VD]&)Au:O((+-T7#r&   c           	         d}dddddg d}t         t         t         fdd	}t        j                  t        |      |d
d |d      }t        j                  j                  g d|      }t        ||       g d}t        j                  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\   rc   r4   )z1:1z1:nzm:1zm:n)e1r~   e2r~   )e3i2r   i1c                 *    | j                            S r    r  )rw   dmaps    r%   r  zDTestFromTxt.test_dtype_with_converters_and_usecols.<locals>.<lambda>  s    T!((*5E r&   )r   r\   rc   r4   r;  r6   )rf   r<  r  r  rm  ))r\   r  r  r   )rc   rT  r  r\   )r4   r4   r4   re   )r  r  r  )r   r\   r4   )rf   r<  r  r  r  rm  ))r\   r  r   )rc   rT  r\   )r4   r4   r4   )ri   rL   r  r   recrg   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}}VD]$##'D7L&&,,L%)  +T7#8}}VD]$#%.dt&-/ &&,,@,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)Nro  rp  rq  c                 6    t        | j                         d      S rs  rt  r  s    r%   r  z4TestFromTxt.test_dtype_with_object.<locals>.<lambda>  rv  r&   r\   rw  rx  ry  rc   rz  r{  re   nestzNested fields.* not supported.*)
ri   rn   rL   r  r   rg   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1re   r1      1strings   string)rL   r  r   rn   )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,skipr;  r  rc   )r<  r  rf   r  r  )
2001-01-01r7  )r,   |S10r,   re   )r   rL   r  rh   r6   rg   r   r9  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)Nrh  r   s   skip,skip,2001-01-01s	   ,1.0,skipr;  r  rc   ri  )r<  r  rf   r  r  rm  r  r7  )r,   z|U11r,   re   )
r   r   r(   rL   r  rh   r  rg   r7   r   )r#   ro  r4  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)r7  r8  r9  r:        @)rH        @rP        "@g      $@r8  r9  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  4r4   )r<  r   )rd   r  C   )iz  rC  rd   )rL   r  r   rg   r   r9  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  r;  r4   c                      t        | xs d      S r  r  r  s    r%   r  z*TestFromTxt.test_missing.<locals>.<lambda>  r`  r&   r   r  rK  r9  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)r<  usemaskr   rc   r\   r4   )r   r   r   r\   r   r\   r   r\   r   re   )	rL   r  r   rg   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\   rc   r4   rd   r   r  r   r   r!  rz   )rL   rg   rh   r   r  rH   r  r   r  s       r%   r@  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  rd   r	  acre   )rL   r  r   rg   rh   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'  r(  r)  r*  r+  r,  r-  r.  r/  r0  )r   rL   r  re  r  r   )r#   r   r  r>  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   r2  r7  r:  )rL   r  r   r   rg   )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  r`   r   re   r  r  r  r  r   r  )r`   r   )rL   rg   rh   r  r   r   )r#   r$  r   rV   r  s        r%   test_usecols_with_named_columnsz+TestFromTxt.test_usecols_with_named_columns  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   rL   r  r   rg   ry  s      r%   ra  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 )NrE  r}   r   r   r$   r;  T)rf   r<  r  rF  rG  re   )	r   rL   rf   ri   rh   r  marg   r   r<  s        r%   test_fancy_dtype_altz TestFromTxt.test_fancy_dtype_alt/  si    *+XXSzC3*sEl1K+LMN
}}TsDQ((M=9LT7#r&   c                     t        d      }t        j                  ddt        fdt        fdt        dfg      }t        j
                  ||      }t        j                  dd	d
g dg dgfg|      }t        ||       y rL  )r   rL   rf   rh   ri   r  rg   r   rI  s        r%   rR  zTestFromTxt.test_shaped_dtype7  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 )NzA,B
0,1
2,N/Ar;  N/AT)r<  missing_valuesr  )rf   r  r  )rc   r  FFFTrV  Br  rf   r   r  )
r   rL   r  r  rg   ri   r   r  rH   rh   )r#   r   rV   r  r  s        r%   test_withmissingzTestFromTxt.test_withmissing@  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, 3jr;  T)rf   r<  r  rV  r  rW  r  r  ))r   r  y                )r\   r  rN  )r  g@            8)r4   y              @)r  r  )r   r   r\   r  r  rf   r  r  r  r   r\   rc   )r  r  )r  r  r  r  )r   r  rW  )	ri   rh   r   rL   r  r   r  rg   r   )r#   r   
basekwargsmdtyper  r  s         r%   test_user_missing_valuesz$TestFromTxt.test_user_missing_valuesR  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   r4   )rd   r  r`   r   re   zN/A, 2, 3
4, ,???r;  za,b,cr  r  z???)r   r   rc   r   r  )r<  rf   r  r  filling_values)r   rc   r4   )rd   r   r  abcr  r  r  z1,2,*,4
5,*,7,8
*)r<  rf   r  r  )r\   rc   r   rd   )r  r   r	  rT  r  )r\   rc   r  rd   )r  r  r	  rT  rL   rg   ri   r  r   r   )r#   r$  r   rV   r  r#  data2s          r%   test_user_filling_valuesz$TestFromTxt.test_user_filling_valuess  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.00r;  z-999.0T)rf   r<  r  r  r  )r   r1  )rc   g      r  r  rV  r  r  )	r   rL   r  r  rg   ri   rh   r   r  r9  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rf   r  r  r   r*  r  )r  )r   rL   r  r  rg   r   r9  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  r2  r3  r4  r  )r   rL   r  r  rg   r  ri   r   r9  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  r;  Tr<  rf   r  c                  4    t        j                  fddi S )Nr'  FrL   r  rV   mdatas   r%   r   z)TestFromTxt.test_invalid_raise.<locals>.f  s    ==FeFvFFr&   rY  abcdere   r<  r  )r   insertr   r   r   r`  r   r   r   rL   r   ri   rH   r   r"  r  )r#   r   r   r   mtestr#  rV   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  r;  TF)r<  rf   r  r'  c                  4    t        j                  fddi S )Nr  )r   rd   r  r  s   r%   r   z6TestFromTxt.test_invalid_raise_with_usecols.<locals>.f  s    ==AA&AAr&   rY  aere   r  r  abr  )r   r   r   r   r   r`  r   r   r   rL   r   ri   rH   r  )	r#   r   r   r   r  r#  r  rV   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  rd   c                 *    d| j                          dS )N()r  r  s    r%   r  z5TestFromTxt.test_inconsistent_dtype.<locals>.<lambda>  s    Qqxxzl!#4 r&   r;  r  r6   )r<  r  rf   rm  )r   r   ri   r   r"  rL   r  )r#   r   r  r  r#  rV   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.7r;  f%02ir<  rf   
defaultfmtr   r\   ffffff@)rd   r  @f00f01f02re   )rL   r  r   rg   ri   rh   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  r;  r  r  r  r7  r  r:  r  r  re   rL   r  r   rh   rg   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  r;  r  r  r  r  r  re   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.7r;  Tr  r  r  r  re   r  r   s        r%   "test_single_dtype_w_implicit_namesz.TestFromTxt.test_single_dtype_w_implicit_names  sY    .fTl'*%tExx6389a5z9;UD! :r"  c                     d}t        j                  t        |      dt        t        t        fd      }t        j
                  ddgdt        fdt        fd	t        fg
      }t        ||       y )Nr  r;  zf_%02ir  )r   r7  r  )rd   r  r  f_00f_01f_02re   rL   r  r   ri   rh   rg   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,   abcder;  r6   )r<  rf   rm  Tr   r   r,   r   )z01/01/2003  ?z   abcde)r2  z|S12r3  )r4  r  re   	autostrip)z
01/01/2003r,  r  )r2  r  )r4  z|S5)r   r   r   r   rL   r  r   r   r+  rg   rh   r   )r#   r   rV   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.14r;  Tr<  r  rf   AAB_BCC)r\   rc   gQ	@re   r,   r<  r  rf   replace_spacedeletecharsA.AB (B)C:Cr<  r  rf   r6  B_(B)r)  r#   r  r  
ctrl_dtyper$  s        r%   test_replace_spacezTestFromTxt.test_replace_space   s    +}}VC['*$dDSkE3<$?
xxJ7T4 }}VC['*$d+-2? clWcNUENC
xxJ7T4 }}VC['*$d)+- clWcNUENC
xxJ7T4 r&   c                 N   d}t        j                  t        |      ddt              }dt        fdt        fdt        fg}t        j                  d|	      }t        ||       t        j                  t        |      ddt        d
d
      }dt        fdt        fdt        fg}t        j                  d|	      }t        ||       t        j                  t        |      ddt        d
      }dt        fdt        fdt        fg}t        j                  d|	      }t        ||       y )NzA.A, B (B), C:C
1, 2, 3r;  Tr0  r1  r2  r3  r   re   r,   r4  r7  r8  r9  r:  r;  )rL   r  r   ri   rg   r   r<  s        r%   test_replace_space_known_dtypez*TestFromTxt.test_replace_space_known_dtype8  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,5r;  Tr  r  r!  )rV  r2  rW  re   rf   )rL   rg   ri   r  r   r   rh   )r#   r   rV   r#  r$  r  s         r%   test_incomplete_namesz!TestFromTxt.test_incomplete_namesP  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 6r`   r@  r   r*  r2  r3  re   r)  )r#   r   r  r$  s       r%   test_names_auto_completionz&TestFromTxt.test_names_auto_completion^  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)rV  rW  Er;  )r   rc   rd   T)rf   r<  r  r  )rL   r  r   ri   r   rf   r  )r#   r   
ctrl_namesr  s       r%   test_names_with_usecols_bug1636z+TestFromTxt.test_names_with_usecols_bug1636g  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  rd   Tr0  r  )rY  r  r  rV  r  rW  re   r  )rL   rg   ri   rh   r  r   r   r#   r   rV   r$  r  s        r%   test_fixed_width_namesz"TestFromTxt.test_fixed_width_namesz  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, 
r;  r  )r<  rf   r  r   )r\   r  r  )r   r	  r  re   r  rJ  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   r,   ztest1,testNonetherestofthedatar;  r6   rf   rE  r<  rm  r   r\   s   testNonetherestofthedataztest1, testNonetherestofthedatas    testNonetherestofthedata)
r   r   r   r   rL   r  r   r   r+  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   r,   r;  r6   rO  r   )r\   r      test1)r\   r\      testNonetherz      test3r3   r   testNonethetest3   0,testNonether2  r3  )r   r   r   r   rL   r  r   r   r+  r   r7   )r#   r3   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   rL   rg   r7   rb  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)Nrh  rR  rS  rT  Tr   r   r,   r;  r6   rO  r   )s   norm1s   norm2s   norm3rU  rV  rW  )r   r   r   r   rL   r  r   r   r+  rg   r   )r#   ro  r[  r\  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)Nrh  r   rS  rT  rc   r;  ri  rO  r   rX  rY  re   rZ  r2  r   r3  )
r   r   r(   rL   r  rg   r7   rn  r   r   )r#   ro  r4  r   r  ra  s         r%   test_utf8_filezTestFromTxt.test_utf8_file  sZ   Z 	K4dD! IQ-4{BaGHI==TD+.BD((}t{{7/CCWM}t{{7/CCWMO 77$C tS) dD! 1Q(4/01==TD+.BDdQ'd]T[[5I%IJ#	K 	KI I1 1	K 	Ks;   ED0BE D<AE0D9	5E<E	EEc           	      &   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)NrN  u   öüözTSkipping test_utf8_file_nodtype_unicode, unable to encode utf8 in preferred encodingr  znorm1,norm2,norm3
znorm1,z,norm3
ztest1,testNonethez,test3
Tr   r   r,   r;  r6   rO  r   )norm1norm2norm3rf  rh  r   rX  rY  re   )r  r  r  UnicodeErrorImportErrorr   r  r   r   r(   r   r   r   r   rL   r  r   r+  rg   rn  r   )	r#   ro  r3   rm  r4  r   r   r  ra  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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
r4   )r  r\   rc   rd   r  r	  r	  rT  r
  r   r   z1 1
2 2
0 
3 3
4 4
5  
6  
7  
r7  r8  )r   r  r   F)r  r'  r9  r:  z"a b
#c d
1 1
2 2
#0 
3 3
4 4
5  5
T)r  r  r  ))r7  r7  )r8  r8  )r9  r9  )r   <f8)r  rm  re   )r  rf   )r:  r:  )r  r  )r   rL   r  r   r   r"  rg   r   r   r   r   rf   )r#   r   r  a1a2r  r  s          r%   r  zTestFromTxt.test_max_rows	  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   )rL   r   r  r   r   r(   r  r   )r#   r  r  r  r   rF   r   r  s           r%   test_gft_using_filenamez#TestFromTxt.test_gft_using_filenameD	  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   )rL   r   r  r   r  GzipFiler(   r   r   r   r   r  )	r#   r  r  r  r   r$   r?  rF   r   s	            r%   test_gft_from_gzipzTestFromTxt.test_gft_from_gzipR	  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   H   K   t        d      D ]  } t        |          y wr  )r   r   r  s    r%   r  z3TestFromTxt.test_gft_using_generator.<locals>.countd	  s%     2Y &o%&s    "r   )rL   r  r   r   r  s      r%   test_gft_using_generatorz$TestFromTxt.test_gft_using_generatorb	  s+    	& mmEG$3		".r&   c                    t        d      }t        j                  |d       }t        |j                  j
                  g d       t        |j                  d   j                  t        j                  u        t        |j                  d   j                  t        j                  u        t        |j                  d   j                  t        j                  u        t        |d   d       t        |d   d       t        |d   d	       y )
Nz%73786976294838206464 17179869184 1024re   )r2  r3  r4  r2  r3  r4  g      Dl        i   )r   rL   r  r   rf   r  r   r:  r  r5  int_r   ry  s      r%   test_auto_dtype_largeintz$TestFromTxt.test_auto_dtype_largeintk	  s     =>}}T.TZZ%%'9:

4 %%34

4 %%12

4 %%01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.0r;  T)r<  r  )r7  r:  r  r  )r8  r  rP  r7  )r9  rH  r  r8  )r   rL   rK  r   rg   )r#   r  r`   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~   r1  r  r  rh  r  r  r  )r   rL   r  r   rf   r   rg   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  rh  r  r  r  Tzutf-8)rf   r  rm  )r   rL   rg   r  r  r   r   rf   )r#   r  expectedr  rY   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  rh  r  re   Tr  )r   rL   rg   r  r  r   r   rf   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  re   Tr  r1   )	r   rL   rg   r  r  r   r   r^   rf   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  )rL   rK  r   r  r   )r#   r  r  r`   r   s        r%   r  zTestFromTxt.test_ndmin_keyword	  s;     JJx}D1MM(3-t41a r&   N)\r-   r.   r/   r  rL   r  r  r   rl   rr   r  r  r%  r)  r-  r6  r:  rJ  rA  rD  rG  rL  rR  r]  r  rd  rp  rt  rm  r  r  r  r  r  r  r  r  r  r  r  r  r@  r  r  r  r  ra  r  rR  r  r  r  r  r  r  r  r  r  r  r  r!  r$  r*  r.  r>  r@  rB  rD  rH  rK  rM  rP  r]  r_  rb  rd  rk  r  rq  rv  ry  r|  r~  r  r  r  r  r   r   r  ri   r  r1   r&   r%   r  r  H  s   BMM*H$
*
*
$$	!F08. $$
$!>$;
$$$	$	$
%B$
$$"F6'$
$$$$(+*!1/
	!
-$!.$$B!8.$$1(%0B""""""&!0!05!3&!!<":<H
&"K*!*F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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?rc   r4   rd   )r   r	   rL   rg   r  rK  r   )r#   r4  r`   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)Nr2  r   r\   rc   r4   rd   r   r	   rL   rg   ri   r   rM   r   r#   r4  r`   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                    t        d      5 }t        |      }t        j                  ddgddggt              }t        j
                  ||       t        j                  |d      }t        ||       ~d d d        y # 1 sw Y   y xY w)	Nr2  r   r\   rc   r4   rd   rw   rv   r  r  s       r%   test_save_load_memmapz#TestPathUsage.test_save_load_memmap	  sr    V$ 	:D1a&1a&)3/AGGD!7743/DtQ'	 	 	s   A&A<<Bzmemmap doesn't work correctlyrs   rI  c                 T   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        j
                  |      }t        ||       d d d        y # 1 sw Y   y xY w)Nr2  r   r\   rc   r4   rd   zr+r  r  r   )r   rL   rg   ri   r   rM   r   )r#   rI  r4  r`   r   r   s         r%   test_save_load_memmap_readwritez-TestPathUsage.test_save_load_memmap_readwrite	  s     V$ 		( &D1a&1a&)3/AGGD!-AAaDGAaDG774=DtQ'		( 		( 		(s   BBB'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   rL   r   rM   r   r#   rI  r4  r   s       r%   test_savez_loadzTestPathUsage.test_savez_load	  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   rL   savez_compressedrM   r   rK   r  s       r%   test_savez_compressed_loadz(TestPathUsage.test_savez_compressed_load	  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   rz   r{   )r   rL   rg   r  r  r   )r#   rI  r4  r`   r   s        r%   test_genfromtxtzTestPathUsage.test_genfromtxt
  sd    V$ 	( &D&&)*AJJtQ==&Dq$'	( 	( 	(s   AA--A6N)r-   r.   r/   r  r  r  r   r   r  r   r  r	   r  r  r  r  r  r1   r&   r%   r  r  	  s    %(	 [[w'FG[[_tSk:
( ; H
( [[_tSk:@ ;@ [[_tSk: ; [[_tSk:( ;(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   rs  r   rw   )
rL   r   r   r  ru  r   rK   rH   r   rM   r`   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  rG   r  s    r%   rG   zJustWriter.flush"
  s    yy  r&   N)r-   r.   r/   r!   r(   rG   r1   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  rF  )r#   r   s     r%   rF  zJustReader.read)
  s    yy~~a  r&   c                 :    | j                   j                  ||      S r    )r  rH   )r#   offwhences      r%   rH   zJustReader.seek,
  s    yy~~c6**r&   Nr_  )r-   r.   r/   r!   rF  rH   r1   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   )
rL   r   r   r  r   rG   rH   r  r   rM   r  s      r%   test_ducktypingr  0
  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   rs     1 2 3
r   rs  r   r   r   )r   r  ru  r(   rK   rH   r   r   rF  rL   rK  r   )r$   r?  rF   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   rs  r  r   rw   r   )	r   r  ru  r(   rK   rH   r   rL   rK  )r$   r   s     r%   test_gzip_loadtxt_from_stringr  S
  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)r4   r4   )r}   r   r   r}   r   rc   )r   rL   rP  r   rH   rM   r   keysitemsr   r^   valuesr   rE   all)r$   r}   r   r0  r   r`   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 refcountsrs   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   )r`   u1rc   )r   r  rc   z0 1 2 3re   )r  r  )
r   rL   r   rH   r   rM   rK  r   r   rg   )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\   rc   r   )r   rL   r   rH   rM   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\   hellore   r   r   z$Object arrays cannot be saved when.*r   F)r@   )	rL   rg   rn   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    )Tr  r  rR   rW  rI   r   r8   r   r   ctypesr   r   ior   r   multiprocessingr   r   pathlibr	   tempfiler
   r   numpyrL   numpy.mar  numpy._utilsr   numpy.exceptionsr   	numpy.libr   numpy.lib._iotoolsr   r   numpy.ma.testutilsr   numpy.testingr   r   r   r   r   r   r   r   r   r   r   numpy.testing._private.utilsr   r   maxsizer  r  rx  rj  r  ry  r9   r<   r   r   r  r  r  r  r  r  r  r  r  r  r  r  r  r   r   r  r   r  r  r  r1   r&   r%   <module>r     s     	 	 
         .  '      6 ! @ +    9>W >& ;;GH
0h% h%V?= ?dM dN` `D	E% E%Ph@+ h@T?6 ?6Jy!+ y!x#D( D(N& ! !+ +&'*1(> $-EF"EF@  G G@$
D}R  G
  Hs$   6F+ =F8 +F54F58GG