
    ꢩe                       d dl Z d dlmZ d dlZd dlZd dlmZ 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 G d de          Z G d de          Z G d de          Z G d de          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 G d de          Zej                            ej         d           G d  d!e                      Z G d" d#e          Zej                            ej         d           G d$ d%e                      Z G d& d'e          Z G d( d)e          Z  G d* d+e          Z! G d, d-e          Z" G d. d/e          Z# G d0 d1e          Z$ G d2 d3e          Z% G d4 d5e          Z& G d6 d7e          Z' G d8 d9e          Z( G d: d;e          Z) G d< d=e          Z* G d> d?e          Z+ G d@ dAe          Z,ej                            ej-         dB           G dC dDe                      Z.ej                            ej-         dB           G dE dFe                      Z/ej                            ej-         dB           G dG dHe                      Z0ej                            ej-         dB           G dI dJe                      Z1ej                            ej-         dB           G dK dLe                      Z2ej                            ej-         dB          ej                            dM ej3                    vdN           G dO dPe                                  Z4ej                            ej-         dB          ej                            dM ej3                    vdN           G dQ dRe                                  Z5ej                            ej-         dB          ej                            dS ej3                    vdT           G dU dVe                                  Z6ej                            ej-         dB          ej                            dW ej3                    vdX           G dY dZe                                  Z7ej                            ej-         dB          ej                            d[ ej3                    vd\           G d] d^e                                  Z8ej                            ej9         d_           G d` dae                      Z:ej                            ej9         d_           G db dce                      Z;ej                            ej9         d_           G dd dee;                      Z<ej                            ej9         d_           G df dge                      Z=ej                            ej9         d_           G dh die=                      Z>ej                            ej9         d_           G dj dke                      Z?ej                            ej9         d_           G dl dme                      Z@ej                            ej9         d_           G dn doe                      ZAej                            ej9         d_           G dp dqejB        ej                              ZCej                            ej         d           G dr dse                      ZDej                            ej         d           G dt due                      ZEej                            ejF         dv           G dw dxe                      ZGej                            ejF         dv           G dy dze                      ZH G d{ d|e          ZI G d} d~e          ZJ G d de          ZK G d de          ZL G d de          ZM G d de          ZN G d de          ZO G d de          ZP G d de          ZQ G d de          ZRej        S                     eTed          d           G d de                      ZU G d de          ZV G d de          ZWej        S                     eTed          d           G d de                      ZXej        S                     eTed          d           G d de                      ZY G d de          ZZ G d de          Z[ej        S                     eTed          d           G d de                      Z\ej        S                     eTed          d           G d de                      Z] G d de          Z^ G d dej
        ej                  Z_ G d dej
        ej                  Z` G d dej
        ej                  Za G d dej
        ej                  Zb G d deb          Zc G d deb          Zd G d dej
        ej                  Ze G d dee          Zf G d dee          Zg G d dee          Zh G d dee          Zi G dÄ dee          Zj G dń dee          Zk G dǄ dee          Zl G dɄ dee          Zm G d˄ dee          Zn G d̈́ dee          Zo G dτ dee          Zp G dф dee          Zq G dӄ dej
        ej                  Zr G dՄ der          Zs G dׄ der          Zt G dل dej
        ej                  Zu G dۄ dej
        ej                  Zv G d݄ dev          Zw G d߄ dev          Zx G d dej
        ej                  Zy G d dey          Zz G d dey          Z{ G d dej
        ej                  Z| G d dej
        ej                  Z} G d de}          Z~ G d de}          Z G d dej
        ej                  Z G d de          Z G d de          Z G d dej
        ej                  Z G d dej
        ej                  Zd Zedk    rA ej        e j                    ej                     ej                            d           dS dS )    N)Path)commonc                  ,    dddt           j                 S )Nbiglittle)r   r   )sys	byteorder     8lib/python3.11/site-packages/tables/tests/test_carray.pyforeign_byteorderr   
   s    H--cm<<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 fd
Zd Zd Zd Zd Zd Zd Zd Z xZS )BasicTestCaseNnumpyint32   r   r   
         r   zlibc                     t                                                       | j        j        | _        |                                  | j        r| j                                         d S d S N)supersetUph5fileroot	rootgrouppopulateFilereopencloseself	__class__s    r   r   zBasicTestCase.setUp!   s`    ); 	 K	  	 r   c                    | j         }| j        }|K| j        dk    rt          j        | j                  }n't          j                            | j                  }nd }| j        j	        }t          j
        | j        | j        | j        | j        | j                  }| j                            |d|| j        ||| j        | j        |	  	        }| j        |_        t-          |j                  | _        | j        t1          j        |j                  z  | _        | j        dk    rn| j        dk    r2t1          j        d| j        z  | j        d|j        j        z  	          }n1t1          j        | j        |j        j        
          }|j        |_        t@          j!        rtE          dtG          |                     ||d<   d S )Nstringitemsize)	complevelcomplibshuffle
bitshuffle
fletcher32carray1)atomshapetitlefilters
chunkshaper	   objr      azS%sbufferr1   dtyper9   zObject to append -->.)$r   r5   typetb
StringAtomlengthAtom	from_typer%   __name__Filterscompressr+   r,   r-   r.   r   create_carrayr1   r4   r	   flavorlistrowshapenpprodobjsizendarrayr0   r)   aranger9   r   verboseprintrepr)r$   groupr5   r0   r2   r3   carrayobjects           r   r    zBasicTestCase.populateFile*   s   h;yH$$}dk:::w((33D'*t}%)\%)\(,(,	9 9 9
 **5)04DJ166:o59^/2 + 4 4  V\**{RWV\%:%::;'!!yH$$4+<*.**/&+2F*FH H H 4<v{7HIII%|> 	8($v,,777sr   c                 `    | j         | j         }nt          j        | j                  j         }|S r   )r1   rH   asarrayr5   r$   r1   s     r   
_get_shapezBasicTestCase._get_shapeS   s,    :!JEEJtx((.Er   c                 @   | j         rt          j        | j        d          | _        | j                            d          }|                                 }|                     |j        | j                   |                     |j	        |           |                     |j
        t          |                     |                     |j        | j                   |                     |j        |d                    |                     |j        j        | j                   d S )Nr/carray1r   )r!   r<   	open_fileh5fnamer   get_noderV   assertEqualrE   r1   ndimlenr4   nrowsr0   r;   )r$   r5   r1   s      r   test00_attributeszBasicTestCase.test00_attributes[   s    ; 	:,t|S99DKk"":..!!T[111E***3u::...999E!H---	22222r   c                    t           j        r,t          dd           t          d| j        j        z             | j        rt          j        | j        d          | _	        | j	        
                    d          }d|_        t           j        rGt          dt          |                     t          d|j                   t          d	| j                   |                                 }| j        d
k    ri| j        dk    r2t#          j        d| j        z  | j        d|j        j                   }n,t#          j        | j        |j        j                  }||_        | j        }| j        | j        dk    r|j        }n
| j        dz   }|j        |k     rt7          |j                  }|| j        || j                                                 }	 |                    | j        || j                  }n\# t>          $ rO | j        d
k    r!t#          j         | j        | j                  }n t#          j         | j        | j                  }Y nw xY wt           j        r_tC          |d          rt          d|j                   t          dt          |                     t          dt          |                     tC          |d          r6| "                    tG          |j                  tG          |                     n(| "                    tG          | j                  d           | "                    |j$        | j$                   | %                    t          j&        ||| j                             dS ))Checking read() of chunked layout arrays.
<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01_readCArray...rX   rY      CArray descr:shape of read array ==>reopening?:r   r'   r6   Sr7   r:   Nr   r1   r9   r1   shape should look as:zObject read ==>zShould look like ==>)'r   rM   rN   r%   rA   r!   r<   rZ   r[   r   r\   
nrowsinbufrO   r1   rV   rE   r;   rH   rK   rJ   r0   r)   rL   r9   stopstartr`   intstepcopyread
IndexErroremptyhasattrr]   r_   r4   
assertTrueallequalr$   rQ   r1   object_ro   r5   datas          r   test01_readCArrayzBasicTestCase.test01_readCArrayi   s6    > 	O$	"""3dn6MMNNN ; 	:,t|S99DK%%j11 > 	./4<<000+V\:::----!! ;'!!yH$$*D4<,?+/:+Ev{/C+E+EG G G )DL8IJJJ %y 9zR|zA~ <$ v|$$D djdi/05577	C;;tz4;;DD 	C 	C 	C{g%%xdj	BBBxdj	BBB		C > 	5sG$$ :-sy999#T$ZZ000($s))4444!! 	1S__c%jj9999 S__a000*DO<<<c4;??@@@@@s   !G/ /AIIc                 p   | j         rt          j        | j        d          | _        | j                            d          }|                                 }d|_        | j        dk    ri| j	        dk    r2t          j        d| j        z  | j        d|j        j                   }n,t          j        | j        |j        j        	          }||_        | j        }| j        | j        dk    r|j        }n
| j        dz   }|j        |k     rt+          |j                  }|| j        || j                                                 }	 t          j        ||j        j        	          }|| j        || j                                                 }|                    | j        || j        |           nR# t4          $ rE | j        dk    rt          j        || j	                  }nt          j        || j	                  }Y nw xY wt7          |d          r6|                     t;          |j                  t;          |                     n#|                     t;          |          d           |                     |j        | j                   |                     tA          j!        ||| j                             d
S )rc   rX   rY   rf   r   r'   r6   rj   r7   r:   Nrk   r   outrl   r1   )"r!   r<   rZ   r[   r   r\   rV   rn   rE   r;   rH   rK   rJ   r1   r0   r)   rL   r9   ro   rp   r`   rq   rr   rs   rv   rt   ru   rw   r]   r_   r4   rx   r   ry   rz   s          r   test01_readCArray_out_argumentz,BasicTestCase.test01_readCArray_out_argument   s    ; 	:,t|S99DK%%j11!! ;'!!yH$$*D4<,?+/:+Ev{/C+E+EG G G )DL8IJJJ %y 9zR|zA~ <$ v|$$D djdi/05577	>8E):;;;D
4	127799DKK
D$)K>>>> 	> 	> 	>{g%%xe49===xe49===		> 4!! 	,S__c%jj9999 SZZ+++*DO<<<c4;??@@@@@s   A*F- -AG<;G<c                    t           j        r,t          dd           t          d| j        j        z             t          | d          s&t          | j        | j        | j	                  f| _
        | j        rt          j        | j        d          | _        | j                            d          }t           j        rGt          dt#          |                     t          d|j                   t          d	| j                   |                                 }| j        d
k    r2t+          j        d| j        z  | j        d|j        j                   }n,t+          j        | j        |j        j                  }||_        |                    | j
                                                  }	 |                    | j
                  }nk# t<          $ r^ t          d           | j        dk    r!t+          j         | j        | j                  }n t+          j         | j        | j                  }Y nw xY wt           j        rt          dt#          |                     t          dt#          |                     t          |d          r?t          d| j                   t          d|j                   t          d|j                   t          |d          s(| !                    tE          | j                  d           | !                    |j#        | j#                   | $                    t          j%        ||| j                             dS )z9Checking chunked layout array __getitem__ special method.rd   re   z"Running %s.test02_getitemCArray...slicesrX   rY   rg   rh   ri   r'   r6   rj   r7   r:   IndexError!r   rl   Object read:
