
    dEm                       d dl Z d dlZd dlZd dlmZ  G d d          Z G d dej        ej	                  Z
 G d de
          Z G d	 d
e
          Z G d de
          Zej                            ej         d           G d de
                      Zej                            ej         d           G d de
                      Zej                            ej         d           G d de
                      Zej                            ej         d           G d de
                      Zej                            ej         d          ej                            d ej                    vd           G d de
                                  Zej                            ej         d          ej                            d ej                    vd           G d de
                                  Zej                            ej         d          ej                            d ej                    vd           G d de
                                  Zej                            ej         d          ej                            d  ej                    vd!           G d" d#e
                                  Zej                            ej         d          ej                            d$ ej                    vd%           G d& d'e
                                  Zej                            ej         d(           G d) d*e
                      Zej                            ej         d+           G d, d-e
                      Z G d. d/e
          Z G d0 d1ej        ej	                  Z  G d2 d3e           Z! G d4 d5e           Z" G d6 d7ej        ej	                  Z# G d8 d9e#          Z$ G d: d;ej        ej	                  Z% G d< d=e%          Z& G d> d?e%          Z' G d@ dAej        ej	                  Z( G dB dCe(          Z) G dD dEe(          Z* G dF dGej        ej	                  Z+ G dH dIej        ej	                  Z, G dJ dKej        ej	                  Z- G dL dMej        ej	                  Z. G dN dOe.          Z/ G dP dQe.          Z0 G dR dSej        ej	                  Z1 G dT dUe1          Z2 G dV dWe1          Z3 G dX dYe1          Z4 G dZ d[e1          Z5 G d\ d]e1          Z6 G d^ d_e1          Z7 G d` dae1          Z8 G db dce1          Z9 G dd dee1          Z: G df dge1          Z; G dh die1          Z< G dj dke1          Z= G dl dmej        ej	                  Z> G dn doej	                  Z? G dp dqej        ej	                  Z@ G dr dse@          ZA G dt due@          ZB G dv dwej        ej	                  ZC G dx dyej        ej	                  ZD G dz d{ej        ej	                  ZE G d| d}ej        ej	                  ZF G d~ dej        ej	                  ZGd ZHeIdk    rA ejJ        e jK                    ejL                     ej        M                    d           dS dS )    N)commonc                       e Zd ZdZdS )C)   g      @N)__name__
__module____qualname__c     9lib/python3.11/site-packages/tables/tests/test_vlarray.pyr   r   	   s        AAAr   r   c                   `     e Zd ZdZdZdZdZdZdZ fdZ	d Z
d Zd Zd Zd	 Zd
 Zd Z xZS )BasicTestCaser   zlibnumpyc                     t                                                       | j        j        | _        |                                  | j                                         d S N)supersetUph5fileroot	rootgrouppopulateFilecloseself	__class__s    r   r   zBasicTestCase.setUp   sN     )r   c                    | j         }t          j        | j        | j        | j        | j        | j                  }| j        	                    |dt          j
                    d|d          }| j        |_        |                    ddg           | j        dk    rU|                    t          j        g d	d
                     |                    t          j        g d
                     n5| j        dk    r*|                    d	           |                    d           |                    g d           |                    g d           d S )N)	complevelcomplibshuffle
bitshuffle
fletcher32vlarray1zragged array of ints  )atomtitlefiltersexpectedrows      r   r         int32dtypepythonr            	   
               )r   tbFilterscompressr    r!   r"   r#   r   create_vlarray	Int32Atomflavorappendnparray)r   groupr(   vlarrays       r   r   zBasicTestCase.populateFile   sL   *t}%)\%)\(,(,	9 9 9
 +,,UJ24,..3I5<:>	 - @ @
  	1v;'!!NN28IIIW===>>>NN28Bg6667777[H$$NN9%%%NN2|||$$$+++,,,,,r   c                    t          j        | j        d          | _        | j                            d          }|                     |j        | j                   |                     |j        d           |                     |j        d           |                     |j	        d           |                     |j
        j        d           d S )Nr	/vlarray1)r.   r*   r.   r/   )r>   	open_fileh5fnamer   get_nodeassertEqualrC   shapendimnrowsr&   type)r   objs     r   test00_attributeszBasicTestCase.test00_attributes6   s    l4<55k"";//T[111D)))1%%%A&&&00000r   c           	         t           j        r,t          dd           t          d| j        j        z             t          j        | j        d          | _        | j        	                    d          }d|_
        |                    d          d         }|                    d          d         }t           j        rAt          d	|j                   t          d
|j        d|j                   t          d|           d}|                     ||j                   | j        dk    r|                     t!          |          t"          j                   |                     t          j        |t#          j        ddgd          | j                             |                     t          j        |t#          j        g d          | j                             n9| j        dk    r.|                     |ddg           |                     |g            |                     t-          |          d           | j        |j        j        k    rFt           j        r:t          d| j        j                   t          d| j        |j        j                   |                     |j        j        | j                   | j        dk    r>t          j        | j                  r%|                     |j        j        | j                   | j        |j        j        k    rFt           j        r:t          d| j        j                   t          d| j        |j        j                   |                     | j        |j        j                   | j        |j        j        k    rFt           j        r:t          d| j        j                   t          d| j        |j        j                   |                     | j        |j        j                   | j        |j        j        k    rFt           j        r:t          d| j        j                   t          d| j        |j        j                   |                     | j        |j        j                   dS )zChecking vlarray read.
<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01_read...rJ   rK   r   r   r+   Flavor:Nrows in:First row in vlarray ==>r.   r   r*   r/   r0   r2   zError in compress. Class:zself, vlarray:zError in shuffle. Class:zError in fletcher32. Class:N)r   verboseprintr   r   r>   rL   rM   r   rN   
nrowsinbufreadrC   _v_pathnamerR   rO   rS   rE   ndarray
assertTrueallequalrF   lenr@   r(   r   which_lib_versionr    r!   r"   r#   )r   rH   rowrow2rR   s        r   test01_readzBasicTestCase.test01_read@   s    > 	I$	"""-0GGHHH l4<55+&&{33 ll1ooa ||Aq!> 	3)W^,,,*g13FFF,c222...;'!!T#YY
333OOFORXq!fG444dkC C D D DOOFObhr1114;@ @ A A A A[H$$S1a&)))T2&&&S1%%% =GO555&.5-t~/FGGG"DM7?3LMMM2DMBBB=1!5dl!C!CW_4dlCCC<7?222v~2,dn.EFFF"DL'/2IJJJw'>????go888V^8,dn.EFFF"DO/,. . .w'>????go888V^8/1HIII"DO/,. . .'/*DEEEEEr   c                    t           j        r,t          dd           t          d| j        j        z             t          j        | j        d          | _        | j        	                    d          }ddgg dg g d	g d
g}t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          t          ddd          g}|D ]'}||         }||         }g }t           j        rQt          d|j                   t          d|j        d|j                   t          d|           t          d|           | j        dk    r|D ]+}|                    t          j        |d                     ,t#          t%          |                    D ]<}	|                     t          j        ||	         ||	         | j                             =| j        dk    r|                     ||           )dS )z%Checking vlarray __getitem__ (slices)rW   rX   zRunning %s.test02a_getitem...rJ   rK   r*   r+   r,   r3   r8   N   r   r   rY   rZ   r[   Original rows ==>Rows read in vlarray ==>r   r/   r0   r2   )r   r]   r^   r   r   r>   rL   rM   r   rN   slicerC   ra   rR   rD   rE   rF   rangere   rc   rd   rO   )
r   rH   rowsslicesslcrows2rows1rows1fvalis
             r   test02a_getitemzBasicTestCase.test02a_getitemx   s    > 	M$	"""1DN4KKLLL l4<55+&&{33A			2|||5I5I5IJ $d##U1a^^U2tT5J5J!T4  %4"3"3U1dA5F5F$4  %a"3"3U4Q5G5G$a  %dA"6"6dD!8L8L	
  	/ 	/CCLEIEF~ 9i000j'"5sGMJJJ)51110%888{g%%  @ @CMM"(3g">">">????s6{{++ ; ;AOOFOa&)T[%: %: ; ; ; ;; ((  ...%	/ 	/r   c           	      4   t           j        r,t          dd           t          d| j        j        z             | j        dk    rdS t          j        | j        d          | _	        | j	        
                    d          }t          j        |dd         t                    }d	t          j        d
          dt          j        dg          dgfD ]}||         }||         }t           j        rQt          d|j                   t          d|j        d|j                   t          d|           t          d|           t!          t#          |                    D ]<}|                     t          j        ||         ||         | j                             =dS )z&Checking vlarray __getitem__ (scalars)rW   rX   zRunning %s.test02b_getitem...r   NrJ   rK   r0   r   r*   r+   r   r-   rY   rZ   r[   rl   rm   )r   r]   r^   r   r   rC   r>   rL   rM   r   rN   rE   rF   objectra   rR   ro   re   rc   rd   )r   rH   rp   rr   rs   rt   rw   s          r   test02b_getitemzBasicTestCase.test02b_getitem   s    > 	M$	"""1DN4KKLLL;'!!F l4<55+&&{33 x
&111rx{{Arx}}qc: 	6 	6CCLEIE~ 9i000j'"5sGMJJJ)51110%8883u::&& 6 6!HeAh!5 !5 6 6 6 66	6 	6r   c           	      F   t           j        r,t          dd           t          d| j        j        z             t          j        | j        d          | _        | j        	                    d          }|
                    g d           d|_        |d         }|d	         }|d
         }t           j        rAt          d|j                   t          d|j        d|j                   t          d|           d}|                     ||j                   | j        dk    r|                     t!          |          t!          t#          j        dd	g                               |                     t          j        |t#          j        dd	gd          | j                             |                     t          j        |t#          j        g d          | j                             |                     t          j        |t#          j        g dd          | j                             nQ| j        dk    rF|                     |dd	g           |                     |g            |                     |g d           |                     t+          |          d           dS )zChecking vlarray append.rW   rX   zRunning %s.test03_append...arK   )r5   r6   r7   r9   r   r   r+   rY   rZ   r[   r\   r4   r   r*   r/   r0   r2   r-   N)r   r]   r^   r   r   r>   rL   rM   r   rN   rD   r_   rC   ra   rR   rO   rS   rE   rF   rc   rd   re   )r   rH   row1rh   row3rR   s         r   test03_appendzBasicTestCase.test03_append   s    > 	K$	"""/$.2IIJJJ l4<55+&&{33 	}}}%%%  qzqzr{> 	4)W^,,,*g13FFF,d333...;'!!T$ZZbh1v.>.>)?)?@@@OOFObh1vW555t{D D E E EOOFObhr1114;@ @ A A AOOFObh}}}G<<<dkK K L L L L[H$$TAq6***T2&&&T===111TA&&&&&r   c                    t          j        | j        d          | _        | j                            d          }|                     |                    d          d|j        j        z             |                     |                    d          d|j        j        z             |                     |                    d          d|j        j        z             |                     |                    d          d|j        j        z             |                     |                    d          d|j        j        z             d	S )
zChecking get_row_size method.r}   rK   r   r+   r*   r   r-   r.   N)	r>   rL   rM   r   rN   rO   get_row_sizer&   sizer   rH   s     r   test04_get_row_sizez!BasicTestCase.test04_get_row_size   s    l4<55+&&{33--a00!gl6G2GHHH--a00!gl6G2GHHH--a00!gl6G2GHHH--a00!gl6G2GHHH--a00!gl6G2GHHHHHr   )r   r   r	   r@   r    r!   r"   r#   rC   r   r   rU   ri   rx   r{   r   r   __classcell__r   s   @r   r   r      s        HGGJJF    - - -21 1 16F 6F 6Fp%/ %/ %/N6 6 6@(' (' ('T
I 
I 
I 
I 
I 
I 
Ir   r   c                       e Zd ZdZdS )BasicNumPyTestCaser   Nr   r   r	   rC   r   r   r   r   r              FFFr   r   c                       e Zd ZdZdS )BasicPythonTestCaser2   Nr   r   r   r   r   r              FFFr   r   c                       e Zd ZdZdZdS )ZlibComprTestCaser*   r   Nr   r   r	   r@   r    r   r   r   r   r      s        HGGGr   r   z'BLOSC compression library not availablec                       e Zd ZdZdZdZdS )BloscComprTestCaser7   r   bloscNr   r   r	   r@   r!   r    r   r   r   r   r              HGGGGr   r   c                       e Zd ZdZdZdZdS )BloscShuffleComprTestCaser4   r*   r   Nr   r   r   r   r   r     r   r   r   c                       e Zd ZdZdZdZdS )BloscBitShuffleComprTestCaser7   r*   r   N)r   r   r	   r@   r"   r    r   r   r   r   r     s         HJGGGr   r   c                       e Zd ZdZdZdZdS )BloscBloscLZComprTestCaser7   r*   zblosc:blosclzNr   r   r   r   r   r     s         HGGGGr   r   lz4zlz4 requiredc                       e Zd ZdZdZdZdS )BloscLZ4ComprTestCaser7   r*   z	blosc:lz4Nr   r   r   r   r   r   #  s        
 HGGGGr   r   c                       e Zd ZdZdZdZdS )BloscLZ4HCComprTestCaser7   r*   zblosc:lz4hcNr   r   r   r   r   r   -  s        
 HGGGGr   r   snappyzsnappy requiredc                       e Zd ZdZdZdZdS )BloscSnappyComprTestCaser7   r*   zblosc:snappyNr   r   r   r   r   r   7  s        
 HGGGGr   r   r   zzlib requiredc                       e Zd ZdZdZdZdS )BloscZlibComprTestCaser7   r*   z
blosc:zlibNr   r   r   r   r   r   A          
 HGGGGr   r   zstdzzstd requiredc                       e Zd ZdZdZdZdS )BloscZstdComprTestCaser7   r*   z
blosc:zstdNr   r   r   r   r   r   K  r   r   r   z%LZO compression library not availablec                       e Zd ZdZdZdS )LZOComprTestCaser*   lzoNr   r   r   r   r   r   U  s         HGGGr   r   z'BZIP2 compression library not availablec                       e Zd ZdZdZdS )Bzip2ComprTestCaser*   bzip2Nr   r   r   r   r   r   \  s         HGGGr   r   c                       e Zd ZdZdZdS )ShuffleComprTestCaser*   N)r   r   r	   r@   r!   r   r   r   r   r   c  s        HGGGr   r   c                       e Zd ZdZdZdZd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Z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 S )!TypesTestCasewr   r   c                    t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j        d          d	          }d
|_	        |
                    t          j        g d                     |
                    t          j        ddg                     | j        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           t          j                            |d         t          j        g dd                     t          j                            |d         t          j        ddgd                     |                     t-          |d                   d           |                     t-          |d                   d           dS )z9Checking vlarray with NumPy string atoms ('numpy' flavor)rW   rX   Running %s.test01_StringAtom.../
stringAtomr   itemsizeRagged array of stringsr&   r'   r   112123123412345r   r   Object read:rZ   r[   r\   r   r+   )r   r   r   r   r   Sr*   r   r.   Nr   r]   r^   r   r   r   rA   r>   
StringAtomrC   rD   rE   rF   reopenra   _reopenrN   r`   rR   rO   testingassert_array_equalre   r   rH   namerg   s       r   test01_StringAtomzTypesTestCase.test01_StringAtomm  s    > 	O$	"""3dn6MMNNN+,,S,24-2K2K2K3L - N N !rx C C CDDEEErxg//000; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***

%%FBH===sCC	E 	E 	E

%%c!fbhU|S.I.IJJJSVa(((SVa(((((r   c                    t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j        d          d	          }d
|_	        |
                    t          j        g dddd                              |
                    t          j        g d          ddd                    | j        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           t          j                            |d         t          j        g dd                     t          j                            |d         t          j        ddgd                     |                     t-          |d                   d           |                     t-          |d                   d           dS )zJChecking vlarray with NumPy string atoms ('numpy' flavor,
        strided)rW   rX   z Running %s.test01a_StringAtom...r   r   r   r   r   r   r   r   Nr+   )r   r   2321r   rZ   r[   r\   r   )r   r   r   r   r*   r   r   r   r   s       r   test01a_StringAtomz TypesTestCase.test01a_StringAtom  s     > 	P$	"""4t~7NNOOO+,,S,24-2K2K2K3L - N N !rx C C CCCaC HIIJJJrx : : :;;CCaC@AAA; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***