Should look like:
r1   Original object shape:Shape read:rm   r   N)&r   rM   rN   r%   rA   rw   slicerp   ro   rr   r   r!   r<   rZ   r[   r   r\   rO   r1   rV   r;   rH   rK   rJ   r0   r)   rL   r9   __getitem__rs   ru   rE   rv   r]   r_   r4   rx   ry   r$   rQ   r1   r{   r5   r|   s         r   test02_getitemCArrayz"BasicTestCase.test02_getitemCArray   s    > 	+$	"""6.)* + + + tX&& 	E TY	BBDDK ; 	:,t|S99DK%%j11> 	./4<<000+V\:::----!! 9  jt|(;'+z'A6;+?'A'AC C CGG iFK4EFFFG!GM !!$+..3355	C%%dk22DD 	C 	C 	C-   {g%%xdj	BBBxdj	BBB	C > 	:"DJJ///'c333sG$$ :.
;;;mTZ000-sy999tW%% 	1S__a000*DO<<<c4;??@@@@@s   ,G A%H/.H/c                 	   t           j        r,t          dd           t          d| j        j        z             t          | d          s&t          | j        | j        | j	                  f| _
        | j        rt          j        | j        d          | _        | j                            d          }t           j        rGt          dt#          |                     t          d|j                   t          d	| j                   |                                 }| j        d
k    r2t+          j        d| j        z  | j        d|j        j                   }n,t+          j        | j        |j        j                  }||_        |                    | j
                                                  }| j        d
k    rft          | d          rd|| j        <   d|| j        <   n
tA          || j
                 j                  dk    rd|dd<   |j!        dk    r
||| j
        <   nt          | d          r7|| j                 dz  dz   || j        <   || j                 dz  dz   || j        <   nctA          || j
                 j                  dk    r@|dz  dz   }t+          j"        |j                  dk    r|| j
                 dz  dz   || j
        <   t+          j#        ||j        j                  }	 |                    | j
                  }nk# tH          $ r^ t          d           | j%        dk    r!t+          j&        | j        | j                  }n t+          j&        | j        | j                  }Y nw xY wt           j        rt          dt#          |                     t          dt#          |                     t          |d          r?t          d| j                   t          d|j                   t          d|j                   t          |d          s(| '                    tQ          | j                  d           | '                    |j)        | j)                   | *                    t          j+        ||| j%                             dS )z9Checking chunked layout array __setitem__ special method.rd   re   z"Running %s.test03_setitemCArray...r   arY   rg   rh   ri   r'   r6   rj   r7   r:   wslicexXxr   Nr   rf   r   r   rl   r   r   r1   r   r   rm   r   ),r   rM   rN   r%   rA   rw   r   rp   ro   rr   r   r!   r<   rZ   r[   r   r\   rO   r1   rV   r;   rH   rK   rJ   r0   r)   rL   r9   r   rs   wslizer   sumsizerI   arrayru   rE   rv   r]   r_   r4   rx   ry   r   s         r   test03_setitemCArrayz"BasicTestCase.test03_setitemCArray)  sO    > 	+$	"""6.)* + + + tX&& 	E TY	BBDDK ; 	:,t|S99DK%%j11> 	./4<<000+V\:::----!! 9  jt|(;'+z'A6;+?'A'AC C CGG iFK4EFFFG!GM !!$+..33559  tX&& .#(DK &+t{##S%+,,11AAA8a<<*-F4;'tX&& F#&t{#3a#7!#;DK &,T[&9A&=&At{##S%+,,11Agk739%%))*0*=*AA*EF4;'(3fk&7888C	C%%dk22DD 	C 	C 	C-   {g%%xdj	BBBxdj	BBB	C > 	:"DJJ///'c333sG$$ :.
;;;mTZ000-sy999tW%% 	1S__a000*DO<<<c4;??@@@@@s   'L A%M*)M*)rA   
__module____qualname__r5   rE   r;   r1   rp   ro   rr   r>   r4   r	   rC   r+   r,   r-   r.   r!   r   r    rV   ra   r}   r   r   r   __classcell__r%   s   @r   r   r      s       
CFDEEDDFJIHGGJJF         ' ' 'R  3 3 3FA FA FAP9A 9A 9Av;A ;A ;AzMA MA MA MA MA MA MAr   r   c                   "    e Zd ZdZdZdZdZdZdS )BasicWriteTestCaser   r   r   r   N)rA   r   r   r;   r1   r4   rr   r   r
   r   r   r   r   y  s'        DEJDFFFr   r   c                   Z    e Zd ZdZdZdZdZ eed         dz
  ed         d          ZdZ	dS )BasicWrite2TestCaser   r   r   r   r   r   N)
rA   r   r   r;   r1   r4   rr   r   r   r!   r
   r   r   r   r     sF        DEJDU58A:uQx++FFFFr   r   c                   Z    e Zd ZddgZ ej        e          j        j        ZdZ	dZ
dZdZdS )BasicWrite3TestCaser   r   Nr   r   rA   r   r   r5   rH   rT   r9   namer;   r1   r4   rr   r!   r
   r   r   r   r     @        a&C2:c?? %DEJDFFFr   r   c                   Z    e Zd Z ej        ddg          Zej        j        ZdZ	dZ
dZdZdS )BasicWrite4TestCaser   r   Nr   r   rA   r   r   rH   r   r5   r9   r   r;   r1   r4   rr   r!   r
   r   r   r   r     @        
"(Aq6

C9>DEJDFFFr   r   c                   b    e Zd ZddgddggZ ej        e          j        j        ZdZ	dZ
dZdZdS )BasicWrite5TestCaser   r   rf      Nr   r   r   r   r
   r   r   r   r     I        q6Aq6
C2:c?? %DEJDFFFr   r   c                   Z    e Zd ZddgZ ej        e          j        j        ZdZ	dZ
dZdZdS )BasicWrite6TestCaser   r   Nr   r   r
   r   r   r   r     r   r   r   c                   Z    e Zd Z ej        ddg          Zej        j        ZdZ	dZ
dZdZdS )BasicWrite7TestCaser   r   Nr   r   r
   r   r   r   r     r   r   r   c                   b    e Zd ZddgddggZ ej        e          j        j        ZdZ	dZ
dZdZdS )BasicWrite8TestCaser   r   rf   r   Nr   r   r
   r   r   r   r     r   r   r   c                   &    e Zd ZdZdZdZdZdZdZdS )EmptyCArrayTestCaser   r   r   r   r   r   N	rA   r   r   r;   r1   r4   rp   ro   rr   r
   r   r   r   r     s,        DEJEDDDDr   r   c                   *    e Zd ZdZdZdZdZdZdZdZ	dS )EmptyCArray2TestCaser   r   r   r   r   r   N)
rA   r   r   r;   r1   r4   rp   ro   rr   r!   r
   r   r   r   r     s1        DEJEDDFFFr   r   z%LZO compression library not availablec                   V    e Zd ZdZdZdZdZdZ eddd           eddd          fZ	dS )	SlicesCArrayTestCaser   lzor   r   r   r   rf   N
rA   r   r   rC   r+   r;   r1   r4   r   r   r
   r   r   r   r     sK         HGDEJeAq!nneeAq!nn-FFFr   r   c                   8    e Zd ZdZdZdZe eddd          fZdS )EllipsisCArrayTestCaser   r   r   r   r   N	rA   r   r   r;   r1   r4   Ellipsisr   r   r
   r   r   r   r     s3        DEJaA'FFFr   r   c                   n    e Zd ZdZdZdZdZdZ eddd           eddd           eddd          fZ	dS )	Slices2CArrayTestCaser   r   r   r   r   r   r   r   r   r   Nr   r   r
   r   r   r   r     s[         HGDEJeAq!nneeD$55uuQ1~~FFFFr   r   c                   P    e Zd ZdZdZdZ eddd          e eddd          fZdS )Ellipsis2CArrayTestCaser   r   r   r   r   r   N	rA   r   r   r;   r1   r4   r   r   r   r
   r   r   r   r     sA        DEJeAq!nnhaA7FFFr   r   c                      e Zd ZdZdZdZdZdZ eddd           eddd           edd	d          fZ	 eddd           edd	d           edd	d          fZ	 eddd           edd	d           edd	d          fZ	dS )
Slices3CArrayTestCaser   r   r   r   rf   r   r   r   r   r   r   r   r   Nr   r   r
   r   r   r   r     s         HGDEJeAq!nnee	4 aA(F eAq!nneeAq$//q!Q@FeAq!nneeAq$//q!Q@FFFr   r   c            
           e Zd ZdZdZdZ eddd           eddd           eddd           eddd           ed	d
d           eddd          fZdS )Slices4CArrayTestCaser   )r   rf   r   r   r      )r   r   r   r   r   r   r   r   r   Nr   rf   r      )rA   r   r   r;   r1   r4   r   r   r
   r   r   r   r     s|        DE#JeAq!nneeAtT22EE!QNNeAq!nneeAq!nneeAq!nn>FFFr   r   c                       e Zd ZdZdZdZe eddd           eddd          fZ eddd           eddd           eddd          efZdS )	Ellipsis3CArrayTestCaser   r   r   r   r   Nr   r   r   r
   r   r   r   r     sw        DEJaD))55Aq>>:FeAq!nneeAq$//q!QJFFFr   r   c                       e Zd ZdZdZdZe eddd           eddd          fZ eddd          e eddd          fZdS )	Ellipsis4CArrayTestCaser   r   rf   r   r   r   r   r   Nr   r   r   r
   r   r   r   r     sg        DEJaD))55Aq>>:FeAq!nnhaA7FFFr   r   c                   P    e Zd ZdZdZdZ eddd           eddd          efZdS )	Ellipsis5CArrayTestCaser   r   r   r   r   r   r   Nr   r
   r   r   r   r   '  sC        DEJeAq!nneeAq$//:FFFr   r   c                   R    e Zd ZdZdZdZ eddd           eddd          defZdS )	Ellipsis6CArrayTestCaser   r   r   r   r   r   r   Nr   r
   r   r   r   r   .  sG        DEJ eAq!nneeAq$//H=FFFr   r   c                   f    e Zd ZdZdZdZ eddd           eddd           edd	          efZdS )
Ellipsis7CArrayTestCaser   r   r   r   r   r   r   Nrf   r   r
   r   r   r   r   8  sO        DEJeAq!nneeAq$//q!hGFFFr   r   c                       e Zd ZdZdZdZdZdS )MD3WriteTestCaser   )r   r   rf   )r   r   r   r   N)rA   r   r   r;   r1   r4   rr   r
   r   r   r   r   ?  s"        DEJDDDr   r   c                   &    e Zd ZdZdZdZdZdZdZdS )MD5WriteTestCaser   )r   r   rf   r   r   )r   r   r   r   r   r   r   Nr   r
   r   r   r   r   F  s.        DE !JEDDDDr   r   c                   &    e Zd ZdZdZdZdZdZdZdS )MD6WriteTestCaser   )r   rf   rf   r   r   r   )r   r   r   r   r   r   r   r   rf   Nr   r
   r   r   r   r   R  s,        DE#JEDDDDr   r   c                   &    e Zd ZdZdZdZdZdZdZdS )MD6WriteTestCase__r   r   )r   r   r   rf   Nr   r
   r   r   r   r   [  s,        DEJEDDDDr   r   c                   &    e Zd ZdZdZdZdZdZdZdS )MD7WriteTestCaser   )r   rf   rf   r   r   r   rf   )r   r   r   r   r   r   r   r   r   r   Nr   r
   r   r   r   r   d  s,        D!E-JEDDDDr   r   c                   &    e Zd ZdZdZdZdZdZdZdS )MD10WriteTestCaser   )