%%c!f&(h/B/B/BC&H&H	J 	J 	J

%%c!fbhU|S.I.IJJJSVa(((SVa(((((r   c                    t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j        d          d	          }d
|_	        |
                    t          j        g d                     |
                    t          j        g d                     | j        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           t          j                            |d         t          j        g dd                     t          j                            |d         t          j        g dd                     |                     t-          |d                   d           |                     t-          |d                   d           dS )z@Checking vlarray with NumPy string atoms (NumPy flavor, no conv)rW   rX   z"Running %s.test01a_2_StringAtom...r   r   r   r   r   r   r   )r   r   r   r   )r   r   r   r   rZ   r[   r\   r   r+   r   r*   r-   Nr   r   s       r   test01a_2_StringAtomz"TypesTestCase.test01a_2_StringAtom  s    > 	+$	"""6.)* + + + +,,S,24-2K2K2K3L - N N !rx 9 9 9::;;;rx 1 1 122333; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***

%%FBH666<<	> 	> 	>

%%c!fbh7H7H7H#.N.NOOOSVa(((SVa(((((r   c                    t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j        d          d	          }d
|_	        |
                    g d           |
                    ddg           | j        r5|j        }|                                  | j                            |          }|                                }t           j        rQt          d           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     |d         g d           |                     |d         ddg           |                     t%          |d                   d           |                     t%          |d                   d           dS )z8Checking vlarray with NumPy string atoms (python flavor)rW   rX    Running %s.test01b_StringAtom...r   stringAtom2r   r   r   r   r2   r   r   r   Testing String flavorr   rZ   r[   r\   r   r+   )   1   12   123r   r   r*   r   r   r.   Nr   r]   r^   r   r   r   rA   r>   r   rC   rD   r   ra   r   rN   r`   rR   rO   re   r   s       r   test01b_StringAtomz TypesTestCase.test01b_StringAtom  s    > 	P$	"""4t~7NNOOO+,,S-24-2K2K2K3L - N N ":::;;;W~&&&; 	1&DLLNNNk**400G llnn> 	6)***.#&&&*g13FFF,c!f555***Q!F!F!FGGGQ$000SVa(((SVa(((((r   c           	         t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j        d          d	          }d
|_	        |
                    t          j        g d                     |
                    t          j        ddg                     t          j        g d          |d<   t          j        ddg          |d<   | j        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t          j        g d                               |                     t          j        |d         t          j        ddgd                               |                     t-          |d                   d           |                     t-          |d                   d           dS )zJChecking updating vlarray with NumPy string atoms
        ('numpy' flavor)rW   rX    Running %s.test01c_StringAtom...r   r   r   r   r   r   r   r   r   r   r   r   r    r   r   444r*   r   rZ   r[   r\   r+   r   r   r   r   r   S3r0   r.   N)r   r]   r^   r   r   r   rA   r>   r   rC   rD   rE   rF   r   ra   r   rN   r`   rR   rO   rc   rd   re   r   s       r   test01c_StringAtomz TypesTestCase.test01c_StringAtom  sX    > 	P$	"""4t~7NNOOO+,,S,24-2K2K2K3L - N N !rx C C CDDEEErxg//000 X===>>
XtSk**
; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***FBH???@@B B 	C 	C 	CFBHdC[5557 7 	8 	8 	8SVa(((SVa(((((r   c                 
   t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j        d          d	          }d
|_	        |
                    g d           |
                    ddg           g d|d<   ddg|d<   | j        r5|j        }|                                  | j                            |          }|                                }t           j        rQt          d           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     |d         g d           |                     |d         ddg           |                     t%          |d                   d           |                     t%          |d                   d           dS )z;Checking updating vlarray with string atoms (String flavor)rW   rX    Running %s.test01d_StringAtom...r   r   r   r   r   r   r2   r   r   r   r   r   r   r   r*   r   r   rZ   r[   r\   r+   r   s   44   4r.   Nr   r   s       r   test01d_StringAtomz TypesTestCase.test01d_StringAtom  s    > 	P$	"""4t~7NNOOO+,,S-24-2K2K2K3L - N N ":::;;;W~&&& 544
C[
; 	1&DLLNNNk**400G llnn> 	6)***.#&&&*g13FFF,c!f555***Q!C!C!CDDDQ%///SVa(((SVa(((((r   c           	      V   t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j                    d          }|	                    g d           |	                    d	d
g           | j
        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d
                    |                     |j        d           |                     t          j        |d
         t'          j        g dd                               |                     t          j        |d	         t'          j        d	d
gd                               |                     t+          |d
                   d           |                     t+          |d	                   d           dS )z$Checking vlarray with boolean atoms.rW   rX   Running %s.test02_BoolAtom...r   BoolAtomRagged array of Booleansr   r*   r   r   r*   r   r   rZ   r[   r\   r+   r*   r   r*   boolr0   r   Nr   r]   r^   r   r   r   rA   r>   r   rD   r   ra   r   rN   r`   rR   rO   rc   rd   rE   rF   re   r   s       r   test02_BoolAtomzTypesTestCase.test02_BoolAtom?  s    > 	M$	"""1DN4KKLLL+,,S*24+--3M - O O 	yyy!!!1v; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***FBHYYYf5557 7 	8 	8 	8FBHaV62224 4 	5 	5 	5SVa(((SVa(((((r   c           	      j   t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j                    d          }|	                    g d           |	                    d	d
g           d|d
<   d|d	<   | j
        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d
                    |                     |j        d           |                     t          j        |d
         t'          j        g dd                               |                     t          j        |d	         t'          j        d
d	gd                               |                     t+          |d
                   d           |                     t+          |d	                   d           dS )z,Checking setting vlarray with boolean atoms.rW   rX   Running %s.test02b_BoolAtom...r   r   r   r   r   r*   r   )r   r*   r   r   r*   r   rZ   r[   r\   r+   )r   r*   r*   r   r0   r   Nr   r   s       r   test02b_BoolAtomzTypesTestCase.test02b_BoolAtom`  s    > 	N$	"""2T^5LLMMM+,,S*24+--3M - O O 	yyy!!!1v 

; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***FBHYYYf5557 7 	8 	8 	8FBHaV62224 4 	5 	5 	5SVa(((SVa(((((r   c           
         g d}t           j        r,t          dd           t          d| j        j        z             |D ]}| j                            d|t          j        	                    |                    }|
                    g d           |
                    dd	g           | j        r7|j        }|                     d
           | j                            |          }|                                }t           j        rRt          d|           t          d|           t          d|j        d|j                   t          d|d	                    |                     |j        d           |                     t          j        |d	         t)          j        g d|                               |                     t          j        |d         t)          j        dd	g|                               |                     t-          |d	                   d           |                     t-          |d                   d           dS )z$Checking vlarray with integer atoms.int8uint8int16uint16r/   uint32int64rW   rX   Running %s.test03_IntAtom...r   r&   r*   r+   r   r*   r   r}   modeTesting type:r   rZ   r[   r\   r+   r0   r   Nr   r]   r^   r   r   r   rA   r>   Atomfrom_sctyperD   r   ra   r   rN   r`   rR   rO   rc   rd   rE   rF   re   r   ttypesatyperH   r   rg   s         r   test03_IntAtomzTypesTestCase.test03_IntAtom  s<   	
 	
 	
 > 	L$	"""04>3JJKKK 	- 	-Ek00U!4!4U!;!; 1 = =GNN999%%%NNAq6"""{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOA%(H(H(HIIK K KOOA!Qu(E(E(EFFH H HSQ[[!,,,SQ[[!,,,,3	- 	-r   c                 Z   t           j        t           j        t           j        t           j        t           j        t           j        t           j        d}t          j	        r,t          dd           t          d| j        j        z             |D ]}| j                            d|t          j                            ||                             }t          j        g d|          }|                                }|                                }|                    |           t          j        d	d
g|          }|                                }|                                }|                    |           | j        r7|j        }|                     d           | j                            |          }|                                }t          j	        rRt          d|           t          d|           t          d|j        d|j                   t          d|d
                    |                     |j        d           |                     t          j        |d
         t          j        g d||                                        |                     t          j        |d	         t          j        d	d
g||                                        |                     t?          |d
                   d           |                     t?          |d	                   d           dS )z7Checking vlarray with integer atoms (byteorder swapped)r   rW   rX   zRunning %s.test03a_IntAtom...r   r  r  r0   r*   r   r}   r  r  r   rZ   r[   r\   r+   r   N) rE   r   r   r   r   r/   r   r   r   r]   r^   r   r   r   rA   r>   r  r	  rF   byteswapnewbyteorderrD   r   ra   r   rN   r`   rR   rO   rc   rd   re   r   r  r  rH   a0a1r   rg   s           r   test03a_IntAtomzTypesTestCase.test03a_IntAtom  s    GXXiXiX	
 	
 > 	M$	"""1DN4KKLLL 	- 	-Ek00U!4!4VE]!C!C 1 E EG)))5111BB""BNN21a&...BB""BNN2{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOFOA&-@@@B B C C COOFOA!Qve}===? ? @ @ @SQ[[!,,,SQ[[!,,,,?	- 	-r   c           
         g d}t           j        r,t          dd           t          d| j        j        z             |D ]}| j                            d|t          j        	                    |                    }|
                    g d           |
                    dd	g           d
|d	<   d|d<   | j        r7|j        }|                     d           | j                            |          }|                                }t           j        rRt          d|           t          d|           t          d|j        d|j                   t          d|d	                    |                     |j        d           |                     t          j        |d	         t)          j        g d
|                               |                     t          j        |d         t)          j        d	dg|                               |                     t-          |d	                   d           |                     t-          |d                   d           dS )z-Checking updating vlarray with integer atoms.r   rW   rX   r  r   r  r  r*   r   r   r+   r*   r   r}   r  r  r   rZ   r[   r\   r+   r0   r   Nr  r
  s         r   test03b_IntAtomzTypesTestCase.test03b_IntAtom  sP   	
 	
 	
 > 	L$	"""04>3JJKKK 	- 	-Ek00U!4!4U!;!; 1 = =GNN999%%%NNAq6""" #GAJGAJ{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOA%(H(H(HIIK K KOOA!Qu(E(E(EFFH H HSQ[[!,,,SQ[[!,,,,;	- 	-r   c                    t           j        t           j        t           j        t           j        t           j        t           j        t           j        d}t          j	        r,t          dd           t          d| j        j        z             |D ]}| j                            d|t          j                            ||                             }t          j        g d|          }|                    |           t          j        d	d
g|          }|                    |           t          j        g d|          }|                                }|                                }||d
<   t          j        d
d	g|          }|                                }|                                }||d	<   | j        r7|j        }|                     d           | j                            |          }|                                }t          j	        rRt          d|           t          d|           t          d|j        d|j                   t          d|d
                    |                     |j        d           |                     t          j        |d
         t          j        g d||                                        |                     t          j        |d	         t          j        d
d	g||                                        |                     t?          |d
                   d           |                     t?          |d	                   d           dS )z@Checking updating vlarray with integer atoms (byteorder swapped)r   rW   rX   zRunning %s.test03c_IntAtom...r   r  r  r0   r*   r   r  r}   r  r  r   rZ   r[   r\   r+   r   N) rE   r   r   r   r   r/   r   r   r   r]   r^   r   r   r   rA   r>   r  r	  rF   rD   r  r  r   ra   r   rN   r`   rR   rO   rc   rd   re   r  s           r   test03c_IntAtomzTypesTestCase.test03c_IntAtom  s    GXXiXiX	
 	
 > 	M$	"""1DN4KKLLL %	- %	-Ek00U!4!4VE]!C!C 1 E EG)))5111BNN21a&...BNN2 )))5111BB""BGAJ1a&...BB""BGAJ{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOFOA&-@@@B B C C COOFOA!Qve}===? ? @ @ @SQ[[!,,,SQ[[!,,,,K%	- %	-r   c                    t           j        t           j        t           j        t           j        t           j        t           j        t           j        d}t          j	        r,t          dd           t          d| j        j        z             dddt          j                 }|D ]f}| j                            d|t"          j                            ||                   |	          }t          j        g d
|          }|                    |           t          j        ddg|          }|                    |           t          j        g d|          }|                                }|                                }||d<   t          j        ddg|          }|                                }|                                }||d<   | j        r7|j        }|                     d           | j                            |          }|                                }t          j	        rRt          d|           t          d|           t          d|j        d|j                   t          d|d                    t"          j        j        |d         j         j                 }	|	dk    r`| !                    t"          j        j        |d         j         j                 t          j                   | !                    |j        |           | !                    |j        d           | "                    t          j#        |d         t          j        g d||                                        | "                    t          j#        |d         t          j        ddg||                                        | !                    tI          |d                   d           | !                    tI          |d                   d           hdS )z@Checking updating vlarray with integer atoms (another byteorder)r   rW   rX   zRunning %s.test03d_IntAtom...biglittler  r  r   r&   	byteorderr  r0   r*   r   r  r}   r  r  r   rZ   r[   r\   
irrelevantr+   r   N)%rE   r   r   r   r   r/   r   r   r   r]   r^   r   r   sysr  r   rA   r>   r  r	  rF   rD   r  r  r   ra   r   rN   r`   rR   utils
byteordersr1   rO   rc   rd   re   )
r   r  r  r  rH   r  r  r   rg   
byteorder2s
             r   test03d_IntAtomzTypesTestCase.test03d_IntAtomK  s    GXXiXiX	
 	
 > 	M$	"""1DN4KKLLL$X66s}E	 +	- +	-Ek00U!4!4VE]!C!C# 1 % %G )))5111BNN21a&...BNN2 )))5111BB""BGAJ1a&...BB""BGAJ{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999,SV\-CDJ\))  !4SV\5K!L!$0 0 0  !2I>>>W]A...OOFOA&-@@@B B C C COOFOA!Qve}===? ? @ @ @SQ[[!,,,SQ[[!,,,,W+	- +	-r   c           
      .   ddg}dD ]C}|                                 dz   }t          t          |          r|                    |           Dt          j        r,t          dd           t          d| j        j        z             |D ]}| j	        
                    d|t          j                            |          	          }|                    g d
           |                    ddg           | j        r7|j        }|                     d           | j	                            |          }|                                }t          j        rRt          d|           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t	          j        |d         t-          j        g d
|                               |                     t	          j        |d         t-          j        ddg|                               |                     t1          |d                   d           |                     t1          |d                   d           dS )z+Checking vlarray with floating point atoms.float32float64float16float96float128r  rW   rX   Running %s.test04_FloatAtom...r   r  ?皙@gffffff
@ףp=
@v?r}   r  r  r   rZ   r[   r\   r   r+   r*   r   N
capitalizehasattrr>   rD   r   r]   r^   r   r   r   rA   r  r	  r   ra   r   rN   r`   rR   rO   rc   rd   rE   rF   re   r   r  r   atomnamer  rH   rg   s          r   test04_FloatAtomzTypesTestCase.test04_FloatAtom  s~    
 7 	$ 	$D((61Hr8$$ $d###> 	N$	"""2T^5LLMMM 	- 	-Ek00U!4!4U!;!; 1 = =GNN???+++NND$<((({ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOFOA%88: : ; ; ;OOFOA$u557 7 8 8 8SQ[[!,,,SQ[[!,,,,3	- 	-r   c                    t           j        t           j        d}t          t          d          rt           j        |d<   t          t          d          rt           j        |d<   t          t          d          rt           j        |d<   t          j	        r,t          dd	           t          d
| j        j        z             |D ]}| j                            d|t          j                            ||                             }t          j        g d|          }|                                }|                                }|                    |           t          j        ddg|          }|                                }|                                }|                    |           | j        r7|j        }|                     d           | j                            |          }|                                }t          j	        rRt          d|           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t          j        g d||                                        |                     t          j        |d         t          j        ddg||                                        |                     t=          |d                   d           |                     t=          |d                   d           dS )z5Checking vlarray with float atoms (byteorder swapped)r'  r(  Float16Atomr*  Float96Atomr+  Float128Atomr,  rW   rX   zRunning %s.test04a_FloatAtom...r   r  r.  r0   r1  r2  r}   r  r  r   rZ   r[   r\   r   r+   r*   r   N)rE   r'  r(  r5  r>   r*  r+  r,  r   r]   r^   r   r   r   rA   r  r	  rF   r  r  rD   r   ra   r   rN   r`   rR   rO   rc   rd   re   r  s           r   test04a_FloatAtomzTypesTestCase.test04a_FloatAtom  s    zz
 
 2}%% 	+ "
F92}%% 	+ "
F92~&& 	-!#F:> 	O$	"""3dn6MMNNN 	- 	-Ek00U!4!4VE]!C!C 1 E EG///777BB""BNN24,e444BB""BNN2{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOFOAuFFFH H I I IOOFOA$VE]CCCE E F F FSQ[[!,,,SQ[[!,,,,?	- 	-r   c           
      B   ddg}dD ]C}|                                 dz   }t          t          |          r|                    |           Dt          j        r,t          dd           t          d| j        j        z             |D ]}| j	        
                    d|t          j                            |          	          }|                    g d
           |                    ddg           d|d<   d|d<   | j        r7|j        }|                     d           | j	                            |          }|                                }t          j        rRt          d|           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t	          j        |d         t-          j        g d|                               |                     t	          j        |d         t-          j        ddg|                               |                     t1          |d                   d           |                     t1          |d                   d           dS )z4Checking updating vlarray with floating point atoms.r'  r(  r)  r  rW   rX   zRunning %s.test04b_FloatAtom...r   r  r.  r1  r2  333333@r0  rA  r   )+?/nR?r*   r}   r  r  r   rZ   r[   r\   r+   rB  rC  r   Nr3  r6  s          r   test04b_FloatAtomzTypesTestCase.test04b_FloatAtom  s    
 7 	$ 	$D((61Hr8$$ $d###> 	O$	"""3dn6MMNNN 	- 	-Ek00U!4!4U!;!; 1 = =GNN???+++NND$<((( )GAJ(GAJ{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOFOA%88: : ; ; ;OOA%%(H(HIIK K KSQ[[!,,,SQ[[!,,,,;	- 	-r   c                 8   t           j        t           j        d}t          t          d          rt           j        |d<   t          t          d          rt           j        |d<   t          t          d          rt           j        |d<   t          j	        r,t          dd	           t          d
| j        j        z             |D ]}| j                            d|t          j                            ||                             }t          j        g d|          }|                    |           t          j        ddg|          }|                    |           t          j        g d|          }|                                }|                                }||d<   t          j        ddg|          }|                                }|                                }||d<   | j        r7|j        }|                     d           | j                            |          }|                                }t          j	        rRt          d|           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t          j        g d||                                        |                     t          j        |d         t          j        ddg||                                        |                     t=          |d                   d           |                     t=          |d                   d           dS )z>Checking updating vlarray with float atoms (byteorder swapped)r:  r;  r*  r<  r+  r=  r,  rW   rX   zRunning %s.test04c_FloatAtom...r   r  r.  r0   r*   r   r@  rB  rC  r}   r  r  r   rZ   r[   r\   r+   r   N)rE   r'  r(  r5  r>   r*  r+  r,  r   r]   r^   r   r   r   rA   r  r	  rF   rD   r  r  r   ra   r   rN   r`   rR   rO   rc   rd   re   r  s           r   test04c_FloatAtomzTypesTestCase.test04c_FloatAtom  s\    zz
 
 2}%% 	+ "
F92}%% 	+ "
F92~&& 	-!#F:> 	O$	"""3dn6MMNNN %	- %	-Ek00U!4!4VE]!C!C 1 E EG///777BNN21a&...BNN2 ///777BB""BGAJ5&/777BB""BGAJ{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOFOAuFFFH H I I IOOFOA%uFFFH H I I ISQ[[!,,,SQ[[!,,,,K%	- %	-r   c                 $   t           j        t           j        d}t          t          d          rt           j        |d<   t          t          d          rt           j        |d<   t          t          d          rt           j        |d<   t          j	        r,t          dd	           t          d
| j        j        z             dddt          j                 }|D ]9}| j                            d|t          j                            ||                   |          }t          j        g d|          }|                    |           t          j        ddg|          }|                    |           t          j        g d|          }|                                }|                                }||d<   t          j        ddg|          }|                                }|                                }||d<   | j        r7|j        }|                     d           | j                            |          }|                                }t          j	        rRt          d|           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        |           |                     t          j        j        |d         j         j                 t          j                   |                     |j        d           | !                    t          j"        |d         t          j        g d||                                        | !                    t          j"        |d         t          j        ddg||                                        |                     tG          |d                   d           |                     tG          |d                   d           ;d S )!z>Checking updating vlarray with float atoms (another byteorder)r:  r;  r*  r<  r+  r=  r,  rW   rX   zRunning %s.test04d_FloatAtom...r  r  r  r   r  r.  r0   r*   r   r@  rB  rC  r}   r  r  r   rZ   r[   r\   r+   r   N)$rE   r'  r(  r5  r>   r*  r+  r,  r   r]   r^   r   r   r!  r  r   rA   r  r	  rF   rD   r  r  r   ra   r   rN   r`   rR   rO   r"  r#  r1   rc   rd   re   )	r   r  r  r  rH   r  r  r   rg   s	            r   test04d_FloatAtomzTypesTestCase.test04d_FloatAtomP  s    zz
 
 2}%% 	+ "
F92}%% 	+ "
F92~&& 	-!#F:> 	O$	"""3dn6MMNNN$X66s}E	 )	- )	-Ek00U!4!4VE]!C!C# 1 % %G ///777BNN21a&...BNN2 ///777BB""BGAJ5&/777BB""BGAJ{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W.	:::RX0Q1GH ], , ,W]A...OOFOAuFFFH H I I IOOFOA%uFFFH H I I ISQ[[!,,,SQ[[!,,,,S)	- )	-r   c           
      J   ddg}t          t          d          r|                    d           t          t          d          r|                    d           t          j        r,t          dd           t          d	| j        j        z             |D ]}| j        	                    d
|t          j
                            |                    }|                    g d           |                    ddg           | j        r7|j        }|                     d           | j                            |          }|                                }t          j        rRt          d|           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t+          j        g d|                               |                     t          j        |d         t+          j        ddg|                               |                     t/          |d                   d           |                     t/          |d                   d           dS )z.Checking vlarray with numerical complex atoms.	complex64
complex128Complex192Atom
complex192Complex256Atom
complex256rW   rX   z Running %s.test04_ComplexAtom...r   r  y?        y        @yffffff
@ffffff
@        ףp=
v?        r}   r  r  r   rZ   r[   r\   r   r+   r*   r   Nr5  r>   rD   r   r]   r^   r   r   r   rA   r  r	  r   ra   r   rN   r`   rR   rO   rc   rd   rE   rF   re   r
  s         r   test04_ComplexAtomz TypesTestCase.test04_ComplexAtom  s    

 2'(( 	(MM,'''2'(( 	(MM,'''> 	P$	"""4t~7NNOOO 	- 	-Ek00U!4!4U!;!; 1 = =GNN===>>>NNW	3444{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOFOA!C!C!CUKKM M N N NOOFOA7i!95AAC C D D DSQ[[!,,,SQ[[!,,,,3	- 	-r   c           
      ^   ddg}t          t          d          r|                    d           t          t          d          r|                    d           t          j        r,t          dd           t          d	| j        j        z             |D ]}| j        	                    d
|t          j
                            |                    }|                    g d           |                    ddg           d|d<   d|d<   | j        r7|j        }|                     d           | j                            |          }|                                }t          j        rRt          d|           t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t+          j        g d|                               |                     t          j        |d         t+          j        ddg|                               |                     t/          |d                   d           |                     t/          |d                   d           dS )z8Checking modifying vlarray with numerical complex atoms.rJ  rK  rL  rM  rN  rO  rW   rX   z!Running %s.test04b_ComplexAtom...r   r  rP  rQ  rR  )yffffff?        y        @yffffff
@333333@r   )      @ףp=
v?      @r*   r}   r  r  r   rZ   r[   r\   r+   rV  rW  r   NrS  r
  s         r   test04b_ComplexAtomz!TypesTestCase.test04b_ComplexAtom  s    

 2'(( 	(MM,'''2'(( 	(MM,'''> 	+$	"""5.)* + + +  	- 	-Ek00U!4!4U!;!; 1 = =GNN===>>>NNW	3444 <GAJ1GAJ{ 5*#&&&+..t44 ,,..C~ :ou---nc***j'"5sGMJJJ0#a&999W]A...OOFOA!C!C!CUKKM M N N NOOFOA7i!95AAC C D D DSQ[[!,,,SQ[[!,,,,;	- 	-r   c                    t          j                    dk    rdS t          j        r,t	          dd           t	          d| j        j        z             | j                            ddt          j
                              }|                    d	           |                    d
           |                    d           |                    d           |                     t          |j        ddg           |                     t          |j        d           | j        r5|j        }|                                  | j                            |          }|                                }t          j        rBt	          d|           t	          d|j        d|j                   t	          d|d                    |                     |j        d           |                     |d         d	           |                     |d         d
           |                     |d         d           |                     |d         d           |                     t-          |d                   d           |                     t-          |d                   d           |                     t-          |d                   d           |                     t-          |d                   d           dS )z.Checking vlarray with variable length strings.asciiNrW   rX   z!Running %s.test05_VLStringAtom...r   VLStringAtomr     asds   asd   aaanar   s   foos   bar   asdär   rZ   r[   r\   r   r-   r*   r+   r   r.   )r!  getdefaultencodingr   r]   r^   r   r   r   rA   r>   r[  rD   assertRaises	TypeErrorUnicodeEncodeErrorr   ra   r   rN   r`   rR   rO   re   r   s       r   test05_VLStringAtomz!TypesTestCase.test05_VLStringAtom  s    !##w..F> 	+$	"""5.)* + + + +,,bo&7&7 - 9 9vz"""x   s)W^ff5EFFF,gniHHH; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***Q(((Q,,,Q***Q%%%SVa(((SVa(((SVa(((SVa(((((r   c                    t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j                              }|	                    d           |	                    d           d	|d
<   d|d<   | 
                    t          |j        dd           | 
                    t          |j        dd           | j        r5|j        }|                                  | j                            |          }|                                }t           j        rrt          d|           t          d|j        d|j                   t          dt'          |d
                              t          dt'          |d                              |                     |j        d           |                     |d
         d	           |                     |d         d           |                     t+          |d
                   d           |                     t+          |d                   d           dS )z7Checking updating vlarray with variable length strings.rW   rX   z"Running %s.test05b_VLStringAtom...r   r[  r  r\  r]  s   as4r   s   aaancr*   s   shrts   toolongr   rZ   r[   r\   Second row in vlarray ==>r+   r   r.   N)r   r]   r^   r   r   r   rA   r>   r[  rD   r`  
ValueError__setitem__r   ra   r   rN   r`   rR   reprrO   re   r   s       r   test05b_VLStringAtomz"TypesTestCase.test05b_VLStringAtom  s    > 	+$	"""6.)* + + + +,,bo&7&7 - 9 9vx    

*g&91gFFF*g&91jIII; 	1&DLLNNNk**400G llnn> 	=.#&&&*g13FFF,d3q6ll;;;-tCF||<<<***Q(((Q***SVa(((SVa(((((r   c                 0   t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j                              }|	                    g ddd	g           |	                    d
dt                      g           |	                    d           | j        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d
           |                     |d         g ddd	g           t%          |d                   }|                                }|                     |d
dg           |                     |j        t                      j                   |                     |d         d           |                     t+          |d                   d
           |                     t+          |d                   d
           |                     t.          t*          |d                    dS )z#Checking vlarray with object atoms.rW   rX   zRunning %s.test06a_Object...r   Objectr  r  aaau   aaaï¿½ï¿½ï¿½r   r-   *   r   rZ   r[   r\   r   r*   r+   N)r   r]   r^   r   r   r   rA   r>   
ObjectAtomrD   r   r   ra   r   rN   r`   rR   rO   listpopr
   re   r`  ra  r   rH   r   rg   list1rT   s         r   test06a_ObjectzTypesTestCase.test06a_Object>  s]    > 	L$	"""04>3JJKKK+,, - 1 1YYHI	K 	K 	K1acc{###r; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***FYYHI	K 	K 	K SViikkA'''&&&Q$$$SVa(((SVa((()S#a&11111r   c                 f   t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j                              }|	                    g ddd	f           |	                    d
ddgg           g dddf|d<   dddgg|d<   | j
        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     |d         g dddf           t#          |d                   }|                                }|                     |ddg           |                     |dg           |                     t'          |d                   d
           |                     t'          |d                   d
           dS )z,Checking updating vlarray with object atoms.rW   rX   zRunning %s.test06b_Object...r   rk  r  r  rl  u   ï¿½ï¿½4r   r-      )r*   r+   r-   aa4u   ï¿½ï¿½5r   r*   r   rZ   r[   r\   r+   N)r   r]   r^   r   r   r   rA   r>   rn  rD   r   ra   r   rN   r`   rR   rO   ro  rp  re   rq  s         r   test06b_ObjectzTypesTestCase.test06b_Objecte  s.    > 	L$	"""04>3JJKKK+,,S(24-// - C C 				5*EFGGG1rd|$$$  ii(CD
RD\
; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***Q#))U,GH	J 	J 	JSViikkA''' 	rd###SVa(((SVa(((((r   c           
         t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j                              }|	                    t          j        ddgd	d
ggd                     |	                    t          j        g dd                     |	                    t          j        dd                     | j        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d	                    |                     |j        d           |                     t          j        |d	         t          j        ddgd	d
ggd                               |                     t          j        |d         t          j        g dd                               |                     t          j        |d         t          j        dd                               dS )z;Checking vlarray with object atoms (numpy arrays as values)rW   rX   zRunning %s.test06c_Object...r   rk  r  r*   r+   r   r-   i4r   r*   r+   r   i8rm  i1r   rZ   r[   r\   r   Nr   r]   r^   r   r   r   rA   r>   rn  rD   rE   rF   r   ra   r   rN   r`   rR   rO   rc   rd   r   s       r   test06c_ObjectzTypesTestCase.test06c_Object  s    > 	L$	"""04>3JJKKK+,,S(24-// - C Crx!Q!Q 0$77888rxd33444rxD))***; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***FBHq!fq!f-t446 6 	7 	7 	7At0L0LMMNNNAT0B0BCCDDDDDr   c           
      z   t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j                              }|	                    t          j        ddgd	d