r   r   rf   r   r   r   r   rf   r   r   )
r   r   r   r   r   r   r   r   r   r   rk   r   Nr   r
   r   r   r   r   m  s,        D*E/JEDDDDr   r   c                   "    e Zd ZdZdZdZdZdZdS )ZlibComprTestCaser   r   rf   Nr   )rA   r   r   rC   r+   rp   ro   rr   r
   r   r   r   r   v  s'        HGEDDDDr   r   c                   &    e Zd ZdZdZdZdZdZdZdS )ZlibShuffleTestCaser   r   rf   r   N)	rA   r   r   r,   rC   r+   rp   ro   rr   r
   r   r   r   r     s,        GHGEDDDDr   r   z'BLOSC compression library not availablec                   &    e Zd ZdZdZdZdZdZdZdS )BloscComprTestCaser   bloscr   r   rf   r   N	rA   r   r   rC   r+   r4   rp   ro   rr   r
   r   r   r   r     s.         HGJEDDDDr   r   c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	BloscShuffleTestCase      r   r   d   r   rf   r   r   NrA   r   r   r1   rC   r,   r+   r4   rp   ro   rr   r
   r   r   r   r     8         EHGGJEDDDDr   r   c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	BloscBitShuffleTestCaser   r   r      r   r      r   N)rA   r   r   r1   rC   r-   r+   r4   rp   ro   rr   r
   r   r   r   r     s8         EHJGJEDDDDr   r   c                   2    e Zd ZdZdZdZdZdZdZdZ	dZ
dZdS )	BloscFletcherTestCase)r   i,  r   r   r   rf   r   r   N)rA   r   r   r1   rC   r,   r.   r+   r4   rp   ro   rr   r
   r   r   r   r     s=         EHGJGJEDDDDr   r   c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	BloscBloscLZTestCaser   r   zblosc:blosclzr   r   r   r   Nr   r
   r   r   r  r    s8         EHGGJEDDDDr   r  lz4zlz4 requiredc                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	BloscLZ4TestCaser   r   z	blosc:lz4r   rf   r   r   Nr   r
   r   r   r  r    s8        
 EHGGJEDDDDr   r  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	BloscLZ4HCTestCaser   r   zblosc:lz4hcr   rf   r   r   Nr   r
   r   r   r  r    s8        
 EHGGJEDDDDr   r  snappyzsnappy requiredc                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	BloscSnappyTestCaser   r   zblosc:snappyr   rf   r   r   Nr   r
   r   r   r	  r	    s8        
 EHGGJEDDDDr   r	  r   zzlib requiredc                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	BloscZlibTestCaser   r   z
blosc:zlibr   rf   r   r   Nr   r
   r   r   r  r    8        
 EHGGJEDDDDr   r  zstdzzstd requiredc                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	BloscZstdTestCaser   r   z
blosc:zstdr   rf   r   r   Nr   r
   r   r   r  r    r  r   r  z(BLOSC2 compression library not availablec                   :    e Zd ZdZdZdZdZdZdZ e	            Z
dS )Blosc2ComprTestCaser   blosc2r   rf   r   N)rA   r   r   rC   r+   r4   rp   ro   rr   r   r	   r
   r   r   r  r    s<         HGJEDD!!##IIIr   r  c                   >    e Zd ZdZdZdZdZdZdZdZ	 e
            ZdS )Blosc2CrossChunkTestCaser   r   r  r   r   rf   r   NrA   r   r   r1   rC   r+   r4   rp   ro   rr   r   r	   r
   r   r   r  r  !  sA         EHGJEDD!!##IIIr   r  c                        e Zd ZdZej        ZdS )Blosc2CrossChunkOptTestCaser   NrA   r   r   rr   r   r	   r
   r   r   r  r  .           DIIIr   r  c                   >    e Zd ZdZdZdZdZdZdZdZ	 e
            ZdS )	Blosc2PastLastChunkTestCaser   r   r  r     r   rf   Nr  r
   r   r   r  r  5  sA         EHGJEDD!!##IIIr   r  c                        e Zd ZdZej        ZdS )Blosc2PastLastChunkOptTestCaser   Nr  r
   r   r   r  r  B  r  r   r  c                   v    e Zd ZdZdZdZdZej        ZdZ	 e
dd           e
dd           e
dd          fZdS )	Blosc2Ndim3MinChunkOptTestCase)r   r   r   r   r  )r   r   r   int8r   r   NrA   r   r   r1   rC   r+   r4   r   r	   r;   r   r   r
   r   r   r!  r!  V  sZ         EHGJIDeAqkk55A;;a4FFFr   r!  c                   b    e Zd ZdZdZdZdZej        ZdZ	 e
dd          e e
dd          fZdS )	Blosc2Ndim3ChunkOptTestCase)r   r   r   r   r  )r   r   r   r   r   r   N)rA   r   r   r1   rC   r+   r4   r   r	   r;   r   r   r   r
   r   r   r%  r%  b  sP         EHGJIDeAqkk8UU1a[[1FFFr   r%  c                       e Zd ZdZdZdZdZej        ZdZ	 e
dd           e
dd	           e
d
d           e
dd
          fZdS )Blosc2Ndim4ChunkOptTestCase)   r(  r(  rf   r   r  )r   r   r   rf   r   r   r  r   r(  rf      Nr#  r
   r   r   r'  r'  n  sf         EHGJIDeAqkk55B<<q"uuQ{{CFFFr   r'  c            	           e Zd Z ej        d          Z ej        g dg dg dg dg dg dgd          Zd Z	d	 Z
d
S )Blosc2NDNoChunkshapezb2nd-no-chunkshape.h5)r   r   r   rf   r   r   )r   r   r   r   r   r   )r  	   r   r   r  r,  )r)  r(        r)  r(  r"  r:   c                     | j                             d          }|                     t          j        |d d          | j        d d                               d S )N/datar   r\   rx   r   areArraysEqualadatar$   r   s     r   test_data_optz"Blosc2NDNoChunkshape.test_data_opt  sN    $$W---eAAAh
111FFGGGGGr   c           	          | j                             d          }|                     t          j        |d d d         | j        d d d                              d S )Nr0  r   r1  r4  s     r   test_data_filterz%Blosc2NDNoChunkshape.test_data_filter  sR    $$W---eCCaCj$*SSqS/JJKKKKKr   N)rA   r   r   r   test_filenamer[   rH   r   r3  r5  r7  r
   r   r   r+  r+    s         #f"#:;;GBH	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$	$	&   EH H HL L L L Lr   r+  c                   &    e Zd ZdZdZdZdZdZdZdS )LZOComprTestCaser   r   r   rf   r   Nr   r
   r   r   r:  r:    s.         HGJEDDDDr   r:  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	LZOShuffleTestCaser   r   r   r   rf   r   r   Nr   r
   r   r   r<  r<    s8         EHGGJEDDDDr   r<  z'BZIP2 compression library not availablec                   *    e Zd ZdZdZdZdZdZdZdZ	dS )	Bzip2ComprTestCaser   r   bzip2r   rf   r   r  N)
rA   r   r   r1   rC   r+   r4   rp   ro   rr   r
   r   r   r>  r>    s3         EHGJEDDDDr   r>  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Bzip2ShuffleTestCaser   r   r?  r   rf   r   r   Nr   r
   r   r   rA  rA    r   r   rA  c                   *    e Zd ZdZdZdZdZdZdZdZ	dS )	Fletcher32TestCase)<   2   r   r   rE  rE  r   r   r   N)
rA   r   r   r1   rC   r.   r4   rp   ro   rr   r
   r   r   rC  rC    s1        EHJJEDDDDr   rC  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )AllFiltersTestCaser   r   )r   r   r   c   r   N)rA   r   r   rC   r,   r.   r+   r4   rp   ro   rr   r
   r   r   rH  rH    s6        HGJGJEDDDDr   rH  c                   &    e Zd ZdZdZdZdZdZdZdS )FloatTypeTestCasefloat64r   r   rf   r   r   Nr   r
   r   r   rK  rK    s,        DEJEDDDDr   rK  c                   &    e Zd ZdZdZdZdZdZdZdS )ComplexTypeTestCase
complex128r   r   rf   r   r   Nr   r
   r   r   rN  rN    s,        DEJEDDDDr   rN  c                   Z    e Zd ZdZdZdZdZdZdZdZ	 e
dd           e
dd	          fZd
S )StringTestCaser'   r   r   r   rf   r   r   r   r   N)rA   r   r   r;   r>   r1   r4   rp   ro   rr   r   r   r
   r   r   rQ  rQ    sO        DFEJEDDeAqkk55A;;'FFFr   rQ  c                   *    e Zd ZdZdZdZdZdZdZdZ	dS )	String2TestCaser'   r   )r   r   r   r   r   r   N)
rA   r   r   r;   r>   r1   r4   rp   ro   rr   r
   r   r   rS  rS  #  s1        DFEJEDDDDr   rS  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	StringComprTestCaser'   r   )r   r   r   r   )rE  rE  r   rk   r   N)rA   r   r   r;   r>   r1   comprr4   rp   ro   rr   r
   r   r   rU  rU  -  s6        DFEEJEDDDDr   rU  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Int8TestCaser"  r   r   rF  rk   r   r   NrA   r   r   r;   r1   rC   r,   r4   rp   ro   rr   r
   r   r   rX  rX  :  s6        DEHGJEDDDDr   rX  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )Int16TestCaseint16r   r   rF  r   NrY  r
   r   r   r[  r[  E  s6        DEHGJEDDDDr   r[  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Int32TestCaser   r   r   rF  rk   r   r   NrY  r
   r   r   r^  r^  P  s6        DEHGJEDDDDr   r^  Float16AtomzFloat16Atom not availablec                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Float16TestCasefloat16r   r   r   rk   r   r   NrY  r
   r   r   ra  ra  [  8         DEHGJEDDDDr   ra  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Float32TestCasefloat32rc  r   rd  rk   r   r   NrY  r
   r   r   rg  rg  h  6        DEHGJEDDDDr   rg  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Float64TestCaserL  rc  r   rd  rk   r   r   NrY  r
   r   r   rk  rk  s  ri  r   rk  Float96AtomzFloat96Atom not availablec                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Float96TestCasefloat96rc  r   rd  rk   r   r   NrY  r
   r   r   rn  rn  ~  re  r   rn  Float128AtomzFloat128Atom not availablec                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Float128TestCasefloat128rc  r   rd  rk   r   r   NrY  r
   r   r   rr  rr    s8         DEHGJEDDDDr   rr  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Complex64TestCase	complex64)r   r   r   rk   r   r   NrY  r
   r   r   ru  ru    s6        DEHGJEDDDDr   ru  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Complex128TestCaserO  rd  r   r   rk   r   r   NrY  r
   r   r   rx  rx    s6        DEHGJEDDDDr   rx  Complex192AtomzComplex192Atom not availablec                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Complex192TestCase
complex192rd  r   r   rk   r   r   NrY  r
   r   r   r{  r{    8         DEHGJEDDDDr   r{  Complex256AtomzComplex256Atom not availablec                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )	Complex256TestCase
complex256rd  r   r   rk   r   r   NrY  r
   r   r   r  r    r}  r   r  c                   2    e Zd ZdZdZdZdZdZdZdZ	dZ
dZdS )	ComprTestCaserL  r   rc  )   3   r   r   N)rA   r   r   r;   rC   r,   r1   rV  r4   rp   ro   rr   r
   r   r   r  r    s;        DHGEEJEDDDDr   r  c                   6     e Zd Z fdZd Zd Zd Zd Z xZS )ReadOutArgumentTestsc                     t                                                       d| _        t          j        dd          | _        d S )N  r   r   r*   r+   )r   r   r   r<   rB   r3   r#   s    r   r   zReadOutArgumentTests.setUp  s5    	zAw???r   c                     t          j        | j        d          }| j                            ddt          j                    | j        f| j                  }||d d <   ||fS )Ni8r:   /r   r0   r1   r3   )rH   rL   r   r   rD   r<   	Int64Atomr3   )r$   r   