ggd                     |	                    t          j        g dd                     |	                    t          j        dd                     t          j        dd	gd	d
ggd          |d	<   t          j        g dd          |d<   t          j        dd          |d<   | j        r5|j        }|                                  | j                            |          }|                                }t           j        rBt          d|           t          d|j        d|j                   t          d|d	                    |                     |j        d           |                     t          j        |d	         t          j        dd	gd	d
ggd                               |                     t          j        |d         t          j        g dd                               |                     t          j        |d         t          j        dd                               dS )z:Checking updating vlarray with object atoms (numpy arrays)rW   rX   zRunning %s.test06d_Object...r   rk  r  r*   r+   r   r-   ry  rz  r{  rm  r|  )r   r*   r   r      r   rZ   r[   r\   r   Nr}  r   s       r   test06d_ObjectzTypesTestCase.test06d_Object  sz    > 	L$	"""04>3JJKKK+,,S(24-// - C Crx!Q!Q 0$77888rxd33444rxD))***
 X1v1v.55
XlllD11
Xb$''
; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***FBHq!fq!f-t446 6 	7 	7 	7FBH\\\4002 2 	3 	3 	3AT0B0BCCDDDDDr   c                    t          j                    dk    rdS t          j        r,t	          dd           t	          d| j        j        z             | j                            ddt          j
                              }|                    d	           |                    d
           |                    d           |                    d           |                     t          |j        ddg           |                     t          |j        d           | j        r5|j        }|                                  | j                            |          }|                                }t          j        rBt	          d|           t	          d|j        d|j                   t	          d|d                    |                     |j        d           |                     |d         d	           |                     |d         d
           |                     |d         d           |                     |d         d           |                     t-          |d                   d           |                     t-          |d                   d           |                     t-          |d                   d           |                     t-          |d                   d           dS )z6Checking vlarray with variable length Unicode strings.rZ  NrW   rX   z"Running %s.test07_VLUnicodeAtom...r   VLUnicodeAtomr  asdu   asdŀaaanar   foobarr^  r   rZ   r[   r\   r   r-   r*   r+   r   r.   )r!  r_  r   r]   r^   r   r   r   rA   r>   r  rD   r`  ra  UnicodeDecodeErrorr   ra   r   rN   r`   rR   rO   re   r   s       r   test07_VLUnicodeAtomz"TypesTestCase.test07_VLUnicodeAtom  s    !##w..F> 	+$	"""6.)* + + + +,,r'7'9'9 - ; ;u{###wr)W^eU^DDD,gniHHH; 	1&DLLNNNk**400G llnn> 	6.#&&&*g13FFF,c!f555***Q'''Q---Q)))Q$$$SVa(((SVa(((SVa(((SVa(((((r   c                    t           j        r,t          dd           t          d| j        j        z             | j                            ddt          j                              }|	                    d           |	                    d           d	|d
<   d|d<   | 
                    t          |j        dd           | 
                    t          |j        dd           | j        r5|j        }|                                  | j                            |          }|                                }t           j        rrt          d|           t          d|j        d|j                   t          dt'          |d
                              t          dt'          |d                              |                     |j        d           |                     |d
         d	           |                     |d         d           |                     t+          |d
                   d           |                     t+          |d                   d           dS )z?Checking updating vlarray with variable length Unicode strings.rW   rX   z#Running %s.test07b_VLUnicodeAtom...r   r  r  r  u   aaanäu   asär   u   aaanŀr*   shrttoolongr   rZ   r[   r\   re  r+   r   r.   N)r   r]   r^   r   r   r   rA   r>   r  rD   r`  rf  rg  r   ra   r   rN   r`   rR   rh  rO   re   r   s       r   test07b_VLUnicodeAtomz#TypesTestCase.test07b_VLUnicodeAtom  s    > 	+$	"""7.)* + + + +,,r'7'9'9 - ; ;uz""" 
!
*g&91fEEE*g&91iHHH; 	1&DLLNNNk**400G llnn> 	=.#&&&*g13FFF,d3q6ll;;;-tCF||<<<***Q***Q...SVa(((SVa(((((r   N)"r   r   r	   	open_moder@   r    r   r   r   r   r   r   r   r   r  r  r  r  r%  r8  r>  rD  rF  rH  rT  rX  rc  ri  rs  rw  r~  r  r  r  r   r   r   r   r   h  s       IHG) ) )B )  )  )D )  )  )D) ) )B%) %) %)N#) #) #)J) ) )B#) #) #)J*- *- *-X0- 0- 0-d.- .- .-`6- 6- 6-p=- =- =-~)- )- )-V1- 1- 1-f-- -- --^7- 7- 7-r<- <- <-|*- *- *-X/- /- /-b+) +) +)Z$) $) $)L%2 %2 %2N-) -) -)^E E E>%E %E %EN+) +) +)Z$) $) $) $) $)r   r   c                       e Zd ZdZdZdS )TypesReopenTestCaseReopenTNr   r   r	   r'   r   r   r   r   r  r  .  s        EFFFr   r  c                       e Zd ZdZdZdS )TypesNoReopenTestCasez	No reopenFNr  r   r   r   r  r  3  s        EFFFr   r  c                   `     e Zd ZdZdZdZ fdZd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Z xZS )MDTypesTestCaser   r   r   c                 j    t                                                       | j        j        | _        d S r   r   r   r   r   r   r   s    r   r   zMDTypesTestCase.setUp=  $    )r   c           
         | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        dd          d          }|
                    d	d
gd
d	gg           |
                    ddgddgddgddgg           |                                }t          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           t          j                            |d         t          j        d	d
gd
d	ggd                     t          j                            |d         t          j        ddgddgddgddggd                     |                     t'          |d                   d           |                     t'          |d                   d           dS )z,Checking vlarray with MD NumPy string atoms.rW   rX   r   r   r   r+   r   rP   r   r   45sabcfabr   rZ   r[   re  r*   r+   r   r   r-   N)r   r   r]   r^   r   r   r   rA   r>   r   rD   r`   ra   rR   rO   rE   r   r   rF   re   r   r   rH   rg   s       r   r   z!MDTypesTestCase.test01_StringAtomA  s    ~> 	O$	"""3dn6MMNNN +,,,q E E E%' ' 	e}5666euclddC[2 	3 	3 	3 llnn> 	7.#&&&*g13FFF-s1v666***

%%FBHudmdE];SAA	C 	C 	C

%%FBHsElUCL"DkD#;89<> >	? 	? 	? 	SVa(((SVa(((((r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        dd          d          }d	|_
        |                    d
dgdd
gg           |                    ddgddgddgddgg           |                                }t          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     |d         ddgddgg           |                     |d         ddgddgddgddgg           |                     t!          |d                   d           |                     t!          |d                   d           dS )z=Checking vlarray with MD NumPy string atoms ('python' flavor)rW   rX   r   r   r   r  r  r   r2   r   r  r  r  r  r  r   rZ   r[   re  r*   r+   r   r      45   s   abc   f   abr-   N)r   r   r]   r^   r   r   r   rA   r>   r   rC   rD   r`   ra   rR   rO   re   r  s       r   r   z"MDTypesTestCase.test01b_StringAtoma  s    ~> 	P$	"""4t~7NNOOO +,,,q E E E%' ' "e}5666euclddC[2 	3 	3 	3 llnn> 	7.#&&&*g13FFF-s1v666***Q65/E6?!CDDDQ4.64.#'-%"@ 	A 	A 	ASVa(((SVa(((((r   c           	      $   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        dd          d          }d	|_
        t          j        d
dgddgddggd          }|                    |dd                    t          j        dd
gddgddgddgddgddgg          }|                    |dd                    |                                }t          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     |d         ddgddgg           |                     |d         ddgdd gdd!gd!d gg           |                     t%          |d                   d           |                     t%          |d                   d"           dS )#z9Checking vlarray with MD NumPy string atoms (with offset)rW   rX   r   r   r   r  r  r   r2   r}   br   r  r   r0   r*   Nr  r  r  r  r+   r   rZ   r[   re  r   r   r  r  r  r  r  r-   r   r   r]   r^   r   r   r   rA   r>   r   rC   rE   rF   rD   r`   ra   rR   rO   re   r   r   rH   r}   rg   s        r   r   z"MDTypesTestCase.test01c_StringAtom  s/    ~> 	P$	"""4t~7NNOOO +,,,q E E E%' ' "HsCj5$-$?tLLLquHsCj4+ElUCLDkD#;0 1 1 	qu llnn> 	7.#&&&*g13FFF-s1v666***Q65/E6?!CDDDQ4.64.#'-%"@ 	A 	A 	ASVa(((SVa(((((r   c           	         | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        dd          d          }d	|_
        t          j        d
dgddgddggd          }|                    |ddd                    t          j        dd
gddgddgddgddgddgg          }|                    |ddd                    |                                }t          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     |d         ddgg           |                     |d         ddgd d!gg           |                     t%          |d                   d           |                     t%          |d                   d           dS )"z9Checking vlarray with MD NumPy string atoms (with stride)rW   rX   r   r   r   r  r  r   r2   r}   r  r   r  r   r0   r*   Nr+   r  r  r  r  r   rZ   r[   re  r   r   r  r     ar  r  r  r  s        r   r   z"MDTypesTestCase.test01d_StringAtom  s    ~> 	P$	"""4t~7NNOOO +,,,q E E E%' ' "HsCj5$-$?tLLLqAwHsCj4+ElUCLDkD#;0 1 1 	q1v llnn> 	7.#&&&*g13FFF-s1v666***Q65/!2333Q4,!?@@@SVa(((SVa(((((r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        d          d          }|
                    g d           |
                    d	g           |                                }t          j        rBt          d
|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t#          j        g dg dg dgd                               |                     t          j        |d         t#          j        g d	gd                               |                     t'          |d                   d           |                     t'          |d                   d           dS )z'Checking vlarray with MD boolean atoms.rW   rX   r   r   r   rP   r   )r   r*   r*   r*   r   r   r   r*   r   r   r   rZ   r[   re  r*   r+   r   r   r  r  r   r0   r   N)r   r   r]   r^   r   r   r   rA   r>   r   rD   r`   ra   rR   rO   rc   rd   rE   rF   re   r  s       r   r   zMDTypesTestCase.test02_BoolAtom  s    ~> 	M$	"""1DN4KKLLL +,,T:-/[t-D-D-D-GI I 	888999	{### llnn> 	7.#&&&*g13FFF-s1v666***FBHiiiIII>fMMMO O 	P 	P 	PFBHiii[7779 9 	: 	: 	:SVa(((SVa(((((r   c                 v   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        d          d          }t          j        g dd	
          }|                    |dd                    t          j        ddgd	
          }|                    |dd                    |                                }t          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t          j        g dg dg dgd	
                               |                     t          j        |d         t          j        g dgd	
                               |                     t'          |d                   d           |                     t'          |d                   d           dS )z4Checking vlarray with MD boolean atoms (with offset)rW   rX   r   r   r  r  r   r  r   r  r  r   r0   r*   Nr  r  r   rZ   r[   re  r+   r   r   r  r   r   r   r]   r^   r   r   r   rA   r>   r   rE   rF   rD   r`   ra   rR   rO   rc   rd   re   r  s        r   r   z MDTypesTestCase.test02b_BoolAtom  s/    ~> 	N$	"""2T^5LLMMM +,,T:-/[t-D-D-D-GI I H888H H HquHi+6:::qu llnn> 	7.#&&&*g13FFF-s1v666***FBHiiiIII>fMMMO O 	P 	P 	PFBHiii[7779 9 	: 	: 	:SVa(((SVa(((((r   c           
      z   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        d          d          }t          j        g dd	
          }|                    |ddd                    t          j        g dd	
          }|                    |ddd                    |                                }t          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t          j        g dg dgd	
                               |                     t          j        |d         t          j        g dg dgd	
                               |                     t'          |d                   d           |                     t'          |d                   d           dS )z5Checking vlarray with MD boolean atoms (with strides)rW   rX   zRunning %s.test02c_BoolAtom...r   r  r  r   r  r   r0   r*   Nr+   )r  r  r  r   rZ   r[   re  r   r   r  r  r  r  s        r   test02c_BoolAtomz MDTypesTestCase.test02c_BoolAtom  s;    ~> 	N$	"""2T^5LLMMM +,,T:-/[t-D-D-D-GI I H888H H HqAwH666fEEEq1v llnn> 	7.#&&&*g13FFF-s1v666***FBHiii36BBBD D 	E 	E 	EFBHiii36BBBD D 	E 	E 	ESVa(((SVa(((((r   c                    g d}| j         }t          j        r,t          dd           t          d| j        j        z             |D ]A}| j                            ||t          j	        
                    |d                    }|                    t          j        d|          t          j        d|          g           |                    t          j        d|          dz  g           |                                }t          j        rOt          d|           t          d	|j        d
|j                   t          dt%          |d                              |                     |j        d           |                     t          j        |d         t          j        t          j        d          t          j        d          g|                               |                     t          j        |d         t          j        t          j        d          dz  g|                               |                     t/          |d                   d           |                     t/          |d                   d           CdS )z'Checking vlarray with MD integer atoms.r   rW   rX   r  r+   r   r  d   r  rZ   r[   re  r*   r+   r   N)r   r   r]   r^   r   r   r   rA   r>   r  r	  rD   rE   oneszerosr`   ra   rR   rh  rO   rc   rd   rF   re   )r   r  r   r  rH   rg   s         r   r  zMDTypesTestCase.test03_IntAtom#  sS   	
 	
 	
 ~> 	L$	"""04>3JJKKK  	- 	-Ek00e"'"5"5eV"D"D 1 F FGNNBGFE22BHVU4K4KLMMMNNBGFE22367888 ,,..C~ Aou---j'"5sGMJJJ14A<<@@@W]A...OOFOA"'&//28F3C3C!DeLLN N O O OOOFOA"'&//C"7!8%@@B B C C CSQ[[!,,,SQ[[!,,,,'	- 	-r   c                    g d}dD ]C}|                                 dz   }t          t          |          r|                    |           DdD ]4}d|z  }t          t          |          r|                    d|z             5| j        }t
          j        r,t          dd           t          d	| j        j	        z             |D ]:}| j
                            ||t          j                            |d
                    }|                    t          j        d
|          dz  t          j        d
|          g           |                    t          j        d
|          dz  g           |                                }t
          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t          j        t          j        d
          dz  t          j        d
          g|                               |                     t          j        |d         t          j        t          j        d
          dz  g|                               |                     t1          |d                   d           |                     t1          |d                   d           <dS )z.Checking vlarray with MD floating point atoms.r'  r(  rJ  rK  r)  r        Complex%dAtom	complex%drW   rX   r-  )r.   r+   r4   r  r/  g     @r  rZ   r[   re  r*   r+   r   N)r4  r5  r>   rD   r   r   r]   r^   r   r   r   rA   r  r	  rE   r  r  r`   ra   rR   rO   rc   rd   rF   re   )	r   r  r   r7  r   r   r  rH   rg   s	            r   r8  z MDTypesTestCase.test04_FloatAtomK  s   
 
 
 7 	$ 	$D((61Hr8$$ $d###" 	8 	8H&1Hr8$$ 8kX6777~> 	N$	"""2T^5LLMMM  	- 	-Ek00e"'"5"5eY"G"G 1 I IGNNBGIu55c9HY668 9 9 9NNBGIu55d:;<<< ,,..C~ ;ou---j'"5sGMJJJ13q6:::W]A...OOFOAWY''#-rx	/B/BCUL LM M N N N OOFOA"')"4"4t";!<eDDF F G G GSQ[[!,,,SQ[[!,,,,+	- 	-r   )r   r   r	   r  r@   r    r   r   r   r   r   r   r   r  r  r8  r   r   s   @r   r  r  8  s        IHG* * * * *) ) )@) ) )> )  )  )D) ) )B) ) )<) ) )B) ) )B&- &- &-P.- .- .- .- .- .- .-r   r  c                       e Zd ZdZdS )MDTypesNumPyTestCaseMDTypesN)r   r   r	   r'   r   r   r   r  r  |  s        EEEr   r  c                   @     e Zd ZdZ fdZd Zd Zd Zd Zd Z	 xZ
S )AppendShapeTestCaser   c                 j    t                                                       | j        j        | _        d S r   r  r   s    r   r   zAppendShapeTestCase.setUp  r  r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                    d          }d|_
        |                    d           |                    g d           |                    t          j        g dd	                     | j        r@t          j        rt          d
           |                                  | j        j        j        }|                                }t          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     |d         g d           |                     |d         g d           |                     |d         g d           dS )z0Checking vlarray.append() with different inputs.rW   rX   zRunning %s.test00_difinputs...rH   Ragged array of intsr2   r  r/   r0   (closing file version)r   rZ   r[   r\   r   r   r*   r+   N)r   r   r]   r^   r   r   r   rA   r>   rB   rC   rD   rE   rF   r   r   r   rH   r`   ra   rR   rO   r  s       r   test00_difinputsz$AppendShapeTestCase.test00_difinputs  s    ~> 	N$	"""2T^5LLMMM +,,T9-/\^^-CE E " 	y!!!yyy!!!rx			999:::: 	/~ 0.///LLNNNk&.G llnn> 	6.#&&&*g13FFF,c!f555***Q+++Q+++Q+++++r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        d          d          }| 
                    t                    5  |                    g dg           d	d	d	           n# 1 swxY w Y   | j        r@t          j        rt          d
           |                                  | j        j        j        }|                                }t          j        r,t          d|           t          d|j        d|j                   |                     |j        d           d	S )z3Checking vlarray.append() with too many dimensions.rW   rX   z Running %s.test01_toomanydims...rH   r   r   r   )r   4563Nr  r   rZ   r[   r   )r   r   r]   r^   r   r   r   rA   r>   r   r`  rf  rD   r   r   r   rH   r`   ra   rR   rO   r  s       r   test01_toomanydimsz&AppendShapeTestCase.test01_toomanydims  s    ~> 	P$	"""4t~7NNOOO +,,T9-/]A-F-F-F-FH H z** 	2 	2NN///0111	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 	2 : 	/~ 0.///LLNNNk&.G llnn> 	G.#&&&*g13FFF*****s   
B//B36B3c           	         | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                    d          }|
                    t          j        dd                     | j        r@t          j        rt          d	           |                                  | j        j        j        }|                    d
          d
         }t          j        rIt          d|           t          d|j        d|j                   t          dt)          |                     |                     |j        d           |                     t          j        |t          j        dd                               |                     t1          |          d
           dS )z7Checking vlarray.append() with a zero-dimensional arrayrW   rX   zRunning %s.test02_zerodims...rH   r  r/   )r4   r   )r1   rP   r  r   r   rZ   r[   r\   r*   r   N)r   r   r]   r^   r   r   r   rA   r>   rB   rD   rE   r  r   r   r   rH   r`   ra   rR   rh  rO   rc   rd   re   r  s       r   test02_zerodimsz#AppendShapeTestCase.test02_zerodims  s    ~> 	M$	"""1DN4KKLLL +,,T9-/\^^-CE E 	rxgV<<<===: 	/~ 0.///LLNNNk&.G ll1ooa > 	9.#&&&*g13FFF,d3ii888***t4446 6 	7 	7 	7S1%%%%%r   c           	         | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                    d          }|
                    t          j        ddgd	                     | j        r@t          j        rt          d
           |                                  | j        j        j        }|                    d          d         }t          j        rIt          d|           t          d|j        d|j                   t          dt)          |                     |                     |j        d           |                     t          j        |t          j        ddgd	                               |                     t1          |          d           dS )z>Checking vlarray.append() with a casted array (upgrading case)rW   rX   zRunning %s.test03a_cast...rH   r  r*   r+   r   r0   r  r   r   rZ   r[   r\   r/   Nr   r   r]   r^   r   r   r   rA   r>   rB   rD   rE   rF   r   r   r   rH   r`   ra   rR   rh  rO   rc   rd   re   r  s       r   test03a_castz AppendShapeTestCase.test03a_cast  s    ~> 	J$	""".1HHIII +,,T9-/\^^-CE E 	rxAg666777: 	/~ 0.///LLNNNk&.G ll1ooa > 	9.#&&&*g13FFF,d3ii888***RXq!fG-L-L-LMMNNNS1%%%%%r   c           	         | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                    d          }|
                    t          j        ddgd	                     | j        r@t          j        rt          d
           |                                  | j        j        j        }|                    d          d         }t          j        rIt          d|           t          d|j        d|j                   t          dt)          |                     |                     |j        d           |                     t          j        |t          j        ddgd	                               |                     t1          |          d           dS )z@Checking vlarray.append() with a casted array (downgrading case)rW   rX   zRunning %s.test03b_cast...rH   r  r*   r+   r(  r0   r  r   r   rZ   r[   r\   r/   Nr  r  s       r   test03b_castz AppendShapeTestCase.test03b_cast  s    ~> 	J$	""".1HHIII +,,T9-/\^^-CE E 	rxAi888999: 	/~ 0.///LLNNNk&.G ll1ooa > 	9.#&&&*g13FFF,d3ii888***RXq!fG-L-L-LMMNNNS1%%%%%r   )r   r   r	   r  r   r  r  r  r  r  r   r   s   @r   r  r    s        I* * * * *$, $, $,L+ + +<& & &@& & &@& & & & & & &r   r  c                       e Zd ZdZdS )OpenAppendShapeTestCaser   Nr   r   r	   r   r   r   r   r  r  ,          EEEr   r  c                       e Zd ZdZdS )CloseAppendShapeTestCaser*   Nr  r   r   r   r  r  0  r  r   r  c                   N     e Zd ZdZdZdZ fdZd Zd Zd Z	d Z
d	 Zd
 Z xZS )FlavorTestCaser   r   r   c                 j    t                                                       | j        j        | _        d S r   r  r   s    r   r   zFlavorTestCase.setUp9  r  r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        
                    dd                    }| j        |_        | j                                         t          j        | j        d          | _        | j        j        j        }|                                }t          j        rOt          d	| j                   t          d
|t%          |                     t          d|j        d|j                   |                     |j        d           |                     |g            dS )zAChecking empty vlarrays with different flavors (closing the file)rW   rX   !Running %s.test01_EmptyVLArray...rH   intr-   r   rJ   Testing flavor:r   rZ   r[   r   N)r   r   r]   r^   r   r   r   rA   r>   r  	from_kindrC   r   rL   rM   r   rH   r`   rh  ra   rR   rO   r  s       r   test01a_EmptyVLArrayz#FlavorTestCase.test01a_EmptyVLArray=  sQ    ~> 	+$	"""5.)* + + + +,,)RW..uq.AAC Cl4<55 +"*llnn> 	G#T[111.#tCyy111*g13FFF 	***b!!!!!r   c                 6   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        
                    dd                    }| j        |_        |                                }t          j        rAt          d| j                   t          d	|           t          d
|j        d|j                   |                     |j        d           |                     |g            dS )z@Checking empty vlarrays with different flavors (no closing file)rW   rX   r  rH   r  r-   r   r  r   rZ   r[   r   N)r   r   r]   r^   r   r   r   rA   r>   r  r  rC   r`   ra   rR   rO   r  s       r   test01b_EmptyVLArrayz#FlavorTestCase.test01b_EmptyVLArrayY  s    ~> 	+$	"""5.)* + + + +,,)RW..uq.AAC C llnn> 	G#T[111.#&&&*g13FFF 	***b!!!!!r   c                 ^   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                              }| j
        |_
        |                    g d           |                    d           |                    ddg           |                                }t          j        rWt          d	| j
                   t          d
|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t!          |d                   d           |                     t!          |d                   d           |                     t!          |d                   d           | j
        dk    rg d}g }ddg}nQ| j
        dk    rFt#          j        g dd          }t#          j        g d          }t#          j        ddgd          }| j
        dk    r|                     t          j        |d         || j
                             |                     t          j        |d         || j
                             |                     t          j        |d         || j
                             dS |                     |d         |           |                     |d         |           |                     |d         |           dS )z:Checking vlarray with different flavors (boolean versions)rW   rX   r   Boolr  r   r  r   r  r   rZ   r[   r\   r   r*   r+   r2   r  r   r   r0   N)r   r   r]   r^   r   r   r   rA   r>   r   rC   rD   r`   ra   rR   rO   re   rE   rF   rc   rd   )r   r   rH   rg   arr1arr2arr3s          r   test02_BooleanAtomz!FlavorTestCase.test02_BooleanAtomr  s    ~> 	M$	"""1DN4KKLLL +,,T62;==IIyyy!!!rQx    llnn> 	6#T[111.#&&&*g13FFF,c!f555***SVa(((SVa(((SVa(((;(""99DDq6DD[G##8IIIV444D8Bf---D8QF&111D;'!!OOFOCFD$+FFGGGOOFOCFD$+FFGGGOOFOCFD$+FFGGGGG SVT***SVT***SVT*****r   c                    g d}| j         }t          j        r,t          dd           t          d| j        j        z             |D ]}| j                            ||t          j	        
                    |                    }| j        |_        |                    g d           |                    d           |                    ddg           |                                }t          j        rWt          d	| j                   t          d
|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t#          |d                   d           |                     t#          |d                   d           |                     t#          |d                   d           | j        dk    rg d}g }ddg}nQ| j        dk    rFt%          j        g d|          }t%          j        g |          }t%          j        ddg|          }| j        dk    r|                     t          j        |d         || j                             |                     t          j        |d         || j                             |                     t          j        |d         || j                             |                     |d         |           |                     |d         |           |                     |d         |           dS )z:Checking vlarray with different flavors (integer versions)r   rW   rX   r  r  r   r  r   r  r   rZ   r[   r\   r   r*   r+   r2   r   r0   N)r   r   r]   r^   r   r   r   rA   r>   r  r	  rC   rD   r`   ra   rR   rO   re   rE   rF   rc   rd   	r   r  r   r  rH   rg   r  r  r  s	            r   r  zFlavorTestCase.test03_IntAtom  s   

 

 

 ~> 	L$	"""04>3JJKKK  %	/ %	/Ek00u131D1DU1K1KM MG![GNNN999%%%NN2NNC8$$$ ,,..C~ :'555nc***j'"5sGMJJJ0#a&999W]A...SQ[[!,,,SQ[[!,,,SQ[[!,,,{h&& yyQx''x			777x%000xa666{g%%Adk J JKKKAdk J JKKKAdk J JKKKK   Q...  Q...  Q....K%	/ %	/r   c                     g d}| j         }t          j        r,t          dd           t          d| j        j        z             |D ]F}| j                            ||t          j	        
                    |                    }| j        |_        |                    g d           |                    d           |                    ddg           |                     d	
           | j        j        }| j                            |t!          |                    }|                                }t          j        rWt          d| j                   t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t+          |d                   d           |                     t+          |d                   d           |                     t+          |d                   d           | j        dk    rg d}g }ddg}nQ| j        dk    rFt-          j        g d|          }t-          j        g |          }t-          j        ddg|          }| j        dk    r|                     t          j        |d         || j                             |                     t          j        |d         || j                             |                     t          j        |d         || j                             |                     |d         |           |                     |d         |           |                     |d         |           HdS )z;Checking vlarray flavors (integer versions and closed file)r   rW   rX   r  r  r   r  r   r}   r  r  r   rZ   r[   r\   r   r*   r+   r2   r   r0   N)r   r   r]   r^   r   r   r   rA   r>   r  r	  rC   rD   r   r   rN   strr`   ra   rR   rO   re   rE   rF   rc   rd   r  s	            r   r  zFlavorTestCase.test03b_IntAtom  sL   

 

 

 ~> 	L$	"""04>3JJKKK  (	/ (	/Ek00u131D1DU1K1KM MG![GNNN999%%%NN2NNC8$$$LLcL""";#Dk**4U<<G ,,..C~ :'555nc***j'"5sGMJJJ0#a&999W]A...SQ[[!,,,SQ[[!,,,SQ[[!,,,{h&& yyQx''x			777x%000xa666{g%%Adk J JKKKAdk J JKKKAdk J JKKKK   Q...  Q...  Q....Q(	/ (	/r   c                 F   g d}dD ]C}|                                 dz   }t          t          |          r|                    |           DdD ]4}d|z  }t          t          |          r|                    d|z             5| j        }t
          j        r,t          dd           t          d	| j        j	        z             |D ]\}| j
                            ||t          j                            |                    }| j        |_        |                    g d
           |                    d           |                    ddg           |                                }t
          j        rWt          d| j                   t          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t'          |d                   d           |                     t'          |d                   d           |                     t'          |d                   d           | j        dk    rkt)          t+          j        g d
|                    }	t)          t+          j        g |                    }
t)          t+          j        ddg|                    }nQ| j        dk    rFt+          j        g d
|          }	t+          j        g |          }
t+          j        ddg|          }| j        dk    r|                     t          j        |d         |	| j                             |                     t          j        |d         |
| j                             |                     t          j        |d         || j                             |                     |d         |	           |                     |d         |
           |                     |d         |           ^dS )zAChecking vlarray with different flavors (floating point versions)r  r)  r  r  r  r  rW   rX   r-  r.  r   r1  r2  r  r   rZ   r[   r\   r   r   r*   r+   r2   r   r0   N)r4  r5  r>   rD   r   r   r]   r^   r   r   r   rA   r  r	  rC   r`   ra   rR   rO   re   ro  rE   rF   rc   rd   )r   r  r   r7  r   r   r  rH   rg   r  r  r  s               r   r8  zFlavorTestCase.test04_FloatAtom	  s   
 
 
 7 	$ 	$D((61Hr8$$ $d###" 	8 	8H&1Hr8$$ 8kX6777~> 	N$	"""2T^5LLMMM  %	/ %	/Ek00u131D1DU1K1KM MG![GNNN???+++NN2NND$<((( ,,..C~ :'555nc***j'"5sGMJJJ0#a&999W]A...SQ[[!,,,SQ[[!,,,SQ[[!,,,{h&&BH___e<<==BHR//00BHdD\599::''xu===x%000xtE:::{g%%Adk J JKKKAdk J JKKKAdk J JKKKK   Q...  Q...  Q....K%	/ %	/r   )r   r   r	   r  r@   r    r   r  r  r  r  r  r8  r   r   s   @r   r  r  4  s        IHG* * * * *" " "8" " "2,+ ,+ ,+\:/ :/ :/x=/ =/ =/~?/ ?/ ?/ ?/ ?/ ?/ ?/r   r  c                       e Zd ZdZdS )NumPyFlavorTestCaser   Nr   r   r   r   r  r  ]	  r   r   r  c                       e Zd ZdZdS )PythonFlavorTestCaser2   Nr   r   r   r   r  r  a	  r   r   r  c                   |     e Zd ZdZdZdZdZ f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 xZS )ReadRangeTestCaser  r   r   r   c                     t                                                       | j        j        | _        |                                  |                                  d S r   r   r   r   r   r   r   r   r   s    r   r   zReadRangeTestCase.setUpk	  sC    )r   c                 B   | j         }t          j        | j        | j                  }| j                            |dt          j                    d|d          }t          | j	                  D ]1}|
                    t          t          |                               2d S Nr   r    rH   zragged array if intsr%   )r(   r)   r   r>   r?   r@   r    r   rA   rB   ro   rR   rD   ro  r   rG   r(   rH   rw   s        r   r   zReadRangeTestCase.populateFileq	      *t}dlKKK+,,UIr|~~-C5<:> - @ @ tz"" 	+ 	+ANN4a>>****	+ 	+r   c           	         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }g }|                    |	                    d          d                    |                    |	                    d          d                    |                    |	                    d          d                    t           j        r2t          d|j
        d|j                   t          d	|d
                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d
                   d           |                     t          |d                   d           |                     t          j        |d         t!          j        dd                               |                     t          j        |d
         t!          j        dd                               |                     t          j        |d         t!          j        dd                               dS z&Checking reads with only a start valuerW   rX   Running %s.test01_start...r   r9   c   rZ   r[   re  r*   r+   r/   r0   Nr   r]   r^   r   r   r   r   rH   rD   r`   ra   rR   rO   re   rc   rd   rE   aranger   rH   rg   s      r   test01_startzReadRangeTestCase.test01_start}	  s    > 	J$	""".1HHIII+"* 

7<<??1%&&&

7<<##A&'''

7<<##A&'''> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))A	!70K0K0KLLMMMA	"G0L0L0LMMNNNA	"G0L0L0LMMNNNNNr   c           	      |   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }g }|                    |d                    |                    |d                    |                    |d                    t           j        r2t          d|j	        d|j
                   t          d	|d
                    |                     |j
        | j
                   |                     t          |d                   d           |                     t          |d
                   d           |                     t          |d                   d           |                     t          j        |d         t          j        dd                               |                     t          j        |d
         t          j        dd                               |                     t          j        |d         t          j        dd                               dS z1Checking reads with only a start value in a slicerW   rX   zRunning %s.test01b_start...r   r9   r	  rZ   r[   re  r*   r+   r/   r0   Nr   r]   r^   r   r   r   r   rH   rD   ra   rR   rO   re   rc   rd   rE   r  r  s      r   test01b_startzReadRangeTestCase.test01b_start	      > 	K$	"""/$.2IIJJJ+"* 

71:

72;

72;> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))A	!70K0K0KLLMMMA	"G0L0L0LMMNNNA	"G0L0L0LMMNNNNNr   c           	         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }g }|                    |t          j
        d                              |                    |t          j        d                              |                    |t          j        d                              t           j        r2t          d|j        d|j                   t          d	|d
                    |                     |j        | j                   |                     t!          |d                   d           |                     t!          |d
                   d           |                     t!          |d                   d           |                     t          j        |d         t          j        dd                               |                     t          j        |d
         t          j        dd                               |                     t          j        |d         t          j        dd                               dS )zAChecking reads with only a start value in a slice (numpy indexes)rW   rX   Running %s.test01np_start...r   r9   r	  rZ   r[   re  r*   r+   r/   r0   N)r   r]   r^   r   r   r   r   rH   rD   rE   r   r/   r   ra   rR   rO   re   rc   rd   r  r  s      r   test01np_startz ReadRangeTestCase.test01np_start	  s    > 	L$	"""04>3JJKKK+"* 

7271::&'''

728B<<()))

728B<<()))> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))A	!70K0K0KLLMMMA	"G0L0L0LMMNNNA	"G0L0L0LMMNNNNNr   c           
      v   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |
                    d                     |	                    |
                    d                     |	                    |
                    d                     t           j        rHt          d	|j        d
|j                   t          d|d                    t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           |                     t          j        |d         d         t#          j        dd                               t'          d          D ]J}|                     t          j        |d         |         t#          j        |d                               Kt'          d          D ]J}|                     t          j        |d         |         t#          j        |d                               KdS )%Checking reads with only a stop valuerW   rX   Running %s.test02_stop...r   r*   )stopr9   r	  rZ   r[   r\   r   re  r+   r/   r0   N)r   r]   r^   r   r   r   r   rH   _nrowsinbufrD   r`   ra   rR   rO   re   rc   rd   rE   r  ro   r   rH   rg   xs       r   test02_stopzReadRangeTestCase.test02_stop	  sy    > 	I$	"""-0GGHHH+"* 

7<<Q<''(((

7<<R<(()))

7<<R<(()))> 	7*g13FFF,c!f555-s1v666
333SVa(((SVb)))SVb)))F1Iry'2224 4 	5 	5 	5r 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9r 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9	9 	9r   c           
      &   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |dd                    |	                    |dd                    |	                    |dd                    t           j        r2t          d	|j
        d
|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           t          d          D ]J}|                     t          j        |d         |         t#          j        dd                               Kt          d          D ]J}|                     t          j        |d         |         t#          j        |d                               Kt          d          D ]J}|                     t          j        |d         |         t#          j        |d                               KdS z0Checking reads with only a stop value in a slicerW   rX   zRunning %s.test02b_stop...r   Nr*   r9   r	  rZ   r[   re  r   r+   r/   r0   r   r]   r^   r   r   r   r   rH   r  rD   ra   rR   rO   re   ro   rc   rd   rE   r  r  s       r   test02b_stopzReadRangeTestCase.test02b_stop	  n    > 	J$	""".1HHIII+"*   

72A2;

73B3<   

73B3<   > 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))q 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9r 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9r 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9	9 	9r   c           
      z   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |
                    dd                     |	                    |
                    dd                     |	                    |
                    dd	                     t           j        r2t          d
|j        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d	           t          dd          D ]J}|                     t          j        |d         |         t%          j        |d                               Kt          dd          D ]M}|                     t          j        |d         |dz
           t%          j        |d                               Nt          dd	          D ]J}|                     t          j        |d         |         t%          j        |d                               KdS z+Checking reads with a start and stop valuesrW   rX   zRunning %s.test03_startstop...r   r   r9   r.      r  rZ   r[   re  r*   r+   r/   r0   Nr   r]   r^   r   r   r   r   rH   r  rD   r`   ra   rR   rO   re   ro   rc   rd   rE   r  r  s       r   test03_startstopz"ReadRangeTestCase.test03_startstop
  s    > 	N$	"""2T^5LLMMM+"*   

7<<2&&'''

7<<2&&'''

7<<3''(((> 	7*g13FFF-s1v666
333SVb)))SVb)))SVc***q" 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9q" 	; 	;AOOFOAqsRYq888: : ; ; ; ;q# 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9	9 	9r   c           
      2   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |dd                    |	                    |dd                    |	                    |d	d	                    t           j        r2t          d
|j
        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           t          dd          D ]J}|                     t          j        |d         |         t#          j        |d                               Kt          dd          D ]M}|                     t          j        |d         |dz
           t#          j        |d                               Nt          dd          D ]J}|                     t          j        |d         |         t#          j        |d                               Kd	S z5Checking reads with a start and stop values in slicesrW   rX   zRunning %s.test03b_startstop...r   r   r9   r.   r%  NrZ   r[   re  r*   r+   r  r/   r0   r   r  s       r   test03b_startstopz#ReadRangeTestCase.test03b_startstop3
  x    > 	O$	"""3dn6MMNNN+"*   

71R4=!!!

71R4=!!!

7111:> 	7*g13FFF-s1v666
333SVb)))SVb)))SVc***q" 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9q" 	; 	;AOOFOAqsRYq888: : ; ; ; ;q# 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9	9 	9r   c           
         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |
                    ddd                     |	                    |
                    dd	d                     |	                    |
                    dd
d                     t           j        r2t          d|j        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           t          ddd          D ]M}|                     t          j        |d         |dz           t%          j        |d                               Nt          dd	d          D ]P}|                     t          j        |d         |dz
  dz           t%          j        |d                               Qt          dd
d          D ]M}|                     t          j        |d         |dz           t%          j        |d                               NdS )/Checking reads with a start, stop & step valuesrW   rX   z"Running %s.test04_startstopstep...r   r   r9   r+   r.   r%  r     rZ   r[   re  r*   r-   r/   r0   Nr&  r  s       r   test04_startstopstepz&ReadRangeTestCase.test04_startstopstepV
  s    > 	+$	"""6.)* + + + +"*   

7<<2q))***

7<<2q))***

7<<3++,,,> 	7*g13FFF-s1v666
333SVa(((SVa(((SVa(((q"a 	> 	>AOOFOAqAv	!7 ; ; ;= = > > > >q"a 	D 	DAOOFOAA!|$bi&A&A&AC C D D D Dq#r"" 	? 	?AOOFOAqBw1G!<!<!<> > ? ? ? ?	? 	?r   c           
         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |
                    t          j        d          t          j        d          t          j        d                               |	                    |
                    t          j        d          t          j        d	          t          j        d                               |	                    |
                    t          j        d          t          j        d
          t          j        d                               t           j        r2t          d|j        d|j                   t          d|d                    |                     |j        | j                   |                     t!          |d                   d           |                     t!          |d                   d           |                     t!          |d                   d           t#          ddd          D ]M}|                     t          j        |d         |dz           t          j        |d                               Nt#          dd	d          D ]P}|                     t          j        |d         |dz
  dz           t          j        |d                               Qt#          dd
d          D ]M}|                     t          j        |d         |dz           t          j        |d                               NdS )z?Checking reads with a start, stop & step values (numpy indices)rW   rX   z$Running %s.test04np_startstopstep...r   r   r9   r+   r.   r%  r  r.  rZ   r[   re  r*   r-   r/   r0   N)r   r]   r^   r   r   r   r   rH   r  rD   r`   rE   r   ra   rR   rO   re   ro   rc   rd   r  r  s       r   test04np_startstopstepz(ReadRangeTestCase.test04np_startstopstepz
  s    > 	+$	"""8.)* + + + +"*   

7<<

BGBKKDDEEE

7<<

BGBKKDDEEE

7<<

BGCLL"'"++FFGGG> 	7*g13FFF-s1v666
333SVa(((SVa(((SVa(((q"a 	> 	>AOOFOAqAv	!7 ; ; ;= = > > > >q"a 	D 	DAOOFOAA!|$bi&A&A&AC C D D D Dq#r"" 	? 	?AOOFOAqBw1G!<!<!<> > ? ? ? ?	? 	?r   c           
      P   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |ddd                    |	                    |dd	d                    |	                    |dd
d                    t           j        r2t          d|j
        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           t          ddd          D ]M}|                     t          j        |d         |dz           t#          j        |d                               Nt          dd	d          D ]P}|                     t          j        |d         |dz
  dz           t#          j        |d                               Qt          dd
d          D ]M}|                     t          j        |d         |dz           t#          j        |d                               NdS )z7Checking reads with start, stop & step values in slicesrW   rX   zRunning %s.test04b_slices...r   r   r9   r+   r.   r%  r  r.  rZ   r[   re  r*   r-   r/   r0   Nr   r  s       r   test04b_slicesz ReadRangeTestCase.test04b_slices
  s    > 	L$	"""04>3JJKKK+"*   

71R6?###

71R6?###

71S8$%%%> 	7*g13FFF-s1v666
333SVa(((SVa(((SVa(((q"a 	> 	>AOOFOAqAv	!7 ; ; ;= = > > > >q"a 	D 	DAOOFOAA!|$bi&A&A&AC C D D D Dq#r"" 	? 	?AOOFOAqBw1G!<!<!<> > ? ? ? ?	? 	?r   c           
         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |t          j        d          t          j        d          t          j        d                              |	                    |t          j        d          t          j        d	          t          j        d                              |	                    |t          j        d          t          j        d
          t          j        d                              t           j        r2t          d|j        d|j                   t          d|d                    |                     |j        | j                   |                     t'          |d                   d           |                     t'          |d                   d           |                     t'          |d                   d           t)          ddd          D ]M}|                     t          j        |d         |dz           t          j        |d                               Nt)          dd	d          D ]P}|                     t          j        |d         |dz
  dz           t          j        |d                               Qt)          dd
d          D ]M}|                     t          j        |d         |dz           t          j        |d                               NdS )z[Checking reads with start, stop & step values in slices.

        (numpy indices)

        rW   rX   zRunning %s.test04bnp_slices...r   r   r9   r+   r.   r%  r  r.  rZ   r[   re  r*   r-   r/   r0   N)r   r]   r^   r   r   r   r   rH   r  rD   rE   r   r/   r   r   r   ra   rR   rO   re   ro   rc   rd   r  r  s       r   test04bnp_slicesz"ReadRangeTestCase.test04bnp_slices
  s    > 	N$	"""2T^5LLMMM+"*   

728A;;rx||BHQKK?@AAA

728A;;rx||BHQKK?@AAA

729Q<<bgbkkABCCC> 	7*g13FFF-s1v666
333SVa(((SVa(((SVa(((q"a 	L 	LAOOAq!tbi.I.I.IJJL L L Lq"a 	P 	PAOOA!ax 0")AW2M2M2MNNP P P Pq#r"" 	M 	MAOOAq"ury'/J/J/JKKM M M M	M 	Mr   c                    t           j        r,t          dd           t          d| j        j        z             | j        j        j        }t           j        rt          d|j        d|j	                   | 
                    t                    5  |                    d          d         }t          d|           d	d	d	           d	S # 1 swxY w Y   d	S )
Checking out of range readsrW   rX   !Running %s.test05_out_of_range...rZ   r[   r%   r   row-->N)r   r]   r^   r   r   r   r   rH   ra   rR   r`  
IndexErrorr`   r  s      r   test05_out_of_rangez%ReadRangeTestCase.test05_out_of_range
  s    > 	+$	"""5.)* + + + +"*> 	G*g13FFFz** 	! 	!,,t$$Q'C(C   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   ,CC	C	)r   r   r	   rR   r  r@   r    r   r   r  r  r  r  r!  r'  r*  r/  r1  r3  r5  r;  r   r   s   @r   r  r  e	  s#       EDHG    
+ 
+ 
+O O O4O O O4O O O4 9  9  9D!9 !9 !9F!9 !9 !9F!9 !9 !9F"? "? "?H"? "? "?H!? !? !?F%M %M %MN! ! ! ! ! ! !r   r  c                   p     e Zd ZdZdZdZdZ fdZd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Z xZS )GetItemRangeTestCaser  r   r   r   c                     t                                                       | j        j        | _        |                                  |                                  d S r   r  r   s    r   r   zGetItemRangeTestCase.setUp   sC    )r   c                 B   | j         }t          j        | j        | j                  }| j                            |dt          j                    d|d          }t          | j	                  D ]1}|
                    t          t          |                               2d S r  r  r  s        r   r   z!GetItemRangeTestCase.populateFile  r  r   c           	         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }g }|                    |d                    |                    |t          j
        d                              |                    |d                    t           j        r2t          d|j        d|j                   t          d	|d
                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d
                   d           |                     t          |d                   d           |                     t          j        |d         t          j        dd                               |                     t          j        |d
         t          j        dd                               |                     t          j        |d         t          j        dd                               dS r  )r   r]   r^   r   r   r   r   rH   rD   rE   rF   ra   rR   rO   re   rc   rd   r  r  s      r   r  z!GetItemRangeTestCase.test01_start  s    > 	J$	""".1HHIII+"* 

71: 	

728B<<()))

72;> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))A	!70K0K0KLLMMMA	"G0L0L0LMMNNNA	"G0L0L0LMMNNNNNr   c           	      |   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }g }|                    |d                    |                    |d                    |                    |d                    t           j        r2t          d|j	        d|j
                   t          d	|d
                    |                     |j
        | j
                   |                     t          |d                   d           |                     t          |d
                   d           |                     t          |d                   d           |                     t          j        |d         t          j        dd                               |                     t          j        |d
         t          j        dd                               |                     t          j        |d         t          j        dd                               dS r  r  r  s      r   r  z"GetItemRangeTestCase.test01b_start/  r  r   c           
      .   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |dd                    |	                    |dd                    |	                    |dd                    t           j        rHt          d	|j
        d
|j                   t          d|d                    t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           |                     t          j        |d         d         t!          j        dd                               t%          d          D ]J}|                     t          j        |d         |         t!          j        |d                               Kt%          d          D ]J}|                     t          j        |d         |         t!          j        |d                               KdS )r  rW   rX   r  r   Nr*   r9   r	  rZ   r[   r\   r   re  r+   r/   r0   )r   r]   r^   r   r   r   r   rH   r  rD   ra   rR   rO   re   rc   rd   rE   r  ro   r  s       r   r  z GetItemRangeTestCase.test02_stopI  si    > 	I$	"""-0GGHHH+"*   