disk_arrays      r   create_arrayz!ReadOutArgumentTests.create_array  si    	$)4000[..sG46LNN6:i\7;| / E E
 
111j  r   c                     |                                  \  }}t          j        | j        fd          }|                    |           t          j                            ||           d S )Nr  r   )r  rH   rv   r   rt   testingassert_equal)r$   r   r  
out_buffers       r   test_read_entire_arrayz+ReadOutArgumentTests.test_read_entire_array  s_     --//zXtymT22
J'''


E22222r   c                 ,   |                                  \  }}t          j        | j        fd          }|d| j        d         }|                     t
          d          5  |                    d| j        d|           d d d            d S # 1 swxY w Y   d S )Nr  r   r   zoutput array not C contiguous)r  rH   rv   r   assertRaisesRegex
ValueErrorrt   )r$   r   r  r  out_buffer_slices        r   test_read_non_contiguous_bufferz4ReadOutArgumentTests.test_read_non_contiguous_buffer  s     --//zXtymT22
%a	!m4##J$CE E 	? 	?OOAty!-=>>>	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	? 	?s   B		BBc                 t   |                                  \  }}t          j        | j        dz  fd          }|                     t
          |j        d| j        d|           	 |                    d| j        d|           d S # t
          $ r.}|                     dt          |                     Y d }~d S d }~ww xY w)Nr   r  r   r   zoutput array size invalid, got)	r  rH   rv   r   assertRaisesr  rt   assertInstr)r$   r   r  r  excs        r   test_buffer_too_smallz*ReadOutArgumentTests.test_buffer_too_small  s     --//zXtyA~0$77
*joq$)Q$	& 	& 	&	FOOAty!Z88888 	F 	F 	FMM:CHHEEEEEEEEE	Fs    A? ?
B7	#B22B7)	rA   r   r   r   r  r  r  r  r   r   s   @r   r  r    s        @ @ @ @ @
! ! !3 3 3? ? ?F F F F F F Fr   r  c                   <     e Zd Z fdZd Zd Zd Zd Zd Z xZ	S )"SizeOnDiskInMemoryPropertyTestCasec                 r    t                                                       d| _        d| _        d| _        d S )N)i'  r   )r  r   ip  )r   r   
array_sizer4   hdf_overheadr#   s    r   r   z(SizeOnDiskInMemoryPropertyTestCase.setUp  s2    & % r   c                     t          j        |d          }| j                            ddt          j                    | j        || j                  | _        d S )Nr   r  r  	somearray)r0   r1   r3   r4   )r<   rB   r   rD   	Int16Atomr  r4   r   )r$   r*   r3   s      r   r  z/SizeOnDiskInMemoryPropertyTestCase.create_array  sT    *y'BBB[..sK46LNN59_7>:>/	 / K K


r   c                     d}|                      |           |                     | j        j        d           |                     | j        j        d           d S )Nr   @ )r  r]   r   size_on_disksize_in_memoryr$   r*   s     r   test_no_dataz/SizeOnDiskInMemoryPropertyTestCase.test_no_data  sW    	)$$$0!4442ODDDDDr   c                     d}|                      |           d| j        d d <   |                     | j        j        d           |                     | j        j        d           d S )Nr   r   r  )r  r   r]   r  r  r  s     r   test_data_no_compressionz;SizeOnDiskInMemoryPropertyTestCase.test_data_no_compression  sf    	)$$$
1110/BBB2ODDDDDr   c                    d}|                      |           d| j        d d <   | j                                         t	          | j                                                  j        }|                     t          | j        j
        |z
            | j        k               |                     | j        j
        | j        j        k                |                     | j        j        d           d S )Nr   r  )r  r   r   flushr   r[   statst_sizerx   absr  r  r  r]   r$   r*   	file_sizes      r   test_highly_compressible_dataz@SizeOnDiskInMemoryPropertyTestCase.test_highly_compressible_data!  s    	)$$$
111&&++--5	
')3448II	K 	K 	K
/$*2KKLLL2ODDDDDr   c                 ^   d}|                      |           t          j                            dd| j                  | j        d d <   | j                                         t          | j	                  
                                j        }|                     t          | j        j        |z
            | j        k               t!          j        d          "|                     | j        j        d           d S |                     t          | j        j        dz
            dk                d S )Nr   r   g    .Ar   r  r   )r  rH   randomrandintr  r   r   r  r   r[   r  r  rx   r  r  r  r<   which_lib_versionassertAlmostEqualr  s      r   test_random_dataz3SizeOnDiskInMemoryPropertyTestCase.test_random_data-  s   	)$$$	))!S$/BB
111&&++--5	
')3448II	K 	K 	K ((4""4:#:OLLLLLOODJ+o=>>DF F F F Fr   )
rA   r   r   r   r  r  r  r  r  r   r   s   @r   r  r     s        ! ! ! ! !K K KE E EE E E	E 	E 	EF F F F F F Fr   r  c                   >     e Zd ZdZdZ fdZd Zd Zd Zd Z	 xZ
S )OffsetStrideTestCaser   r   c                 j    t                                                       | j        j        | _        d S r   )r   r   r   r   r   r#   s    r   r   zOffsetStrideTestCase.setUpB  s$    )r   c                 >   | j         }t          j        r,t          dd           t          d| j        j        z             d}| j                            |dt          j	        d          |dd	
          }t          j        ddgddgddgggd          }|dddf         |d<   t          j        ddgddgddgddggg          }|dddf         |d<   |                                }t          j        rTt          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g           |                     t#          |d                   d           |                     t#          |d                   d           dS )"z4Checking carray with offseted NumPy strings appends.rd   re   zRunning %s.test01a_String...rf   r   r   stringsrf   r(   Array of stringsr   r   r   r0   r1   r2   r4   r   b12345S3r:   r   r   Nsabfabcr   Object read:Nrows in:Second row in carray ==>   123   45   s   abc   fr   r   rM   rN   r%   rA   r   rD   r<   r=   rH   r   rt   _v_pathnamer`   tolistr]   r_   r$   r   r1   rQ   r   r|   s         r   test01a_Stringz#OffsetStrideTestCase.test01a_StringG  s"    ~> 	L$	"""04>3JJKKK**402q0I0I0I161C6?	 + A A
 HSzE4=4-@ANNNaeHq	HSzD#;euclKLMMaeHq	 {{}}> 	@.$'''*f0#v|DDD,d1gnn.>.>???q)))a))VUOeV_+MNNNa))T6NVTN+KLLLT!Wq)))T!Wq)))))r   c                 B   | j         }t          j        r,t          dd           t          d| j        j        z             d}| j                            |dt          j	        d          |dd	
          }t          j        ddgddgddgggd          }|ddddf         |d<   t          j        ddgddgddgddggg          }|ddddf         |d<   |                                }t          j        rTt          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g           |                     t#          |d                   d           |                     t#          |d                   d           dS )#z3Checking carray with strided NumPy strings appends.rd   re   zRunning %s.test01b_String...r  r  rf   r(   r  r  r  r   r  r  r  r  r:   r   Nr   r  r  r  r  r   r  r  r  r  r6      br  r  r  r  r  r  s         r   test01b_Stringz#OffsetStrideTestCase.test01b_Stringh  s(    ~> 	L$	"""04>3JJKKK **402q0I0I0I161C6?	 + A A
 HSzE4=4-@ANNNa1fIq	HSzD#;euclKLMMa1fIq	 {{}}> 	@.$'''*f0#v|DDD,d1gnn.>.>???q)))a))T4L5&/+JKKKa))T4L4.+IJJJT!Wq)))T!Wq)))))r   c           	         | j         }t          j        r,t          dd           t          d| j        j        z             d}| j                            |dt          j	                    |dd          }t          j        g d	d
          }|dd         |dd<   t          j        dd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d
                               |                     t          j        |d         t          j        g dd
                               |                     t          j        |d         t          j        g dd
                               dS )z1Checking carray with offseted NumPy ints appends.rd   re   zRunning %s.test02a_int...rf   rf   CAtomarray of intsr   rf   r  )r   r   r   r   r   rf   r   r   r   r  r   r:   r   Nr   r  rk   r   r   r   rf   r  r  r  Third row in carray ==>r  r   r   rM   rN   r%   rA   r   rD   r<   	Int32AtomrH   r   rt   r  r`   r]   rx   ry   r  s         r   test02a_intz OffsetStrideTestCase.test02a_int  s    ~> 	I$	"""-0GGHHH **402e1@6< + > > HAAA"$ $ $eqsHi,G<<<eqs {{}}> 	6.$'''*f0#v|DDD+T!W555q)))GRXiiiw7779 9 	: 	: 	:GRXiiiw7779 9 	: 	: 	:GRXjjj888: : 	; 	; 	; 	; 	;r   c           	         | j         }t          j        r,t          dd           t          d| j        j        z             d}| j                            |dt          j	                    |dd          }t          j        g d	d
          }|ddd         |dd<   t          j        ddgd
          }|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d
                               |                     t          j        |d         t          j        g dd
                               |                     t          j        |d         t          j        g dd
                               dS )z0Checking carray with strided NumPy ints appends.rd   re   zRunning %s.test02b_int...r  r  r  r  r  )r  r  r  rf   rf   rf   r   r:   Nrf   r   r   r  r  r  r  r  r  r  r   r  r  r  s         r   test02b_intz OffsetStrideTestCase.test02b_int  s    ~> 	I$	"""-0GGHHH **402e1@6< + > > HAAA"$ $ $!fqsHi,G<<<!fqs {{}}> 	6.$'''*f0#v|DDD+T!W555q)))GRXiiiw7779 9 	: 	: 	:GRXiiiw7779 9 	: 	: 	:GRXiiiw7779 9 	: 	: 	: 	: 	:r   )rA   r   r   rC   r+   r   r  r  r  r  r   r   s   @r   r  r  >  s        HG* * * * *
* * *B *  *  *D"; "; ";H": ": ": ": ": ": ":r   r  c                   J    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S )CopyTestCasec                    t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        dd	gd
dgg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          d|                                           t          dt%          |j                             t          dt%          |j                             |                     t          j        |                                |                                                     |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        |j                   |                     t?          |j                  t?          |j                             dS )Checking CArray.copy() method.rd   re   zRunning %s.test01a_copy...r   array1title array1r    r   rf     r\  r:   .(closing file version)r   moder  array2	array1-->	array2-->attrs array1-->attrs array2-->N r   rM   rN   r%   rA   r<   r  r   rD   r   rH   r   r"   _reopenr  rs   r  rt   rO   attrsrx   ry   r]   r`   r1   extdimrE   r0   r9   r;   r2   r  r$   r1   r0   r  r  s        r   test01a_copyzCopyTestCase.test01a_copy  s    > 	J$	""".1HHIII |~~**KhT V + 5 5 ha1c(37CCCs: 	-~ 0.///LLcL"""[%,F S(++: 	-~ 0.///LLNNN[%,F[%,F> 	9+v{{}}---+v{{}}---#T&,%7%7888#T&,%7%7888 	v{{}}EEFFF 	v|444v|444666666*FK,=>>>)6;+;<<<v|444V[))3v{+;+;<<<<<r   c                    t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        d	d
gddgg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          d|                                           t          dt%          |j                             t          dt%          |j                             |                     t          j        |                                |                                                     |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        |j                   |                     t?          |j                  t?          |j                             |                     |j         |j                    dS )r  rd   re   zRunning %s.test01b_copy...r   r  r  r   r  r  r   rf   r  r\  r:   .z(closing h5fname version)r   r  r  r  r  r  r   r  N)!r   rM   rN   r%   rA   r<   r  r   rD   r   rH   r   r"   r  r  rs   r  rt   rO   r  rx   ry   r]   r`   r1   r  rE   r0   r9   r;   r2   r  r4   r  s        r   test01b_copyzCopyTestCase.test01b_copy  s    > 	J$	""".1HHIII |~~**KhT V + 5 5 ha1c(37CCCs: 	-~ 31222LLcL"""[%,F S(++: 	-~ 31222LLNNN[%,F[%,F> 	9+v{{}}---+v{{}}---#T&,%7%7888#T&,%7%7888 	v{{}}EEFFF 	v|444v|444666666*FK,=>>>)6;+;<<<v|444V[))3v{+;+;<<<*F,=>>>>>r   c                    t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        d	d
gddggd          |dd
dd
f<   | 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          d|                                           t          dt%          |j                             t          dt%          |j                             |                     t          j        |                                |                                                     |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        |j                   |                     t?          |j                  t?          |j                             dS )r  rd   re   zRunning %s.test01c_copy...r   r  r  r   r  r  r   rf   r  r\  r:   Nr  r   r  r  r  r  r  r   r  r  r  s        r   test01c_copyzCopyTestCase.test01c_copyA  s    > 	J$	""".1HHIII |~~**KhT V + 5 5 C8aX"6gFFFrr2A2v: 	-~ 0.///LLcL"""[%,F S(++: 	-~ 0.///LLNNN[%,F[%,F> 	9+v{{}}---+v{{}}---#T&,%7%7888#T&,%7%7888 	v{{}}EEFFF 	v|444v|444666666*FK,=>>>)6;+;<<<v|444V[))3v{+;+;<<<<<r   c                    t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        d	d
gddggd          |dd
dd
f<   | 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          d|                                           t          dt)          |j                             t          dt)          |j                             |                     t          j        |                                |                                                     |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j         |j                    |                     tC          |j                  tC          |j                             dS )z/Checking CArray.copy() method (where specified)rd   re   zRunning %s.test02_copy...r   r  r  r   r  r  r   rf   r  r\  r:   Nr  r   r  r  group1r  r  r  r   r  )"r   rM   rN   r%   rA   r<   r  r   rD   r   rH   r   r"   r  r  create_grouprs   r  r  rt   rO   r  rx   ry   r]   r`   r1   r  rE   r0   r9   r;   r2   r  )r$   r1   r0   r  r  r  s         r   test02_copyzCopyTestCase.test02_copyx  s    > 	I$	"""-0GGHHH |~~**KhT V + 5 5 C8aX"6gFFFrr2A2v: 	-~ 0.///LLcL"""[%,F ))#x88VX..: 	4~ 0.///LLNNN[%,F[%,3F> 	9+v{{}}---+v{{}}---#T&,%7%7888#T&,%7%7888 	v{{}}EEFFF 	v|444v|444666666*FK,=>>>)6;+;<<<v|444V[))3v{+;+;<<<<<r   c                    t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }d|_
        d	d
gddgg|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        |j        j                   |                     |j        j        |j        j                   |                     |j        |j                   |                     t7          |j                  t7          |j                             dS )z-Checking CArray.copy() method (python flavor)rd   re   zRunning %s.test03c_copy...r   r  r  r  pythonr  r   rf   r  .r  r   r  r  r  r   r  N)r   rM   rN   r%   rA   r<   r  r   rD   r   rE   r"   r  r  rs   r  rO   r  r]   rt   r`   r1   r  r0   r9   r;   r2   r  r  s        r   test03a_copyzCopyTestCase.test03a_copy  s    > 	J$	""".1HHIII|~~**KhT V + 5 5 !Qx!S*s: 	-~ 0.///LLcL"""[%,F S(++: 	-~ 0.///LLNNN[%,F[%,F> 	9#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66*FK,=>>>)6;+;<<<v|444V[))3v{+;+;<<<<<r   c                    t           j        r,t          dd           t          d| j        j        z             d}t          j        d          }| j                            | j        j	        d||dd	          }d
|_
        ddgddgg|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!          |dd         d         d                              t          d|dd                    t          dt#          |j                             t          dt#          |j                             |                     |                                |                                           |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j
        |j
                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        |j                   |                     t7          |j                  t7          |j                             dS )z4Checking CArray.copy() method (string python flavor)rd   re   zRunning %s.test03d_copy...r   r   r(   r  r  r  r  45623457.r  r   r  r  r  ztype value-->Nr   zvalue-->r   r  )r   rM   rN   r%   rA   r<   r=   r   rD   r   rE   r"   r  r  rs   r  r;   rO   r  r]   rt   r`   r1   r  r0   r9   r2   r  r  s        r   test03b_copyzCopyTestCase.test03b_copy  s    > 	J$	""".1HHIII}a(((**KhT V + 5 5 !s|c5\2s: 	-~ 0.///LLcL"""[%,F S(++: 	-~ 0.///LLNNN[%,F[%,F> 	9/4qqq	!Q#8#8999*fQQQi(((#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66*FK,=>>>)6;+;<<<v|444V[))3v{+;+;<<<<<r   c                 8   t           j        r,t          dd           t          d| j        j        z             d}t          j        d          }| j                            | j        j	        d||dd	          }t          j        d
dgddgg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                             |                     t          j        |                                |                                                     |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        |j                   |                     t?          |j                  t?          |j                             dS )z0Checking CArray.copy() method (chararray flavor)rd   re   zRunning %s.test03e_copy...r   r   r(   r  r  r  r  r  r  r  S4r:   .r  r   r  r  r  r   r  N) r   rM   rN   r%   rA   r<   r=   r   rD   r   rH   r   r"   r  r  rs   r  rO   r  rx   ry   rt   r]   r`   r1   r  rE   r0   r9   r;   r2   r  r  s        r   test03c_copyzCopyTestCase.test03c_copy  s    > 	J$	""".1HHIII}a(((**KhT V + 5 5 hsEl;4HHHs: 	-~ 0.///LLcL"""[%,F S(++: 	-~ 0.///LLNNN[%,F[%,F> 	9#T&,%7%7888#T&,%7%7888 	v{{}}EEFFFv|444v|444666666*FK,=>>>)6;+;<<<v|444V[))3v{+;+;<<<<<r   c                 L   t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        dd	gd
dgg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 )z6Checking CArray.copy() method (checking title copying)rd   re   zRunning %s.test04_copy...r   r  r  r  r  r   rf   r  r\  r:   .attr1r  r   r  r  r  ztitle array2)r2   ztitle of destination array-->N)r   rM   rN   r%   rA   r<   r  r   rD   r   rH   r   r  r  attr2r"   r  r  rs   r  r2   r]   r  s        r   test04_copyzCopyTestCase.test04_copyK  s    > 	I$	"""-0GGHHH |~~**KhT V + 5 5 ha1c(37CCCs %: 	-~ 0.///LLcL"""[%,F S(.AA: 	-~ 0.///LLNNN[%,F[%,F > 	A16<@@@~66666r   c                    t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        dd	gd
dgg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 )z6Checking CArray.copy() method (user attributes copied)rd   re   zRunning %s.test05_copy...r   r  r  r  r  r   rf   r  r\  r:   .r  r  r   r  r  r  r   copyuserattrsr   r  N)r   rM   rN   r%   rA   r<   r  r   rD   r   rH   r   r  r  r  r"   r  r  rs   r  rO   r]   r  s        r   test05_copyzCopyTestCase.test05_copys  s    > 	I$	"""-0GGHHH |~~**KhT V + 5 5 ha1c(37CCCs %: 	-~ 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                    t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        dd	gd
dgg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                             |                     t-          |j        d          d           |                     t-          |j        d          d           dS )z:Checking CArray.copy() method (user attributes not copied)rd   re   zRunning %s.test05b_copy...r   r  r  r  r  r   rf   r  r\  r:   .r  r  r   r  r  r  r   r!  r   r  r  N)r   rM   rN   r%   rA   r<   r  r   rD   r   rH   r   r  r  r  r"   r  r  rs   r  rO   r]   rw   r  s        r   test05b_copyzCopyTestCase.test05b_copy  s    > 	J$	""".1HHIII |~~**KhT V + 5 5 ha1c(37CCCs %: 	-~ 0.///LLcL"""[%,F S(!<<: 	-~ 0.///LLNNN[%,F[%,F> 	9#T&,%7%7888#T&,%7%7888 	w77;;;w77;;;;;r   N)rA   r   r   r  r	  r  r  r  r  r  r  r#  r%  r
   r   r   r  r    s        1= 1= 1=n3? 3? 3?j1= 1= 1=n2= 2= 2=p-= -= -=f0= 0= 0=l,= ,= ,=d&7 &7 &7P)0 )0 )0V)< )< )< )< )<r   r  c                       e Zd ZdZdS )CloseCopyTestCaser   NrA   r   r   r"   r
   r   r   r'  r'            EEEr   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 Zd ZdS )CopyIndexTestCaser   c                 6   t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        d	d
          }||_        ||d<   | j        |_        |                    dd| j        | j        | j                  }t           j        rt          d|                                           t          d|                                           t          dt'          |j                             t          dt'          |j                             || j        | j        | j                 }|                     t          j        ||                                                     t           j        r0t          d|j                   t          d|j        d                    |                     |j        d         |j                   dS )z+Checking CArray.copy() method with indexes.rd   re   zRunning %s.test01_index...r   r   r  r  r   r  r   r   r:   .r  r  rp   ro   rr   r  r  r   r  nrows in array2-->and it should be-->r   N)r   rM   rN   r%   rA   r<   r  r   rD   r   rH   rL   r1   rn   rs   rp   ro   rr   rt   rO   r  rx   ry   r`   r]   r$   r1   r0   r  rX   r  r2s          r   test01_indexzCopyIndexTestCase.test01_index  s    > 	J$	""".1HHIII |~~**KhT V + 5 5 Ic)))s !O S(#':"&)"&)  - - > 	9+v{{}}---+v{{}}---#T&,%7%7888#T&,%7%7888 tz$)DI-.FKKMM::;;; > 	6&555'!555 	!fl33333r   c                    t           j        r,t          dd           t          d| j        j        z             d}t          j                    }| j                            | j        j	        d||dd          }t          j        d	d
          }||_        ||d<   | j        |_        |                    dd| j        | j        | j                  }|                                  | j        j	        j        }| j        j	        j        }t           j        rt          d|                                           t          d|                                           t          dt-          |j                             t          dt-          |j                             || j        | j        | j                 }|                     |j        |j                   |                     t          j        ||                                                     t           j        r0t          d|j                   t          d|j        d                    |                     |j        d         |j                   dS )z?Checking CArray.copy() method with indexes (close file version)rd   re   z Running %s.test02_indexclosef...r/  r  r  r   r  r   r   r:   .r  r  r0  r  r  r   r  r1  r2  r   N)r   rM   rN   r%   rA   r<   r  r   rD   r   rH   rL   r1   rn   rs   rp   ro   rr   r  r  r  rt   rO   r  r]   r4   rx   ry   r`   r3  s          r   _test02_indexclosefz%CopyIndexTestCase._test02_indexclosef  s&    > 	P$	"""4t~7NNOOO |~~**KhT V + 5 5 Ic)))s !O S(#':"&)"&)  - - 	!(!(> 	9+v{{}}---+v{{}}---#T&,%7%7888#T&,%7%7888 tz$)DI-.*F,=>>>FKKMM::;;; > 	6&555'!555!fl33333r   N)rA   r   r   rn   r5  r7  r
   r   r   r-  r-    s8        J,4 ,4 ,4\.4 .4 .4 .4 .4r   r-  c                       e Zd ZdZdZdZdZdS )CopyIndex1TestCaser   r   r   NrA   r   r   rn   rp   ro   rr   r
   r   r   r9  r9  4  "        JEDDDDr   r9  c                       e Zd ZdZdZdZdZdS )CopyIndex2TestCaser   r   rk   r   Nr:  r
   r   r   r=  r=  ;  s"        JEDDDDr   r=  c                       e Zd ZdZdZdZdZdS )CopyIndex3TestCaserf   r   r   Nr:  r
   r   r   r?  r?  B  r;  r   r?  c                       e Zd ZdZdZdZdZdS )CopyIndex4TestCaser   r   r   r   Nr:  r
   r   r   rA  rA  I  r;  r   rA  c                       e Zd ZdZdZdZdZdS )CopyIndex5TestCaser   rf   r   r   Nr:  r
   r   r   rC  rC  P  r;  r   rC  c                       e Zd ZdZdZdZdZdS )CopyIndex6TestCaser   rf   r   Nr:  r
   r   r   rE  rE  W  r;  r   rE  c                       e Zd ZdZdZdZdS )CopyIndex7TestCaser   r   r   NrA   r   r   rp   ro   rr   r
   r   r   rG  rG  ^  s        EDDDDr   rG  c                       e Zd ZdZdZdZdS )CopyIndex8TestCaser   rk   r   NrH  r
   r   r   rJ  rJ  d  s        EDDDDr   rJ  c                       e Zd ZdZdZdZdS )CopyIndex9TestCaserf   r   r   NrH  r
   r   r   rL  rL  j  s        EDDDDr   rL  c                       e Zd ZdZdZdZdZdS )CopyIndex10TestCaser   rf   r   r   Nr:  r
   r   r   rN  rN  p  r;  r   rN  c                       e Zd ZdZdZdZdS )CopyIndex11TestCaserk   r   NrH  r
   r   r   rP  rP  w  s        EDDDDr   rP  c                       e Zd ZdZdZdZdS )CopyIndex12TestCaserk   Nr   rH  r
   r   r   rS  rS  }  s        EDDDDr   rS  c                   ,     e Zd ZdZdZ fdZd Z xZS )Rows64bitsTestCase@B i  c           
         t                                                       | j        | j        z  f}| j                            | j        j        dt          j                    |t          j	        dd                    }t          j        | j        d          }t          d| j                  }|||<   t          | j        dz
  | j        z  | j        | j        z            }|||<   d S )	Nr   r   r   )r+   r*   r  r"  r:   r   )r   r   narowsnanumberr   rD   r   r<   Int8AtomrB   rH   rL   r   )r$   r1   r   nar  r%   s        r   r   zRows64bitsTestCase.setUp  s     t},.))KgeJu::: * < < Yt{&111 !T[!!a4=?DK/1LMMar   c           
         | j         j        j        }| j        rt          j        ret          d           t          d|j        t          |j                             t          d|j        dz  d           t          d|j	                   | 
                                 | j         j        j        }t          j        rt          d           t          j        rt          d|j        t          |j                             t          d|j        dz  d           t          d|j	                   t          d|dd	                    | j        d
z  }|dk    r|d
z  }|dz
  }t          dt          j        ||d                     | j        | j        z  }|                     |j        |           |                     |j	        |f           |                     t	          j        |d	d         t          j        dd                               | j        d
z  }|dk    r|d
z  }|dz
  }|                     t	          j        |dd	         t          j        ||d                               d	S )z2Some basic checks for carrays exceeding 2**31 rowszBefore closingzEntries:rV  MillionszShape:zAfter re-openzLast 10 elements-->iN      r   zShould look like:r"  r:   )r   r   r   r"   r   rM   rN   r`   r;   r1   r  rX  rH   rL   rY  r]   rx   ry   )r$   r   ro   rp   r`   s        r   test01_basiccheckz$Rows64bitsTestCase.test01_basiccheck  si     &: 	'~ -&'''j%+tEK/@/@AAAj%+"=zJJJh,,, LLNNNK$*E~ 'o&&& > 
	M*ek4+<+<===*ek[9:FFF(EK((('stt555;$Dczz2IE%ryF'K'K'KLLLdm+ 	e,,, 	uh/// 	#2#J	"F3335 5 	6 	6 	6 {S #::CKDr	#$$K5$f===? ? 	@ 	@ 	@ 	@ 	@r   )rA   r   r   rX  rY  r   r`  r   r   s   @r   rU  rU    sX        FH    (2@ 2@ 2@ 2@ 2@ 2@ 2@r   rU  c                       e Zd ZdZdS )Rows64bitsTestCase1r   Nr(  r
   r   r   rb  rb    r)  r   rb  c                       e Zd ZdZdS )Rows64bitsTestCase2r   Nr(  r
   r   r   rd  rd    r)  r   rd  c                   .     e Zd ZdZ fdZd Zd Z xZS )BigArrayTestCase)l    ^e c                     t                                                       | j                            ddt	          j                    | j                   d S )Nr  r   r0   r1   )r   r   r   rD   r<   rZ  r1   r#   s    r   r   zBigArrayTestCase.setUp  sU     	!!#w'){}}DJ 	" 	H 	H 	H 	H 	Hr   c                    |                      | j        j        j        j        | j                   	 |                      t          | j        j        j                  | j        d                    dS # t          $ rE |                     | j        d         t          j	        t                    j        k    d           Y dS w xY w)z&Check that the shape doesn't overflow.r   z3Array length overflowed but ``int`` is wide enough.N)r]   r   r   r   r1   r_   OverflowErrorrx   rH   iinforq   maxr$   s    r   test00_shapezBigArrayTestCase.test00_shape  s     	)/5tzBBB	/S!1!788$*Q-HHHHH 	/ 	/ 	/OODJqMBHSMM,==./ / / / / /	/s   =A0 0AB?>B?c                 X    |                      d           |                                  dS )z6Check that the shape doesn't overflow after reopening.rX   N)r  rn  rm  s    r   test01_shape_reopenz$BigArrayTestCase.test01_shape_reopen  s,    Sr   )rA   r   r   r1   r   rn  rp  r   r   s   @r   rf  rf    s`        EH H H H H
/ 
/ 
/      r   rf  c                        e Zd Zd Zd Zd ZdS )DfltAtomTestCasec           	         | j                             ddt          j        dd          d           | j        r|                                  | j         j        j        dd         }t          j	        rt          d	|           |                     t          j        |t          j        d
gdz  d                              dd                               dS )z1Check that Atom.dflt is honored (string version).r  barr   s   abdef)r)   dfltr   rh  NRead values:abdefr   S5r   )r   rD   r<   r=   r!   r  r   rt  r   rM   rN   rx   ry   rH   r   reshaper$   valuess     r   test00_dfltzDfltAtomTestCase.test00_dflt  s     	!!R]AHEEE 	" 	 	 	 ; 	LLNNN !%aaa(> 	*.&)))BHgY_d33;;BCCE E 	F 	F 	F 	F 	Fr   c           	      ~   | j                             ddt          j        d          d           | j        r|                                  | j         j        j        dd         }t          j	        rt          d|           |                     t          j        |t          j        dd	                               dS )
z.Check that Atom.dflt is honored (int version).r  rt  r   ru  r   rh  Nrv  i4)r   rD   r<   IntAtomr!   r  r   rt  r   rM   rN   rx   ry   rH   onesrz  s     r   test01_dfltzDfltAtomTestCase.test01_dflt	  s     	!!#u')zq'9'9'9 	" 	K 	K 	K ; 	LLNNN !%aaa(> 	*.&)))$0G0GHHIIIIIr   c           	         | j                             ddt          j        d          d           | j        r|                                  | j         j        j        dd         }t          j	        rt          d|           |                     t          j        |t          j        dd	          dz                       dS )
z0Check that Atom.dflt is honored (float version).r  rt  g/$?r~  r   rh  Nrv  f8)r   rD   r<   	FloatAtomr!   r  r   rt  r   rM   rN   rx   ry   rH   r  rz  s     r   test02_dfltzDfltAtomTestCase.test02_dflt	  s     	!!R\u555X 	" 	G 	G 	G ; 	LLNNN !%aaa(> 	*.&)))$0G0G0MNNOOOOOr   N)rA   r   r   r|  r  r  r
   r   r   rr  rr    sL        F F F$J J J P P P P Pr   rr  c                       e Zd ZdZdS )DfltAtomNoReopenFNrA   r   r   r!   r
   r   r   r  r  ,	          FFFr   r  c                       e Zd ZdZdS )DfltAtomReopenTNr  r
   r   r   r  r  0	          FFFr   r  c                   2    e Zd Zd Zd Zd Zd Zd Zd ZdS )AtomDefaultReprTestCasec           	         d}t          j        d|d          }| j                            dd|d          }| j        r&|                     d	           | j        j        j        }t          j	        rJt          d
t          |d                              t          dt          |j        j                             |                     t          j        |d         t!          j        |d                               |                     t          j        |j        j        t!          j        |d                               dS )z(Testing default values.  Zeros (scalar).r
   rf   r   r)   r1   ru  r  testr   rh  r   First row-->r   Defaults-->r  N)r<   r=   r   rD   r!   r  r   r  r   rM   rN   rO   r0   ru  rx   ry   rH   zerosr$   Nr0   cas       r   test00a_zerosz%AtomDefaultReprTestCase.test00a_zeros7	  s    }aqs;;;[&&sFT&JJ; 	'LL!&B> 	5.$r!u++...-bgl!3!34441rx4/@/@AABBBbhq$6G6GHHIIIIIr   c           	      R   d}t          j        d|d          }| j                            dd|d          }| j        r&|                     d	           | j        j        j        }t          j	        r0t          d
|d                    t          d|j        j                   |                     t          j        |d         t          j        |d                               |                     t          j        |j        j        t          j        |d                               dS )z'Testing default values.  Zeros (array).r   rf   r   r  r  r  r  rh  r   r  r   r  r  N)r<   r=   r   rD   r!   r  r   r  r   rM   rN   r0   ru  rx   ry   rH   r  r  s       r   test00b_zerosz%AtomDefaultReprTestCase.test00b_zerosG	  s     }aqs;;;[&&sFT&JJ; 	'LL!&B> 	/."Q%(((-...1rx4/@/@AABBBbhq$6G6GHHIIIIIr   c           	      P   d}t          j        |d          }| j                            dd|d          }| j        r&|                     d           | j        j        j        }t          j	        r0t          d	|d
                    t          d|j        j                   |                     t          j        |d
         t          j        |d                               |                     t          j        |j        j        t          j        |d                               dS )zTesting default values.  Ones.r   r   r1   ru  r  r  r  rh  r   r  r   r  r  N)r<   r  r   rD   r!   r  r   r  r   rM   rN   r0   ru  rx   ry   rH   r  r  s       r   test01a_valuesz&AtomDefaultReprTestCase.test01a_valuesW	  s     |!!,,,[&&sFT&JJ; 	'LL!&B> 	/."Q%(((-...1rwq$/?/?@@AAAbga6F6FGGHHHHHr   c           	      `   d}d}t          j        ||          }| j                            dd|d          }| j        r&|                     d           | j        j        j        }t          j	        r0t          d	|d
                    t          d|j        j                   |                     t          j        |d
         t          j        |d          |z                       |                     t          j        |j        j        t          j        |d          |z                       dS )z'Testing default values.  Generic value.r   gGz\@r  r  r  r  rh  r   r  r   r  f4N)r<   Float32Atomr   rD   r!   r  r   r  r   rM   rN   r0   ru  rx   ry   rH   r  )r$   r  genericr0   r  s        r   test01b_valuesz&AtomDefaultReprTestCase.test01b_valuesg	  s    ~AG444[&&sFT&JJ; 	'LL!&B> 	/."Q%(((-...1rwq$/?/?/GHHIIIGL"'!T**724 4 	5 	5 	5 	5 	5r   c           	         d}t          j        |d          }| j                            dd|d          }| j        r&|                     d           | j        j        j        }t          j	        rJt          d	t          |d
                              t          dt          |j        j                             |                     t          j        |j        j        t!          j        |d                               dS )z'Testing default values.  None (scalar).r
   Nr  r  r  r  rh  r   r  r   r  r  )r<   r  r   rD   r!   r  r   r  r   rM   rN   rO   r0   ru  rx   ry   rH   r  r  s       r   test02a_Nonez$AtomDefaultReprTestCase.test02a_Noney	  s     |!$///[&&sFT&JJ; 	'LL!&B> 	5.$r!u++...-bgl!3!3444bhq$6G6GHHIIIIIr   c           	         d}t          j        |d          }| j                            dd|d          }| j        r&|                     d           | j        j        j        }t          j	        r0t          d	|d
                    t          d|j        j                   |                     t          j        |j        j        t          j        |d                               dS )z&Testing default values.  None (array).r   Nr  r  r  r  rh  r   r  r   r  r  )r<   r  r   rD   r!   r  r   r  r   rM   rN   r0   ru  rx   ry   rH   r  r  s       r   test02b_Nonez$AtomDefaultReprTestCase.test02b_None	  s     |!$///[&&sFT&JJ; 	'LL!&B> 	/."Q%(((-...bhq$6G6GHHIIIIIr   N)	rA   r   r   r  r  r  r  r  r  r
   r   r   r  r  5	  s        J J J J J J I I I 5 5 5$J J JJ J J J Jr   r  c                       e Zd ZdZdS )AtomDefaultReprNoReopenFNr  r
   r   r   r  r  	  r  r   r  c                       e Zd ZdZdS )AtomDefaultReprReopenTNr  r
   r   r   r  r  	  r  r   r  c                       e Zd Zd ZdS )TruncateTestCasec                     | j                             ddt          j                    ddg          }|                     t
          |j        d           dS )z-Test for unability to truncate Array objects.r  r  r   r   N)r   rD   r<   r  r  	TypeErrortruncate)r$   r  s     r   r  zTruncateTestCase.test	  sI     **3"*,,AOO)V_a88888r   N)rA   r   r   r  r
   r   r   r  r  	  s#        9 9 9 9 9r   r  c                   8    e Zd Zd Zd Zd Zd Zd Zd Zd Z	dS )	MDAtomTestCasec           
         | j                             ddt          j        d          d          }| j        r&|                     d           | j         j        j        }ddgd	d
gg|d<   |                     |j	        d           t          j        rt          d|d                    |                     t          j        |d         t          j        ddgd	d
ggd                               dS )z9Assign a row to a (unidimensional) CArray with a MD atom.r  r  r   r  rh  r   r   rf   r   r   r   r  r  Nr   rD   r<   r  r!   r  r   r  r]   r`   r   rM   rN   rx   ry   rH   r   r$   r  s     r   test01a_assignzMDAtomTestCase.test01a_assign	  s     [&&sF,.L,@,@ ' N N; 	'LL!&BQ!Q 11%%%> 	)."Q%(((qE28aVaV,d335 5 	6 	6 	6 	6 	6r   c           
         | j                             ddt          j        d          d          }| j        r&|                     d           | j         j        j        }dggdggd	ggg|d
d
<   |                     |j	        d	           t          j        rt          d|d                    |                     t          j        |d         t          j        d	d	gd	d	ggd                               d
S )z@Assign several rows to a (unidimensional) CArray with a MD atom.r  r  r   )rf   rh  r   r   r   rf   NThird row-->r  r  r  s     r   test01b_assignzMDAtomTestCase.test01b_assign	  s    [&&sF,.L,@,@ ' N N; 	'LL!&B#!u%1111%%%> 	)."Q%(((qE28aVaV,d335 5 	6 	6 	6 	6 	6r   c                    | j                             ddt          j        d          d          }| j        r&|                     d           | j         j        j        }ddgd	d
gddggg|dd<   |                     |j	        d           t          j        rt          d|d                    |                     t          j        |d         t          j        ddgd	d
gddggd                               dS )z;Assign a row to a (multidimensional) CArray with a MD atom.r  r  r   r  rh  r   r   rf   r   r   r   r,  Nr  r   r  r  r  s     r   test02a_assignzMDAtomTestCase.test02a_assign	  s    [&&sF,.L,>,>f ' N N; 	'LL!&Ba&1a&1a&)*1111%%%> 	)."Q%(((1rxVaVaV$d0, 0, - - 	. 	. 	. 	. 	.r   c                    | j                             ddt          j        d          d          }| j        r&|                     d           | j         j        j        }ddgd	d
gddggddgddgddggddgd
dgddggg|dd<   |                     |j	        d           t          j        rt          d|d                    |                     t          j        |d         t          j        ddgd
dgddggd                               dS )zJAssign several rows to a (multidimensional) CArray with
        a MD atom.r  r  r   r  rh  r   r   rQ  r   ir,  rk   rf   r   r   iiNr  r   r  r  r  s     r   test02b_assignzMDAtomTestCase.test02b_assign	  sD   
 [&&sF,.L,>,>f ' N N; 	'LL!&Bb'Ar7RG,q'B7QG,q'B7QG,.111 	1%%%> 	)."Q%(((qE28b!Wr1g2w7>>@ @ 	A 	A 	A 	A 	Ar   c                    | j                             ddt          j        d          d          }| j        r&|                     d           | j         j        j        }t          j	        dd	          
                    d
          }|dz  |dz  |dz  g|dd<   |                     |j        d           t          j        rt          d|d                    |                     t          j        |d         |dz                       dS )z;Complex assign of a MD array in a MD CArray with a MD atom.r  r  r   r   )rf   r   rf   rh  r   0   r  r:   )r   rf   r   r   r   r   rf   Nr  r   rD   r<   r  r!   r  r   r  rH   rL   ry  r]   r`   r   rM   rN   rx   ry   r$   r  r   s      r   test03a_MDMDMDzMDAtomTestCase.test03a_MDMDMD	  s    [&&bl622) ' E E; 	'LL!&B Iit,,,44\BBQ!QqS!1111%%%> 	)."Q%(((1q1u5566666r   c           	          | j                             ddt          j        d          d          }| j        r&|                     d           | j         j        j        }t          j	        dd	          
                    d
          }||dd<   |                     |j        d           t          j        rt          d|ddddf                    |                     t          j        |ddddf         |ddddf                              dS )z@Complex assign of a MD array in a MD CArray with a MD atom (II).r  r  r  )r   rf   rf   rh  r      r  r:   )r   rf   rf   r   r   Nr   r  .r  r  s      r   test03b_MDMDMDzMDAtomTestCase.test03b_MDMDMD
  s    [&&bl622) ' E E; 	'LL!&B Ik...66GG1111%%%> 	1."QQQ3Y-000111a9qAs|DDEEEEEr   c           
      2   | j                             ddt          j        d          d          }| j        r&|                     d           | j         j        j        }t          j	        dd	          
                    d
          }||dd<   |                     |j        d           t          j        rt          d|ddddddf                    |                     t          j        |ddddddf         |ddddddf                              dS )zAComplex assign of a MD array in a MD CArray with a MD atom (III).r  r  r  )rf   r   r   rh  r   r  r  r:   )rf   r   r   r   r   Nrf   zSecond row-->r   .r  r  s      r   test03c_MDMDMDzMDAtomTestCase.test03c_MDMDMD
  s#    [&&bl622) ' E E; 	'LL!&B Ik...66GG1111%%%> 	5/2aaaAsl#3444111aaaC<(8!AAAqqq!SL/JJKKKKKr   N)
rA   r   r   r  r  r  r  r  r  r  r
   r   r   r  r  	  s        6 6 6"6 6 6". . ."A A A(7 7 7&F F F&L L L L Lr   r  c                       e Zd ZdZdS )MDAtomNoReopenFNr  r
   r   r   r  r  ,
  r  r   r  c                       e Zd ZdZdS )MDAtomReopenTNr  r
   r   r   r  r  0
  r  r   r  c                       e Zd Zd ZdS )MDLargeAtomTestCasec           	         d}| j                             ddt          j        |          d          }| j        r&|                     d           | j         j        j        }t          j	        rt          d|d	                    |                     t          j        |d	         t          j        |d
                               dS )z*Create a CArray with a very large MD atom.i   r  r  )r1   r  rh  r   r  r   r  N)r   rD   r<   r  r!   r  r   r  r   rM   rN   rx   ry   rH   r  )r$   r  r  s      r   test01_createz!MDLargeAtomTestCase.test01_create7
  s     [&&sF,.Lq,A,A,A ' O O; 	'LL!&B > 	)."Q%(((1rx4/@/@AABBBBBr   N)rA   r   r   r  r
   r   r   r  r  5
  s(        C C C C Cr   r  c                       e Zd ZdZdS )MDLargeAtomNoReopenFNr  r
   r   r   r  r  G
  r  r   r  c                       e Zd ZdZdS )MDLargeAtomReopenTNr  r
   r   r   r  r  K
  r  r   r  c                   0     e Zd Z fdZd Zd Zd Z xZS )AccessClosedTestCasec                     t                                                       | j                            | j        j        dt          j                    d          | _        t          j	        d          | j        d<   d S )Nr   r   rh  .)
r   r   r   rD   r   r<   r  r   rH   r  r#   s    r   r   zAccessClosedTestCase.setUpQ
  sb    [..t{/?46LNN5= / ? ?
 (8,,
3r   c                     | j                                          |                     t          j        | j        j                   d S r   )r   r"   r  r<   ClosedNodeErrorr   rt   rm  s    r   	test_readzAccessClosedTestCase.test_readX
  s9    ",djo>>>>>r   c                     | j                                          |                     t          j        | j        j        d           d S Nr   )r   r"   r  r<   r  r   r   rm  s    r   test_getitemz!AccessClosedTestCase.test_getitem\
  s<    ",dj.DaHHHHHr   c                     | j                                          |                     t          j        | j        j        dd           d S r  )r   r"   r  r<   r  r   __setitem__rm  s    r   test_setitemz!AccessClosedTestCase.test_setitem`
  s>    ",dj.DaKKKKKr   )rA   r   r   r   r  r  r  r   r   s   @r   r  r  O
  so        - - - - -? ? ?I I IL L L L L L Lr   r  c                       e Zd Z ej        g dg dg dg          ZdZdZej	        
                    ej                  Zej        ZdZdZdZdZd	Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z dS )TestCreateCArrayArgs)r   r   rf   )r   r   r   )r   r  r,  r  rQ   r2   N)r   r   Fc           	      >   | j                             | j        | j        | j        | j        | j        | j        | j                   | j         	                                 t          j        | j                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t%          j        t)          j        | j                  |                     d S r   )r   rD   wherer   r0   r1   r2   r3   r4   r"   r<   rZ   r[   r\   rt   r]   r9   rx   r   ry   rH   
zeros_liker5   r$   ptarrnparrs      r   test_positional_args_01z,TestCreateCArrayArgs.test_positional_args_01q
  sF   !!$*di"&)TZ"&*dlDO	M 	M 	M 	l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;dh(?(?GGHHHHHr   c           	      .   | j                             | j        | j        | j        | j        | j        | j        | j                  }| j	        |d<   | j         
                                 t          j        | j                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t'          j        | j	        |                     d S )N.)r   rD   r  r   r0   r1   r2   r3   r4   r5   r"   r<   rZ   r[   r\   rt   r]   r9   rx   r   ry   r  s      r   test_positional_args_02z,TestCreateCArrayArgs.test_positional_args_02
  sD   ))$*di*.)TZ*.**.,I I Xc
l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;%8899999r   c                 *   | j                             | j        | j        d d | j        | j        | j        | j        | j        | j	        
  
         | j         
                                 t          j        | j                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t+          j        | j	        |                     d S r   )r   rD   r  r   r2   r3   r4   r	   createparentsr5   r"   r<   rZ   r[   r\   rt   r]   r1   r0   r9   rx   r   ry   r  s      r   test_positional_args_objz-TestCreateCArrayArgs.test_positional_args_obj
  sE   !!$*di"&"&*"&,"&.$2D"&(	, 	, 	, 	l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;%8899999r   c                    | j                             | j        | j        | j        | j        | j                   | j                                          t          j	        | j
                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t%          j        | j        |                     d S )N)r2   r4   r5   )r   rD   r  r   r2   r4   r5   r"   r<   rZ   r[   r\   rt   r]   r1   r0   r9   rx   r   ry   r  s      r   test_kwargs_objz$TestCreateCArrayArgs.test_kwargs_obj
  s6   !!$*ditz-1_&*h 	" 	0 	0 	0 	l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;%8899999r   c                 $   | j                             | j        | j        | j        | j        | j        | j                  }| j        |d<   | j         	                                 t          j        | j                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t%          j        | j        |                     d S )Nr2   r4   r0   r1   .)r   rD   r  r   r2   r4   r0   r1   r5   r"   r<   rZ   r[   r\   rt   r]   r9   rx   r   ry   r  s      r   test_kwargs_atom_shape_01z.TestCreateCArrayArgs.test_kwargs_atom_shape_01
  sE   ))$*di04
59_/3y
 * L L Xc
l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;%8899999r   c                 4   | j                             | j        | j        | j        | j        | j        | j                  }| j                                          t          j
        | j                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t#          j        t'          j        | j                  |                     d S )Nr  )r   rD   r  r   r2   r4   r0   r1   r"   r<   rZ   r[   r\   rt   r]   r9   rx   r   ry   rH   r  r5   r  s      r   test_kwargs_atom_shape_02z.TestCreateCArrayArgs.test_kwargs_atom_shape_02
  sD   ))$*di04
59_/3y
 * L L
 	l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;dh(?(?GGHHHHHr   c                    | j                             | j        | j        | j        | j        | j        | j                  }| j                                          t          j
        | j                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t%          j        | j        |                     d S )N)r2   r4   r5   r0   )r   rD   r  r   r2   r4   r5   r0   r"   r<   rZ   r[   r\   rt   r]   r1   r9   rx   r   ry   r  s      r   test_kwargs_obj_atomz)TestCreateCArrayArgs.test_kwargs_obj_atom
  s9   ))$*di04
59_.2h/3y	 * : :
 	l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;%8899999r   c                    | j                             | j        | j        | j        | j        | j        | j                  }| j                                          t          j
        | j                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t%          j        | j        |                     d S )N)r2   r4   r5   r1   )r   rD   r  r   r2   r4   r5   r1   r"   r<   rZ   r[   r\   rt   r]   r0   r9   rx   r   ry   r  s      r   test_kwargs_obj_shapez*TestCreateCArrayArgs.test_kwargs_obj_shape
  s9   ))$*di04
59_.2h04
	 * < <
 	l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;%8899999r   c           	         | j                             | j        | j        | j        | j        | j        | j        | j                  }| j         	                                 t          j        | j                  | _         | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j                   |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t%          j        | j        |                     d S )N)r2   r4   r5   r0   r1   )r   rD   r  r   r2   r4   r5   r0   r1   r"   r<   rZ   r[   r\   rt   r]   r9   rx   r   ry   r  s      r   test_kwargs_obj_atom_shapez/TestCreateCArrayArgs.test_kwargs_obj_atom_shape  s>   ))$*di04
59_.2h/3y04
 * < < 	l4<00$$TZ;;

dj111dj111TY///)49?;;;)4?;;;%8899999r   c           	          t           j                            t          j        d                    }|                     t          | j        j        | j	        | j
        | j        | j        |           d S )Ncomplex)r2   r5   r0   )r<   r?   
from_dtyperH   r9   r  r  r   rD   r  r   r2   r5   r$   r0   s     r   test_kwargs_obj_atom_errorz/TestCreateCArrayArgs.test_kwargs_obj_atom_error  si    w!!"(9"5"566)+3*) $
"h# 	 	% 	% 	% 	% 	%r   c           	          | j         | j         z   }|                     t          | j        j        | j        | j        | j        | j        |           d S )N)r2   r5   r1   )	r1   r  r  r   rD   r  r   r2   r5   rU   s     r   test_kwargs_obj_shape_errorz0TestCreateCArrayArgs.test_kwargs_obj_shape_error%  sX    
TZ')+3*) $
"h % 	 	' 	' 	' 	' 	'r   c           
          t           j                            t          j        d                    }|                     t          | j        j        | j	        | j
        | j        | j        || j                   d S Nr  r2   r5   r0   r1   )r<   r?   r  rH   r9   r  r  r   rD   r  r   r2   r5   r1   r  s     r   #test_kwargs_obj_atom_shape_error_01z8TestCreateCArrayArgs.test_kwargs_obj_atom_shape_error_010  sn    w!!"(9"5"566)+3*) $
"h# $
 	 	, 	, 	, 	, 	,r   c           
          | j         | j         z   }|                     t          | j        j        | j        | j        | j        | j        | j	        |           d S )Nr	  )
r1   r  r  r   rD   r  r   r2   r5   r0   rU   s     r   #test_kwargs_obj_atom_shape_error_02z8TestCreateCArrayArgs.test_kwargs_obj_atom_shape_error_02<  s]    
TZ')+3*) $
"h#y % 	 	' 	' 	' 	' 	'r   c           
         t           j                            t          j        d                    }| j        | j        z   }|                     t          | j        j	        | j
        | j        | j        | j        ||           d S r  )r<   r?   r  rH   r9   r1   r  r  r   rD   r  r   r2   r5   )r$   r0   r1   s      r   #test_kwargs_obj_atom_shape_error_03z8TestCreateCArrayArgs.test_kwargs_obj_atom_shape_error_03H  sz    w!!"(9"5"566
TZ')+3*) $
"h# % 	 	' 	' 	' 	' 	'r   )!rA   r   r   rH   r   r5   r  r   r<   r?   r  r9   r0   r1   r2   r3   r4   r	   r  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r
   r   r   r  r  e
  sQ       
"(IIIyyy)))4
5
5CED7ci((DIEEGJIMI I I": : :&: : :(: : :": : :&I I I&: : :&: : :&: : :(	% 	% 	%	' 	' 	'
, 
, 
,
' 
' 
'
' 
' 
' 
' 
'r   r  c                  \,   t           j                                        } d}t          |          D ]}|                     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                               |                     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                            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                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               |                     t           j                            t                               t           jX        rL|                     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                            t                               |                     t           j                            t                               | S )Nr   )mr   unittest	TestSuiterangeaddTest	makeSuiter   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r	  r  r  r  r  r  r  r  r!  r%  r'  r+  r:  r<  r>  rA  rK  rN  rQ  rS  rU  rX  r[  r^  ra  rg  rk  rn  rr  ru  rx  r{  r  r  r  rC  rH  r  r  r'  r+  r9  r=  r?  rA  rC  rf  r  r  r  r  r  r  r  r  r  r  r  heavyr   r   r   r   r   r   r   r   r   r   r   rE  rG  rJ  rL  rN  rP  rS  rb  rd  )theSuiteniterns      r   suiter  U  s   ((**HE 5\\ SJ SJ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23FGGHHH223FGGHHH223FGGHHH223FGGHHH223FGGHHH223GHHIII223GHHIII223HIIJJJ223IJJKKK223JKKLLL223JKKLLL223DEEFFF223FGGHHH223EFFGGG223GHHIII223JKKLLL223HIIJJJ223GHHIII223CDDEEE223EFFGGG223FGGHHH223DEEFFF223DEEFFF223FGGHHH223KLLMMM223NOOPPP223NOOPPP223QRRSSS223QRRSSS223NOOPPP223NOOPPP223GHHIII223CDDEEE223EFFGGG223EFFGGG223GHHIII223DEEFFF223FGGHHH22>BBCCC22?CCDDD223FGGHHH22<@@AAA22=AABBB22=AABBB22?CCDDD22?CCDDD22?CCDDD22?CCDDD223CDDEEE223DEEFFF223EFFGGG223EFFGGG223EFFGGG22=AABBB223GHHIII223EFFGGG223EFFGGG223GHHIII22.0 0 	1 	1 	1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23CDDEEE223CDDEEE22>BBCCC223JKKLLL223HIIJJJ223CDDEEE22>BBCCC22<@@AAA223FGGHHH223DEEFFF223GHHIII223GHHIIII| I223HIIJJJ223HIIJJJ223JKKLLL223JKKLLL223JKKLLL223JKKLLL223CDDEEE223CDDEEE223CDDEEE223CDDEEE223DEEFFF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23FGGHHH223FGGHHHOr   __main__r  )defaultTest)r   pathlibr   r   rH   tablesr<   tables.testsr   r   TempFileMixinPyTablesTestCaser   r   r   r   r   r   r   r   r   r   r   r  skipIf	lzo_availr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   blosc_availr   r   r   r   r  blosc_compressor_listr  r  r	  r  r  blosc2_availr  r  r  r  r  r!  r%  r'  TestFileMixinr+  r:  r<  bzip2_availr>  rA  rC  rH  rK  rN  rQ  rS  rU  rX  r[  r^  
skipUnlessrw   ra  rg  rk  rn  rr  ru  rx  r{  r  r  r  r  r  r  r'  r+  r-  r9  r=  r?  rA  rC  rE  rG  rJ  rL  rN  rP  rS  rU  rb  rd  rf  rr  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  rA   
parse_argvargvprint_versionsmainr
   r   r   <module>r-     s=   



                    = = =hA hA hA hA hAF(&*A hA hA hAV           -       -       -       -       -       -       -       -       =    F,,?A A. . . . .= . .A A.( ( ( ( (] ( ( ( F,,?A AG G G G GM G GA AG8 8 8 8 8m 8 8 8 F,,?A AA A A A AM A AA AA*> > > > >M > > >K K K K Km K K K8 8 8 8 8m 8 8 8; ; ; ; ;m ; ; ;> > > > >m > > >H H H H Hm H H H    }   	 	 	 	 	} 	 	 	    }              }                     -    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    =  C C F..AC C	))+++^= =    }  = =C C F..AC C	))+++^= =      = =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 F//BD D$ $ $ $ $- $ $D D$ F//BD D$ $ $ $ $} $ $D D$ F//BD D    ":  D D
 F//BD D$ $ $ $ $- $ $D D$ F//BD D    %@  D D$ F//BD D5 5 5 5 5] 5 5D D5 F//BD D2 2 2 2 2- 2 2D D2 F//BD DD D D D D- D DD DDl F//BD DL L L L L6/!2L LD DL. F,,?A A    }  A A F,,?A A      A A F..AC C      C C F..AC C    =  C C                         -   	( 	( 	( 	( 	(] 	( 	( 	(    m   
 
 
 
 
- 
 
 
    =       M       M    GGB6679 9    m  9 9    m       m    GGB6679 9    m  9 9 GGB778: :    }  : :               GGB(899:< <      < < GGB(899:< <      < <	 	 	 	 	M 	 	 	'F 'F 'F 'F 'F6/1H 'F 'F 'FT;F ;F ;F ;F ;F)=)/)@;F ;F ;F|R: R: R: R: R:6/1H R: R: R:jt< t< t< t< t<6')@ t< t< t<n           |   _4 _4 _4 _4 _4,f.E _4 _4 _4D    *       *       *       *       *       *       *       *       *       +       +       +   K@ K@ K@ K@ K@-v/F K@ K@ K@\    ,       ,       v+V-D   :2P 2P 2P 2P 2Pv+V-D 2P 2P 2Pj    '       %   
`J `J `J `J `Jf2F4K `J `J `JF    5       3   9 9 9 9 9v+V-D 9 9 9@L @L @L @L @LV)6+B @L @L @LF    ^       >   
C C C C C&.0G C C C$    -       +   L L L L L6/1H L L L,m' m' m' m' m'6/1H m' m' m'`p p pf zFchF
OW----- r   