72A2;

73B3<   

73B3<   > 	7*g13FFF,c!f555-s1v666
333SVa(((SVb)))SVb)))F1Iry'2224 4 	5 	5 	5r 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9r 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9	9 	9r   c           
      &   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |dd                    |	                    |dd                    |	                    |dd                    t           j        r2t          d	|j
        d
|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           t          d          D ]J}|                     t          j        |d         |         t#          j        dd                               Kt          d          D ]J}|                     t          j        |d         |         t#          j        |d                               Kt          d          D ]J}|                     t          j        |d         |         t#          j        |d                               KdS r  r   r  s       r   r!  z!GetItemRangeTestCase.test02b_stopl  r"  r   c           
      2   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |dd                    |	                    |dd                    |	                    |dd	                    t           j        r2t          d
|j
        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d	           t          dd          D ]J}|                     t          j        |d         |         t#          j        |d                               Kt          dd          D ]M}|                     t          j        |d         |dz
           t#          j        |d                               Nt          dd	          D ]J}|                     t          j        |d         |         t#          j        |d                               KdS r$  r   r  s       r   r'  z%GetItemRangeTestCase.test03_startstop  sx    > 	N$	"""2T^5LLMMM+"*   

71R4=!!!

71R4=!!!

71S5>"""> 	7*g13FFF-s1v666
333SVb)))SVb)))SVc***q" 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9q" 	; 	;AOOFOAqsRYq888: : ; ; ; ;q# 	9 	9AOOFOAq	29Qg6668 8 9 9 9 9	9 	9r   c           
      2   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |dd                    |	                    |dd                    |	                    |d	d	                    t           j        r2t          d
|j
        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           t          dd          D ]J}|                     t          j        |d         |         t#          j        |d                               Kt          dd          D ]M}|                     t          j        |d         |dz
           t#          j        |d                               Nt          dd          D ]J}|                     t          j        |d         |         t#          j        |d                               Kd	S r)  r   r  s       r   r*  z&GetItemRangeTestCase.test03b_startstop  r+  r   c           
      P   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |ddd                    |	                    |dd	d                    |	                    |dd
d                    t           j        r2t          d|j
        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           t          ddd          D ]M}|                     t          j        |d         |dz           t#          j        |d                               Nt          dd	d          D ]P}|                     t          j        |d         |dz
  dz           t#          j        |d                               Qt          dd
d          D ]M}|                     t          j        |d         |dz           t#          j        |d                               NdS )r-  rW   rX   zRunning %s.test04_slices...r   r   r9   r+   r.   r%  r  r.  rZ   r[   re  r*   r-   r/   r0   Nr   r  s       r   test04_slicesz"GetItemRangeTestCase.test04_slices  s    > 	K$	"""/$.2IIJJJ+"*   

71R6?###

71R6?###

71S8$%%%> 	7*g13FFF-s1v666
333SVa(((SVa(((SVa(((q"a 	L 	LAOOAq!tbi.I.I.IJJL L L Lq"a 	P 	PAOOA!ax 0")AW2M2M2MNNP P P Pq#r"" 	M 	MAOOAq"ury'/J/J/JKKM M M M	M 	Mr   c           
         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }d|_        g }|	                    |t          j        d          t          j        d          t          j        d                              |	                    |t          j        d          t          j        d	          t          j        d                              |	                    |t          j        d          t          j        d
          t          j        d                              t           j        r2t          d|j        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           t!          ddd          D ]M}|                     t          j        |d         |dz           t          j        |d                               Nt!          dd	d          D ]P}|                     t          j        |d         |dz
  dz           t          j        |d                               Qt!          dd
d          D ]M}|                     t          j        |d         |dz           t          j        |d                               NdS )z=Checking reads with start, stop & step values (numpy indices)rW   rX   zRunning %s.test04np_slices...r   r   r9   r+   r.   r%  r  r.  rZ   r[   re  r*   r-   r/   r0   N)r   r]   r^   r   r   r   r   rH   r  rD   rE   r   ra   rR   rO   re   ro   rc   rd   r  r  s       r   r5  z%GetItemRangeTestCase.test04bnp_slices  s    > 	M$	"""1DN4KKLLL+"*   

7271::bgbkk"'!**<=>>>

7271::bgbkk"'!**<=>>>

7271::bgcll272;;>?@@@> 	7*g13FFF-s1v666
333SVa(((SVa(((SVa(((q"a 	L 	LAOOAq!tbi.I.I.IJJL L L Lq"a 	P 	PAOOA!ax 0")AW2M2M2MNNP P P Pq#r"" 	M 	MAOOAq"ury'/J/J/JKKM M M M	M 	Mr   c                 ~   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }t           j        rt          d|j        d|j	                   | 
                    t                    5  |d         }t          d|           ddd           dS # 1 swxY w Y   dS )	r7  rW   rX   r8  rZ   r[   r%   r9  Nr   r]   r^   r   r   r   r   rH   ra   rR   r`  r:  r  s      r   r;  z(GetItemRangeTestCase.test05_out_of_range  s    > 	+$	"""5.)* + + + +"*> 	G*g13FFFz** 	! 	!$-C(C   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   B22B69B6c                    t           j        r,t          dd           t          d| j        j        z             | j        j        j        }t           j        rt          d|j        d|j	                   | 
                    t                    5  |t          j        d                   }t          d|           ddd           dS # 1 swxY w Y   dS )	z+Checking out of range reads (numpy indexes)rW   rX   z#Running %s.test05np_out_of_range...rZ   r[   r%   r9  N)r   r]   r^   r   r   r   r   rH   ra   rR   r`  r:  rE   r/   r  s      r   test05np_out_of_rangez*GetItemRangeTestCase.test05np_out_of_range,  s    > 	+$	"""7.)* + + + +"*> 	G*g13FFFz** 	! 	!"(4..)C(C   	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	! 	!s   +CCC)r   r   r	   rR   r  r@   r    r   r   r  r  r  r!  r'  r*  rG  r5  r;  rL  r   r   s   @r   r=  r=  
  s       EIHG    
+ 
+ 
+O O O8O O O4!9 !9 !9F!9 !9 !9F!9 !9 !9F!9 !9 !9F!M !M !MF!M !M !MF! ! !"! ! ! ! ! ! !r   r=  c                   d     e Zd ZdZdZdZdZ fdZd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Z xZS )SetRangeTestCaser  r   r   r   c                     t                                                       | j        j        | _        |                                  |                     d           d S )Nr}   r  r  r   s    r   r   zSetRangeTestCase.setUpD  sL    )#r   c                 B   | j         }t          j        | j        | j                  }| j                            |dt          j                    d|d          }t          | j	                  D ]1}|
                    t          t          |                               2d S r  r  r  s        r   r   zSetRangeTestCase.populateFileJ  r  r   c           	      x   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }|d         dz  dz   |d<   |d         dz  dz   |d<   |d         dz  dz   |d<   g }|                    |	                    d          d                    |                    |	                    d          d                    |                    |	                    d          d                    t           j        r2t          d	|j
        d
|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           |                     t          j        |d         t!          j        dd          dz  dz                        |                     t          j        |d         t!          j        dd          dz  dz                        |                     t          j        |d         t!          j        dd          dz  dz                        dS )-Checking updates that modifies a complete rowrW   rX   r  r   r+   r   r9   r	  rZ   r[   re  r*   r/   r0   Nr
  r  s      r   r  zSetRangeTestCase.test01_startV  s    > 	J$	""".1HHIII+"* QZ\A%
bk!ma'bk!ma' 

7<<??1%&&&

7<<##A&'''

7<<##A&'''> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))FBIaw///!3a79 9 	: 	: 	:FBIb00014q8: : 	; 	; 	;FBIb00014q8: : 	; 	; 	; 	; 	;r   c           	         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }|t          j	        d                   dz  dz   |t          j
        d          <   |t          j
        d                   dz  dz   |t          j
        d          <   |t          j        d                   dz  dz   |t          j        d          <   g }|                    |                    t          j
        d                    d                    |                    |                    t          j
        d                    d                    |                    |                    t          j
        d                    d                    t           j        r2t          d	|j        d
|j                   t          d|d                    |                     |j        | j                   |                     t%          |d                   d           |                     t%          |d                   d           |                     t%          |d                   d           |                     t          j        |d         t          j        dd          dz  dz                        |                     t          j        |d         t          j        dd          dz  dz                        |                     t          j        |d         t          j        dd          dz  dz                        dS )rR  rW   rX   r  r   r+   r   r9   r	  rZ   r[   re  r*   r/   r0   N)r   r]   r^   r   r   r   r   rH   rE   r   r   r   r/   rD   r`   ra   rR   rO   re   rc   rd   r  r  s      r   r  zSetRangeTestCase.test01np_startx  s    > 	L$	"""04>3JJKKK+"* &bhqkk214q8

&rwr{{3A59 ' 5a 7! ; 

7<<

++A.///

7<<,,Q/000

7<<,,Q/000> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))FBIaw///!3a79 9 	: 	: 	:FBIb00014q8: : 	; 	; 	;FBIb00014q8: : 	; 	; 	; 	; 	;r   c           	         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }|d         dz  dz   |d<   |d         dz  dz   |d<   |d         dd	         dz  dz   |d
<   g }|                    |	                    d          d                    |                    |	                    d          d                    |                    |	                    d
          d                    t           j        r2t          d|j
        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d
           |                     t          j        |d         t!          j        dd          dz  dz                        |                     t          j        |d         t!          j        dd          dz  dz                        t!          j        ddd          }|dz  dz   }|                     t          j        |d         |                     d	S )z*Checking updates with only a part of a rowrW   rX   zRunning %s.test02_partial...r   r+   r   r9   r	  N`   rZ   r[   re  r*   r/   r0   r
  )r   rH   rg   r}   s       r   test02_partialzSetRangeTestCase.test02_partial  s    > 	L$	"""04>3JJKKK+"* QZ\A%
bk!ma'bk!""oa'!+ 

7<<??1%&&&

7<<##A&'''

7<<##A&'''> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))FBIaw///!3a79 9 	: 	: 	:FBIb00014q8: : 	; 	; 	;Ia7+++EAIA2233333r   c           	      n   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }|d         dz  dz   |d         dz  dz   |d         dz  dz   f|dd<   g }|                    |	                    d          d	                    |                    |	                    d          d	                    |                    |	                    d          d	                    t           j        r2t          d
|j
        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d	                   d           |                     t          |d                   d           |                     t          |d                   d           |                     t          j        |d	         t!          j        dd          dz  dz                        |                     t          j        |d         t!          j        dd          dz  dz                        |                     t          j        |d         t!          j        dd          dz  dz                        dS )z4Checking updating several rows at once (slice style)rW   rX   z"Running %s.test03a_several_rows...r   r+   r-   r.   r4   r   rZ   r[   re  r*   r/   r0   Nr
  r  s      r   test03a_several_rowsz%SetRangeTestCase.test03a_several_rows  s    > 	+$	"""6.)* + + + +"*  
1q(
1q(
1q(*!
 

7<<??1%&&&

7<<??1%&&&

7<<??1%&&&> 	7*g13FFF-s1v666
333SVa(((SVa(((SVa(((FBIaw///!3a79 9 	: 	: 	:FBIaw///!3a79 9 	: 	: 	:FBIaw///!3a79 9 	: 	: 	: 	: 	:r   c           	      n   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }|d         dz  dz   |d         dz  dz   |d         dz  dz   f|g d	<   g }|                    |	                    d          d                    |                    |	                    d          d                    |                    |	                    d          d                    t           j        r2t          d
|j
        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           |                     t          j        |d         t!          j        dd          dz  dz                        |                     t          j        |d         t!          j        dd          dz  dz                        |                     t          j        |d         t!          j        dd          dz  dz                        dS )z3Checking updating several rows at once (list style)rW   rX   z"Running %s.test03b_several_rows...r   r+   r   r9   rU  r   r9   rU  rZ   r[   re  r*   r/   r0   Nr
  r  s      r   test03b_several_rowsz%SetRangeTestCase.test03b_several_rows  s    > 	+$	"""6.)* + + + +"* !(
1q 0 'A 1 'A 1 3
 

7<<??1%&&&

7<<##A&'''

7<<##A&'''> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))FBIaw///!3a79 9 	: 	: 	:FBIb00014q8: : 	; 	; 	;FBIb00014q8: : 	; 	; 	; 	; 	;r   c           	         t           j        r,t          dd           t          d| j        j        z             | j        j        j        }|d         dz  dz   |d         dz  dz   |d         dz  dz   f|t          j	        g d	          f<   g }|
                    |                    d          d                    |
                    |                    d          d                    |
                    |                    d          d                    t           j        r2t          d
|j        d|j                   t          d|d                    |                     |j        | j                   |                     t          |d                   d           |                     t          |d                   d           |                     t          |d                   d           |                     t          j        |d         t          j        dd          dz  dz                        |                     t          j        |d         t          j        dd          dz  dz                        |                     t          j        |d         t          j        dd          dz  dz                        dS )z<Checking updating several rows at once (NumPy's where style)rW   rX   z"Running %s.test03c_several_rows...r   r+   r   r9   rU  rZ  rZ   r[   re  r*   r/   r0   N)r   r]   r^   r   r   r   r   rH   rE   rF   rD   r`   ra   rR   rO   re   rc   rd   r  r  s      r   test03c_several_rowsz%SetRangeTestCase.test03c_several_rows  s    > 	+$	"""6.)* + + + +"* .5QZ!^a-?-4R[1_q-@-4R[1_q-@-B+++&&()
 

7<<??1%&&&

7<<##A&'''

7<<##A&'''> 	7*g13FFF-s1v666
333SVa(((SVb)))SVb)))FBIaw///!3a79 9 	: 	: 	:FBIb00014q8: : 	; 	; 	;FBIb00014q8: : 	; 	; 	; 	; 	;r   c                 Z   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }t           j        rt          d|j        d|j	                   | 
                    t                    5  dg|d<   ddd           dS # 1 swxY w Y   dS )	z+Checking out of range updates (first index)rW   rX   z!Running %s.test04_out_of_range...rZ   r[   r*   r%   NrJ  r   s     r   test04_out_of_rangez$SetRangeTestCase.test04_out_of_range&  s     > 	+$	"""5.)* + + + +"*> 	G*g13FFFz** 	  	 CGDM	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	 s   B  B$'B$c                 `   t           j        r,t          dd           t          d| j        j        z             | j        j        j        }t           j        rt          d|j        d|j	                   | 
                    t                    5  dgdz  |d<   d	d	d	           d	S # 1 swxY w Y   d	S )
zChecking out value errorsrW   rX   z Running %s.test05_value_error...rZ   r[   r*   r  r9   N)r   r]   r^   r   r   r   r   rH   ra   rR   r`  rf  r   s     r   test05_value_errorz#SetRangeTestCase.test05_value_error6  s     > 	P$	"""4t~7NNOOO+"*> 	G*g13FFFz** 	" 	"#c'GBK	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	" 	"s   
B##B'*B')r   r   r	   rR   r  r@   r    r   r   r  r  rV  rX  r[  r]  r_  ra  r   r   s   @r   rN  rN  >  s        EIHG    
+ 
+ 
+ ;  ;  ;D ;  ;  ;D!4 !4 !4F!: !: !:F!; !; !;F!; !; !;F      " " " " " " "r   rN  c                   <    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	S )
CopyTestCaseTc                    t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|d          }d|_
        |                    dd	gg           |                    d
           |                    d	dgddgg           | j        rBt           j        rt          d           |                     d           | j        j	        j        }|                    dd          }| j        rQt           j        rt          d           |                                  | j        j	        j        }| j        j	        j        }t           j        rt          dt#          |                     t          dt#          |                     t          dt#          |                                                     t          dt#          |                                                     t          dt#          |j                             t          dt#          |j                             |                     |                                |                                           |                     |j        |j                   |                     |j        |j                   |                     |j
        |j
                   |                     |j        j        |j        j                   |                     t#          |j                  t#          |j                             |                     |j        |j                   dS )zChecking VLArray.copy() method.rW   rX   zRunning %s.test01a_copy...r+   r  array1title array1r2   r   r     r-   r  r}   r  r   array2	array1-->	array2-->array1[:]-->array2[:]-->attrs array1-->attrs array2-->N)r   r]   r^   r   r   r>   	Int16Atomr   rA   r   rC   rD   r   r   re  copyrh  rh  r`   attrsrO   rR   rP   r&   r1   r'   r   arrre  rh  s       r   test01a_copyzCopyTestCase.test01a_copyI  s    > 	J$	""".1HHIII l###++Kh^= = 1vhb3x!Q())): 	-~ 0.///LLcL"""[%,F S(++: 	-~ 0.///LLNNN[%,F[%,F> 	9+tF||,,,+tF||,,,.$v{{}}"5"5666.$v{{}}"5"5666#T&,%7%7888#T&,%7%7888 	666 	v|444v|444666*FK,=>>>fk**D,=,=>>>v|44444r   c                    t           j        r,t          dd           t          d| j        j        z             t          j                    }| j                            | j        j	        d|d          }d|_
        |                    d           |                    d           |                    d	           | j        rBt           j        rt          d
           |                     d           | j        j	        j        }|                    dd          }| j        rQt           j        rt          d
           |                                  | j        j	        j        }| j        j	        j        }t           j        rt          dt#          |                     t          dt#          |                     t          dt#          |                                                     t          dt#          |                                                     t          dt#          |j                             t          dt#          |j                             |                     |                                |                                           |                     |j        |j                   |                     |j        |j                   |                     |j
        |j
                   |                     |j        j        |j        j                   |                     t#          |j                  t#          |j                             |                     |j        |j                   dS )z1Checking VLArray.copy() method (Pseudo-atom case)rW   rX   zRunning %s.test01b_copy...re  rf  r2   s   a stringr   s   another stringr  r}   r  r   rh  ri  rj  rk  rl  rm  rn  N)r   r]   r^   r   r   r>   r[  r   rA   r   rC   rD   r   r   re  rp  rh  rh  r`   rq  rO   rR   rP   r&   rS   r'   rr  s       r   test01b_copyzCopyTestCase.test01b_copy}  s    > 	J$	""".1HHIII o++Kh^= = k"""c'(((: 	-~ 0.///LLcL"""[%,F S(++: 	-~ 0.///LLNNN[%,F[%,F> 	9+tF||,,,+tF||,,,.$v{{}}"5"5666.$v{{}}"5"5666#T&,%7%7888#T&,%7%7888 	666 	v|444v|444666)6;+;<<<fk**D,=,=>>>v|44444r   c                    t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|d          }d|_
        |                    dd	gg           |                    d
           |                    d	dgddgg           | j        rBt           j        rt          d           |                     d           | j        j	        j        }| j                            dd          }|                    |d          }| j        rVt           j        rt          d           |                                  | j        j	        j        }| j        j	        j        j        }t           j        rt          dt'          |                     t          dt'          |                     t          d|                                           t          d|                                           t          dt'          |j                             t          dt'          |j                             |                     |                                |                                           |                     |j        |j                   |                     |j        |j                   |                     |j
        |j
                   |                     |j        j        |j        j                   |                     t'          |j                  t'          |j                             |                     |j        |j                   dS )z0Checking VLArray.copy() method (where specified)rW   rX   zRunning %s.test02_copy...r+   r  re  rf  r2   r   r   rg  r-   r  r}   r  r   group1rh  ri  rj  rm  rn  N)r   r]   r^   r   r   r>   ro  r   rA   r   rC   rD   r   r   re  create_grouprp  rx  rh  rh  r`   rq  rO   rR   rP   r&   r1   r'   )r   rs  re  rx  rh  s        r   test02_copyzCopyTestCase.test02_copy  s    > 	I$	"""-0GGHHH l###++Kh^= = 1vhb3x!Q())): 	-~ 0.///LLcL"""[%,F ))#x88VX..: 	4~ 0.///LLNNN[%,F[%,3F> 	9+tF||,,,+tF||,,,+v{{}}---+v{{}}---#T&,%7%7888#T&,%7%7888 	666 	v|444v|444666*FK,=>>>fk**D,=,=>>>v|44444r   c                 R   t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|d          }d	|_
        |                    d
           |                    d           |                    d           | j        rBt           j        rt          d           |                     d           | j        j	        j        }|                    dd          }| j        rQt           j        rt          d           |                                  | j        j	        j        }| j        j	        j        }t           j        rDt          dt#          |j                             t          dt#          |j                             |                     |j        |j                   |                     |j        |j                   |                     |j
        |j
                   |                     |j        j        |j        j                   |                     t#          |j                  t#          |j                             |                     |j        |j                   dS )z0Checking VLArray.copy() method ('python' flavor)rW   rX   zRunning %s.test03_copy...r+   r  re  rf  r'   r2   r  r   )r   rg  )r+   r-   r  r}   r  r   rh  rm  rn  N)r   r]   r^   r   r   r>   ro  r   rA   r   rC   rD   r   r   re  rp  rh  rh  rq  rO   rR   rP   r&   r1   r'   r   r&   re  rh  s       r   test03_copyzCopyTestCase.test03_copy  sS    > 	I$	"""-0GGHHH |!$$$++KhN , D D i   b())): 	-~ 0.///LLcL"""[%,F S(++: 	-~ 0.///LLNNN[%,F[%,F> 	9#T&,%7%7888#T&,%7%7888 	v|444v|444666*FK,=>>>fk**D,=,=>>>v|44444r   c                    t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|d          }|
                    d	           |
                    d
           |
                    d           d|j        _        d|j        _        | j        rBt           j        rt          d           |                     d           | j        j	        j        }|                    ddd          }| j        rQt           j        rt          d           |                                  | j        j	        j        }| j        j	        j        }t           j        rt          d|j                   |                     |j        d           dS )z7Checking VLArray.copy() method (checking title copying)rW   rX   zRunning %s.test04_copy...r+   r  re  rf  r   r}  r   r~  attr1r  r}   r  r   rh  ztitle array2r|  ztitle of destination array-->N)r   r]   r^   r   r   r>   ro  r   rA   r   rD   rq  r  attr2r   r   re  rp  rh  r'   rO   r  s       r   test04_copyzCopyTestCase.test04_copy  s    > 	I$	"""-0GGHHH |!$$$++KhT , I Ii   b())) %: 	-~ 0.///LLcL"""[%,F S(.AA: 	-~ 0.///LLNNN[%,F[%,F > 	A16<@@@~66666r   c                 0   t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|d          }|
                    d	           |
                    d
           |
                    d           d|j        _        d|j        _        | j        rBt           j        rt          d           |                     d           | j        j	        j        }|                    ddd          }| j        rQt           j        rt          d           |                                  | j        j	        j        }| j        j	        j        }t           j        rDt          dt'          |j                             t          dt'          |j                             |                     |j        j        d           |                     |j        j        d           dS )z7Checking VLArray.copy() method (user attributes copied)rW   rX   zRunning %s.test05_copy...r+   r  re  rf  r   r}  r   r~  r  r  r}   r  r   rh  r*   copyuserattrsrm  rn  Nr   r]   r^   r   r   r>   ro  r   rA   r   rD   rq  r  r  r   r   re  rp  rh  rh  rO   r  s       r   test05_copyzCopyTestCase.test05_copy9  s    > 	I$	"""-0GGHHH |!$$$++KhT , I Ii   b())) %: 	-~ 0.///LLcL"""[%,F S(!<<: 	-~ 0.///LLNNN[%,F[%,F> 	9#T&,%7%7888#T&,%7%7888 	+W555+Q/////r   c                 0   t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|d          }|
                    d	           |
                    d
           |
                    d           d|j        _        d|j        _        | j        rBt           j        rt          d           |                     d           | j        j	        j        }|                    ddd          }| j        rQt           j        rt          d           |                                  | j        j	        j        }| j        j	        j        }t           j        rDt          dt'          |j                             t          dt'          |j                             |                     |j        j        d           |                     |j        j        d           dS )z;Checking VLArray.copy() method (user attributes not copied)rW   rX   zRunning %s.test05b_copy...r+   r  re  rf  r   r}  r   r~  r  r  r}   r  r   rh  r   r  rm  rn  Nr  r  s       r   notest05b_copyzCopyTestCase.notest05b_copyd  s    > 	J$	""".1HHIII |!$$$++KhT , I Ii   b())) %: 	-~ 0.///LLcL"""[%,F S(!<<: 	-~ 0.///LLNNN[%,F[%,F> 	9#T&,%7%7888#T&,%7%7888 	+T222+T22222r   N)r   r   r	   r   rt  rv  rz  r  r  r  r  r   r   r   rc  rc  F  s        E25 25 25h25 25 25h25 25 25h*5 *5 *5X&7 &7 &7P)0 )0 )0V)3 )3 )3 )3 )3r   rc  c                       e Zd ZdZdS )CloseCopyTestCaser*   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdS )OpenCopyTestCaser   Nr  r   r   r   r  r    r  r   r  c                       e Zd Zd ZdS )CopyIndexTestCasec                    t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|d          }d|_
        g }t          d	          D ]7}|                    ||d
z   gg           |                    ||d
z   g           8| j        rBt           j        rt          d           |                     d           | j        j	        j        }|                    dd| j        | j        | j                  }|| j        | j        | j                 }t           j        rt          d|           t          d|dd                    t          dt)          |j                             t          dt)          |j                             t          d|j                   t          dt/          |                     |                     ||dd                    |                     t/          |          |j                   dS )z,Checking VLArray.copy() method with indexes.rW   rX   zRunning %s.test01_index...r  r  re  t array1r2   r.  r*   r  r}   r  r   rh  )startr  stepzr2-->rj  Nrm  rn  znrows in array2-->zand it should be-->)r   r]   r^   r   r   r>   rB   r   rA   r   rC   ro   rD   r   r   re  rp  r  r  r  rh  rq  rR   re   rO   )r   r&   re  rJ   rg   rh  r2s          r   test01_indexzCopyIndexTestCase.test01_index  s0    > 	J$	""".1HHIII |$'''++Khj: :  99 	* 	*CHHsC!Gn%&&&MM3a.)))): 	-~ 0.///LLcL"""[%,F S(#':"&)"&)  - -
 tz$)DI-.> 	2'2+vaaay)))#T&,%7%7888#T&,%7%7888&555'R111 	VAAAY''' 	R&,/////r   N)r   r   r	   r  r   r   r   r  r    s#        ,0 ,0 ,0 ,0 ,0r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex1TestCaser   r5   r*   Nr   r   r	   r   r  r  r  r   r   r   r  r    "        EEDDDDr   r  c                       e Zd ZdZdZdZdZdS )CopyIndex2TestCaser*   r   r~   Nr  r   r   r   r  r    "        EEDDDDr   r  c                       e Zd ZdZdZdZdZdS )CopyIndex3TestCaser   r*   r5   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex4TestCaser*   r   r4   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex5TestCaser   r   r5   r*   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex6TestCaser*   r   r4   r+   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex7TestCaser   r5   r9   Nr  r   r   r   r  r    s"        EEDDDDr   r  c                       e Zd ZdZdZdZdZdS )CopyIndex8TestCaser*   r4   r~   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex9TestCaser   r   r-   r*   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex10TestCaser*   r   r-   r+   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex11TestCaser   r~   r+   Nr  r   r   r   r  r    s"        EEDDDDr   r  c                       e Zd ZdZdZdZdZdS )CopyIndex12TestCaser*   r~   Nr  r   r   r   r  r    s"        EEDDDDr   r  c                   *     e Zd Z fdZd Zd Z xZS )ChunkshapeTestCasec                     t                                                       t          j        d          }| j                            dd|dd           d S )Nr  r  r   rH   r  r<   )r&   r'   
chunkshape)r   r   r>   rB   r   rA   )r   r&   r   s     r   r   zChunkshapeTestCase.setUp  s[    |$'''""3	)3.0 	# 	2 	2 	2 	2 	2r   c                     | j         j        j        }t          j        rt          d|j                   |                     |j        d           dS )z3Test setting the chunkshape in a table (no reopen).chunkshape-->r<   N)r   r   rH   r   r]   r^   r  rO   r   vlas     r   test00zChunkshapeTestCase.test00&  sK     k&> 	3/3>222/////r   c                    | j                                          t          j        | j        d          | _         | j         j        j        }t          j        rt          d|j
                   |                     |j
        d           dS )z0Test setting the chunkshape in a table (reopen).rJ   r  r  N)r   r   r>   rL   rM   r   rH   r   r]   r^   r  rO   r  s     r   test01zChunkshapeTestCase.test01.  st     	l4<55k&> 	3/3>222/////r   )r   r   r	   r   r  r  r   r   s   @r   r  r    sV        2 2 2 2 20 0 00 0 0 0 0 0 0r   r  c                   .     e Zd Z fdZ fdZd Z xZS )VLUEndianTestCasec                     t                                                       t          j        d          | _        t          j        | j                  | _        d S )Nzvlunicode_endian.h5)r   r   r   test_filenamerM   r>   rL   r   r   s    r   r   zVLUEndianTestCase.setUp:  s>    +,ABBl4<00r   c                 z    | j                                          t                                                       d S r   )r   r   r   tearDownr   s    r   r  zVLUEndianTestCase.tearDown?  s3    r   c                     | j         j        j        d         }| j         j        j        d         }|                     |d           |                     |d           dS )z7Accessing ``vlunicode`` data of a different endianness.r   u	   paraŀlelN)r   r   vlunicode_bigvlunicode_littlerO   )r   bedataledatas      r   testzVLUEndianTestCase.testC  sZ     !/2!21511111111r   )r   r   r	   r   r  r  r   r   s   @r   r  r  9  s`        1 1 1 1 1
    2 2 2 2 2 2 2r   r  c                   6     e Zd Z fdZd Zd Zd Zd Z xZS )TruncateTestCasec                 j   t                                                       t          j        d          }| j                            | j        j        d|d          }|                    t          j	        ddgd                     |                    t          j	        dgd                     d S )	Nr   )dfltre  rf    r+   r   r0   )
r   r   r>   ro  r   rA   r   rD   rE   rF   )r   rs  re  r   s      r   r   zTruncateTestCase.setUpN  s     l"""++Kh^= = 	bhQxw777888bhs'22233333r   c                    | j         j        j        }|                    d           | j        r@t
          j        rt          d           |                                  | j         j        j        }t
          j        r"t          d|	                                           | 
                    |j        d           | 
                    |dd         g            dS )z9Checking VLArray.truncate() method (truncating to 0 rows)r   r  ri  N)r   r   re  truncater   r   r]   r^   r   r`   rO   rR   r   re  s     r   test00_truncatez TruncateTestCase.test00_truncateZ  s     !(: 	-~ 0.///LLNNN[%,F> 	.+v{{}}---q)))B'''''r   c           	         | j         j        j        }|                    d           | j        r@t
          j        rt          d           |                                  | j         j        j        }t
          j        r"t          d|	                                           | 
                    |j        d           |                     t          j        |d         t          j        ddgd                               d	S )
z9Checking VLArray.truncate() method (truncating to 1 rows)r*   r  ri  r   r  r+   r   r0   Nr   r   re  r  r   r   r]   r^   r   r`   rO   rR   rc   rd   rE   rF   r  s     r   test01_truncatez TruncateTestCase.test01_truncatem  s     !(: 	-~ 0.///LLNNN[%,F> 	.+v{{}}---q)))1Irxa888: : 	; 	; 	; 	; 	;r   c           	         | j         j        j        }|                    d           | j        r@t
          j        rt          d           |                                  | j         j        j        }t
          j        r"t          d|	                                           | 
                    |j        d           |                     t          j        |d         t          j        ddgd                               |                     t          j        |d         t          j        d	gd                               d
S )z@Checking VLArray.truncate() method (truncating to == self.nrows)r+   r  ri  r   r  r   r0   r*   r   Nr  r  s     r   test02_truncatez TruncateTestCase.test02_truncate  s!    !(: 	-~ 0.///LLNNN[%,F> 	.+v{{}}---q)))OF1Irxa'H'H'HII	K 	K 	K1Irx73335 5 	6 	6 	6 	6 	6r   c           	         | j         j        j        }|                    d           | j        r@t
          j        rt          d           |                                  | j         j        j        }t
          j        r"t          d|	                                           | 
                    |j        d           |                     t          j        |d         t          j        ddgd                               |                     t          j        |d	         t          j        d
gd                               |                     t          j        |d         t          j        g d                               |                     t          j        |d
         t          j        g d                               dS )z?Checking VLArray.truncate() method (truncating to > self.nrows)r-   r  ri  r   r  r+   r   r0   r*   r   Nr  r  s     r   test03_truncatez TruncateTestCase.test03_truncate  s    !(: 	-~ 0.///LLNNN[%,F> 	.+v{{}}---q))) 	OF1Irxa'H'H'HII	K 	K 	K1Irx73335 5 	6 	6 	6 	1Irx'2224 4 	5 	5 	51Irx'2224 4 	5 	5 	5 	5 	5r   )	r   r   r	   r   r  r  r  r  r   r   s   @r   r  r  L  st        
4 
4 
4 
4 
4( ( (&; ; ;(6 6 6,5 5 5 5 5 5 5r   r  c                       e Zd ZdZdS )TruncateOpenTestCaser   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdS )TruncateCloseTestCaser*   Nr  r   r   r   r  r    r  r   r  c                   *     e Zd Z fdZd Zd Z xZS )PointSelectionTestCasec                    t                                                       g dgddgddgddgft          j        g d          t          j        dgd          t          j        g d          g| _        g dg dfg| _        t          j        d	d
gd          }t          j        g dd          }t          j        g dd          }t          j        |||gd          | _        | j                            | j        j	        dt          j                              | _        | j                            |           | j                            |           | j                            |           d S )Nr+   r   ry  r0   r*   )TFT)r*   r+   r  r.   r4   )r.   r4   r5   )r.   r4   r7   r6   rz   rH   )r   r   rE   rF   working_keysetnot_working_keysetnparrr   rA   r   r>   rB   vlarrrD   )r   r  r  r  r   s       r   r   zPointSelectionTestCase.setUp  st    CFGVIHRt$$$HaS%%%H((())	
 KK   "#
 xAd+++x			...xD111XtT40AAA
 [//Ki9 9

$
$
$r   c                 .   | j         }| j        }| j        D ]~}t          j        rt          dt          |                     ||                                         }||         }|                     t          |          t          |          d           dS )z/Test for point-selections (read, boolean keys).Selection to test:z3NumPy array and PyTables selections does not match.N)	r  r  r  r   r]   r^   rh  tolistrO   )r   r  r  keyr}   r  s         r   test01a_readz#PointSelectionTestCase.test01a_read  s     

& 
	G 
	GC~ 7*DII666c
!!##Ac
A QaEG G G G
	G 
	Gr   c                     | j         }| j        D ]?}t          j        rt	          d|           |                     t          |j        |           @dS )z9Test for point-selections (not working selections, read).r  N)r  r  r   r]   r^   r`  r:  __getitem__)r   r  r  s      r   test01b_readz#PointSelectionTestCase.test01b_read  sd     
* 	B 	BC~ 1*C000j%*;SAAAA	B 	Br   )r   r   r	   r   r  r  r   r   s   @r   r  r    sa                      DG G G"B B B B B B Br   r  c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	SizeInMemoryPropertyTestCasec                 x    t          j        |d          }| j                            dd||          | _        d S )Nr   r  r   rH   )r&   r(   )r>   r?   r   rA   rF   r   r&   r   r(   s       r   create_arrayz)SizeInMemoryPropertyTestCase.create_array  sC    *y'BBB[//YT8? 0 A A


r   c                     t          j                    }d}|                     ||           |                     | j        j        d           d S Nr   )r>   rB   r  rO   rF   size_in_memoryr   r&   r   s      r   test_zero_lengthz-SizeInMemoryPropertyTestCase.test_zero_length  sI    |~~	$	***2A66666r   c                    t          j                    }|                     ||           || j        _        d}t          d          D ]B}t          j        |dz   dz  d          }| j                            |           ||j	        z  }C|S )Nr   r9   r*   ry  r0   )
r>   rB   r  rF   rC   ro   rE   r  rD   nbytes)r   r   rC   r&   expected_sizerw   rg   s          r   	int_testsz&SizeInMemoryPropertyTestCase.int_tests
  s    |~~$	***"
r 	( 	(A)QUbL555CJc"""SZ'MMr   c                 z    d}d}|                      ||          }|                     | j        j        |           d S )Nr   r   r  rO   rF   r  r   r   rC   r  s       r   test_numpy_int_numpy_flavorz8SizeInMemoryPropertyTestCase.test_numpy_int_numpy_flavor  @    	y&992MBBBBBr   c                 z    d}d}|                      ||          }|                     | j        j        |           d S )Nr*   r   r  r   s       r   &test_numpy_int_numpy_flavor_compressedzCSizeInMemoryPropertyTestCase.test_numpy_int_numpy_flavor_compressed  r  r   c                 z    d}d}|                      ||          }|                     | j        j        |           d S )Nr   r2   r  r   s       r   test_numpy_int_python_flavorz9SizeInMemoryPropertyTestCase.test_numpy_int_python_flavor#  s@    	y&992MBBBBBr   c                 :   t          j                    }d}|                     ||           g d}t          d          D ]}| j                            |           |                    |          }d|j        z  }|                     | j        j	        |           d S )Nr   r  r9   )
r>   rn  r  ro   rF   rD   toarrayr  rO   r  )r   r&   r   rT   rw   pickle_arrayr  s          r   test_object_atomz-SizeInMemoryPropertyTestCase.test_object_atom+  s    }	$	***iir 	# 	#AJc""""||C((\002MBBBBBr   N)
r   r   r	   r  r  r  r  r  r  r
  r   r   r   r  r    s        A A A
7 7 7	 	 	C C CC C CC C C	C 	C 	C 	C 	Cr   r  c                       e Zd Zd Zd ZdS )SizeOnDiskPropertyTestCasec                     t          j        |d          }| j                            dd||           | j                            dd          | _        d S )Nr   r  r   rH   )r(   )r>   r?   r   rA   rN   rF   r  s       r   r  z'SizeOnDiskPropertyTestCase.create_array9  sR    *y'BBB""3	4"III[))#y99


r   c                     t          j                    }d}|                     ||           |                     t          t
          | j        d           d S )Nr   size_on_disk)r>   IntAtomr  r`  NotImplementedErrorgetattrrF   r  s      r   test_not_implementedz/SizeOnDiskPropertyTestCase.test_not_implemented>  sV    z||	$	***-w
(	* 	* 	* 	* 	*r   N)r   r   r	   r  r  r   r   r   r  r  7  s2        : : :
* * * * *r   r  c                   6     e Zd Z fdZd Zd Zd Zd Z xZS )AccessClosedTestCasec                 *   t                                                       | j                            | j        j        dt          j        d                    | _        | j                            d t          ddd          D                        d S )NrF   r6   r  c                 ,    g | ]}t          |          S r   )r  ).0rw   s     r   
<listcomp>z.AccessClosedTestCase.setUp.<locals>.<listcomp>K  s    ???a3q66???r   r.   i  r  )
r   r   r   rA   r   r>   r   rF   rD   ro   r   s    r   r   zAccessClosedTestCase.setUpG  s    [//KgBM!,<,< 0 > >

??5D#+>+>???@@@@@r   c                     | j                                          |                     t          j        | j        j                   d S r   )r   r   r`  r>   ClosedNodeErrorrF   r`   r   s    r   	test_readzAccessClosedTestCase.test_readM  sD    
	1 	1 	1 	1 	1r   c                     | j                                          |                     t          j        | j        j        d           d S r  )r   r   r`  r>   r  rF   r  r  s    r   test_getitemz!AccessClosedTestCase.test_getitemR  sG    
 6	; 	; 	; 	; 	;r   c                     | j                                          |                     t          j        | j        j        dd           d S )Nr   0)r   r   r`  r>   r  rF   rg  r  s    r   test_setitemz!AccessClosedTestCase.test_setitemW  sN    
 63	@ 	@ 	@ 	@ 	@r   c                     | j                                          |                     t          j        | j        j        d           d S )N	xxxxxxxxx)r   r   r`  r>   r  rF   rD   r  s    r   test_appendz AccessClosedTestCase.test_append\  sL    
 1;	@ 	@ 	@ 	@ 	@r   )	r   r   r	   r   r  r  r"  r%  r   r   s   @r   r  r  F  s        A A A A A1 1 1
; ; ;
@ @ @
@ @ @ @ @ @ @r   r  c                       e Zd Z ej        g d          ZdZdZej	        
                    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S )TestCreateVLArrayArgsr  r   rH   r'   NFc                 x   | j                             | j        | j        | j        | j        | j        | j                   | j                                          t          j
        | j                  | _         | j                             | j        | j                  }|                     |j        | j                   |                     |j        d           |                     |j        d           |                     |j        | j                   |                     |j        j        | j        j                   d S )Nr  r   )r   rA   wherer   r&   r'   r(   r)   r   r>   rL   rM   rN   rO   rP   rR   r1   r   ptarrs     r   test_positional_args_01z-TestCreateVLArrayArgs.test_positional_args_01n  s   ""4:ty#'9#':t|#'#4	6 	6 	6 	l4<00$$TZ;;dj111d+++a(((TY///)49?;;;;;r   c                    | j                             | j        | j        | j        | j        | j        | j                  }|                    | j	                   | j         
                                 t          j        | j                  | _         | j                             | j        | j                  }|                                d         }|                     |j        | j                   |                     |j        d           |                     |d         j        | j	        j                   |                     |j        d           |                     |j        | j                   |                     |j        j        | j        j                   |                     t+          j        | j	        |                     d S Nr   r*   r*   )r   rA   r)  r   r&   r'   r(   r)   rD   rT   r   r>   rL   rM   rN   r`   rO   rP   rR   r1   rc   r   rd   r   r+  r  s      r   test_positional_args_02z-TestCreateVLArrayArgs.test_positional_args_02~  sh   **4:ty+/9+/:+/<+/+<	> >
 	TXl4<00$$TZ;;

Qdj111d+++q888a(((TY///)49?;;;%8899999r   c                    | j                             | j        | j        d | j        | j        | j        | j        | j        | j	        | j
        
  
         | j                                          t          j        | j                  | _         | j                             | j        | j                  }|                                d         }|                     |j        | j                   |                     |j        d           |                     |d         j        | j
        j                   |                     |j        d           |                     |j        | j                   |                     |j        j        | j        j                   |                     t/          j        | j
        |                     d S r.  )r   rA   r)  r   r'   r(   r)   r  r  createparentsrT   r   r>   rL   rM   rN   r`   rO   rP   rR   r&   r1   rc   r   rd   r0  s      r   test_positional_args_objz.TestCreateVLArrayArgs.test_positional_args_obj  sj   ""4:ty#'#':#'<#'#4#'?#'>#'#5#'8	- 	- 	- 	l4<00$$TZ;;

Qdj111d+++q888a(((TY///)49?;;;%8899999r   c                 F   | j                             | j        | j        | j        | j                   | j                                          t          j        | j	                  | _         | j         
                    | j        | j                  }|                                d         }|                     |j        | j                   |                     |j        d           |                     |d         j        | j        j                   |                     |j        d           |                     |j        | j                   |                     |j        j        | j        j                   |                     t%          j        | j        |                     d S )N)r'   rT   r   r/  r*   )r   rA   r)  r   r'   rT   r   r>   rL   rM   rN   r`   rO   rP   rR   r&   r1   rc   r   rd   r0  s      r   test_kwargs_objz%TestCreateVLArrayArgs.test_kwargs_obj  sN   ""4:ty
'+x 	# 	1 	1 	1l4<00$$TZ;;

Qdj111d+++q888a(((TY///)49?;;;%8899999r   c                 z   | j                             | j        | j        | j        | j                  }|                    | j                   | j                                          t          j
        | j                  | _         | j                             | j        | j                  }|                                d         }|                     |j        | j                   |                     |j        d           |                     |d         j        | j        j                   |                     |j        d           |                     |j        | j                   |                     |j        j        | j        j                   |                     t'          j        | j        |                     d S )Nr'   r&   r   r/  r*   )r   rA   r)  r   r'   r&   rD   rT   r   r>   rL   rM   rN   r`   rO   rP   rR   r1   rc   r   rd   r0  s      r   test_kwargs_atom_01z)TestCreateVLArrayArgs.test_kwargs_atom_01  sb   **4:ty1504	 + ; ; 	TXl4<00$$TZ;;

Qdj111d+++q888a(((TY///)49?;;;%8899999r   c                 b   | j                             | j        | j        | j        | j                  }| j                                          t          j        | j	                  | _         | j         
                    | j        | j                  }|                     |j        | j                   |                     |j        d           |                     |j        d           |                     |j        | j                   |                     |j        j        | j        j                   d S )Nr8  r  r   )r   rA   r)  r   r'   r&   r   r>   rL   rM   rN   rO   rP   rR   r1   r*  s     r   test_kwargs_atom_02z)TestCreateVLArrayArgs.test_kwargs_atom_02  s    **4:ty1504	 + ; ; 	l4<00$$TZ;;dj111d+++a(((TY///)49?;;;;;r   c                 R   | j                             | j        | j        | j        | j        | j                  }| j                                          t          j	        | j
                  | _         | j                             | j        | j                  }|                                d         }|                     |j        | j                   |                     |j        d           |                     |d         j        | j        j                   |                     |j        d           |                     |j        | j                   |                     |j        j        | j        j                   |                     t%          j        | j        |                     d S )Nr'   rT   r&   r   r/  r*   )r   rA   r)  r   r'   rT   r&   r   r>   rL   rM   rN   r`   rO   rP   rR   r1   rc   r   rd   r0  s      r   test_kwargs_obj_atomz*TestCreateVLArrayArgs.test_kwargs_obj_atom  sS   **4:ty15/3x04	 + ; ; 	l4<00$$TZ;;

Qdj111d+++q888a(((TY///)49?;;;%8899999r   c           	          t           j                            t          j        d                    }|                     t          | j        j        | j	        | j
        | j        | j        |           d S )Ncomplexr=  )r>   r  
from_dtyperE   r1   r`  ra  r   rA   r)  r   r'   rT   )r   r&   s     r   test_kwargs_obj_atom_errorz0TestCreateVLArrayArgs.test_kwargs_obj_atom_error  si    w!!"(9"5"566)+4*) $
"h# 	 	% 	% 	% 	% 	%r   )r   r   r	   rE   rF   rT   r)  r   r>   r  rA  r1   r&   r'   r(   r)   r  r  r3  r,  r1  r4  r6  r9  r;  r>  rB  r   r   r   r'  r'  b  s        
"(999

CED7ci((DEGLJIM< < < : : :*: : :0: : :": : :&< < < : : :&	% 	% 	% 	% 	%r   r'  c                     t           j                                        } d}t          |          D 
]S}|                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                                |                     t           j                            t"                               |                     t           j                            t$                               |                     t           j                            t&                               |                     t           j                            t(                               |                     t           j                            t*                               |                     t           j                            t,                               |                     t           j                            t.                               |                     t           j                            t0                               |                     t           j                            t2                               |                     t           j                            t4                               |                     t           j                            t6                               |                     t           j                            t8                               |                     t           j                            t:                               |                     t           j                            t<                               |                     t           j                            t>                               |                     t           j                            t@                               |                     t           j                            tB                               |                     t           j                            tD                               |                     t           j                            tF                               |                     t           j                            tH                               |                     t           j                            tJ                               |                     t           j                            tL                               |                     t           j                            tN                               |                     t           j                            tP                               |                     t           j                            tR                               |                     t           j                            tT                               |                     t           j                            tV                               |                     t           j                            tX                               |                     t           j                            tZ                               |                     t           j                            t\                               |                     t           j                            t^                               |                     t           j                            t`                               |                     t           j                            tb                               |                     t           j                            td                               |                     t           j                            tf                               |                     t           j                            th                               |                     t           j                            tj                               
U| S )Nr*   )6r   unittest	TestSuitero   addTest	makeSuiter   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r  r  r  r=  rN  r   r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r'  )theSuiteniterns      r   suiterK    s=   ((**HE5\\ 2K 2K223EFFGGG223FGGHHH223DEEFFF223EFFGGG223LMMNNNO%%&BCC	E 	E 	E223LMMNNN223HIIJJJ223JKKLLL223KLLMMM223IJJKKK223IJJKKK223CDDEEE223EFFGGG223FGGHHH223HIIJJJ223GHHIII223JKKLLL223KLLMMM223GHHIII223FGGHHH223DEEFFF223GHHIII223CDDEEE223GHHIII223DEEFFF223CDDEEE223EFFGGG223EFFGGG223EFFGGG223EFFGGG223EFFGGG223EFFGGG223EFFGGG223EFFGGG223EFFGGG223FGGHHH223FGGHHH223FGGHHH223EFFGGG223DEEFFF223GHHIII223HIIJJJ223IJJKKKO%%&BCC	E 	E 	E223MNNOOO223GHHIII223HIIJJJJOr   __main__rK  )defaultTest)Nr!  r   rE   tablesr>   tables.testsr   r   TempFileMixinPyTablesTestCaser   r   r   r   rD  skipIfblosc_availr   r   r   r   blosc_compressor_listr   r   r   r   r   	lzo_availr   bzip2_availr   r   r   r  r  r  r  r  r  r  r  r  r  r  r=  rN  rc  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r'  rK  r   
parse_argvargvprint_versionsmainr   r   r   <module>r[     s7   



                     fI fI fI fI fIF(&*A fI fI fIR           -          
 F..AC C      C C F..AC C      C C F..AC C    =  C C F..AC C      C C F..AC C	))+++^= =    M  = =C C F..AC C	))+++^= =    m  = =C C F..AC C(@(@(B(BB)+ +    }  + +C C F..AC C
*"*,,,o? ?    ]  ? ?C C F..AC C
*"*,,,o? ?    ]  ? ?C C AC C    }  C C
 F..AC C      C C
    =   
C) C) C) C) C)F(&*A C) C) C)L&    -   
    M   
A- A- A- A- A-f*F,C A- A- A-H
    ?   i& i& i& i& i&&.0G i& i& i&X    1       2   f/ f/ f/ f/ f/V)6+B f/ f/ f/R	    .       >   R! R! R! R! R!,f.E R! R! R!jA! A! A! A! A!6/1H A! A! A!H
E" E" E" E" E"v+V-D E" E" E"PG3 G3 G3 G3 G36')@ G3 G3 G3T
           |   .0 .0 .0 .0 .0,f.E .0 .0 .0b    *       *       *       *       *       *       *       *       *       +       +       +   0 0 0 0 0-v/F 0 0 082 2 2 2 2/ 2 2 2&g5 g5 g5 g5 g5v+V-D g5 g5 g5T    +       ,   <B <B <B <B <BV163J <B <B <B~7C 7C 7C 7C 7C6#7#)#:7C 7C 7Ct* * * * *!5!'!8* * *@ @ @ @ @6/1H @ @ @8Y% Y% Y% Y% Y%F0&2I Y% Y% Y%x8 8 8v zFchF
OW----- r   