
    ꢩe                       d dl Z d dlmZ d dlZd dlZd dlm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 G d de          Zej                            ej         d           G d de                      Zej                            ej         d           G d  d!e                      Zej                            ej         d"           G d# d$e                      Zej                            ej         d"           G d% d&e                      Zej                            ej         d"           G d' d(e                      Z ej                            ej         d"           G d) d*e                       Z!ej                            ej         d"           G d+ d,e                       Z"ej                            ej         d"           G d- d.e"                      Z#ej                            ej         d"           G d/ d0e                      Z$ G d1 d2e          Z% G d3 d4e          Z&ej                            ej         d           G d5 d6e                      Z' G d7 d8e          Z( G d9 d:e          Z) G d; d<e          Z* G d= d>e          Z+ G d? d@e          Z, G dA dBe          Z- G dC dDe          Z. G dE dFe          Z/ G dG dHe          Z0 G dI dJe          Z1 G dK dLe          Z2 G dM dNe          Z3 G dO dPe          Z4 G dQ dRe          Z5 G dS dTe          Z6 G dU dVe          Z7ej                            ej         d           G dW dXe                      Z8ej                            ej         d           G dY dZe                      Z9ej                            ej         d           G d[ d\e                      Z:ej                            ej         d           G d] d^e                      Z;ej                            ej<         d_           G d` dae                      Z=ej                            ej<         d_           G db dce                      Z> G dd dee          Z? G df dge          Z@ G dh die          ZA G dj dke          ZB G dl dme          ZC G dn doe          ZD G dp dqe          ZE G dr dsej	        ej
                  ZF G dt duej	        ej
                  ZG G dv dwej	        ej
                  ZH G dx dyeH          ZI G dz d{eH          ZJ G d| d}ej	        ej
                  ZK G d~ deK          ZL G d deK          ZM G d deK          ZN G d deK          ZO G d deK          ZP G d deK          ZQ G d deK          ZR G d deK          ZS G d deK          ZT G d deK          ZU G d deK          ZV G d deK          ZW G d dej	        ej
                  ZX G d deX          ZY G d deX          ZZ 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
                  Z_ G d de_          Z` G d de_          Za G d dej	        ej
                  Zb G d dej	        ej
                  Zcd Zdeedk    rA ejf        e jg                    ejh                     ej        i                    d           dS dS )    N)Path)commonc                        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d Zd Z xZS )BasicTestCaseNnumpyint32   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    8lib/python3.11/site-packages/tables/tests/test_earray.pyr   zBasicTestCase.setUp   sb     ); 	 K	  	     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                            |d|| j        ||d|          }| j        |_        t'          |j                  | _        |
d| j        d<   | j        | _        | j        D ]}|dk    r| xj        |z  c_        |j        | _        | xj        | j        z  c_        | j        | j        |j        <   | j        dk    r2t1          j        d| j        z  | j        d	|j        j        z  
          }n6t1          j        | j        |j        j        j                  }| j        |_        t>          j         r9| j        dk    rtC          d|           ntC          dtE          |                     tG          | j$                  D ];}| j        dk    r|%                    |           #|%                    ||z             <d S )Nstringitemsize)	complevelcomplibshuffle
fletcher32earray1r   )atomshapetitlefiltersexpectedrowsobjr      aS%sbufferr(   dtyper1   r   zObject to append -->)&r   r,   typetb
StringAtomlengthAtom	from_typer   __name__Filterscompressr#   r$   r%   r   create_earrayr(   flavorlistrowshapeobjsizeextdim	chunksizenpndarrayr'   r!   aranger1   baser   verboseprintreprrangenappendsappend)	r   groupr,   r'   r)   r*   earrayiobjects	            r   r   zBasicTestCase.populateFile'   sX   h;yH$$}dk:::w((33D'*t}%)\%)\(,9 9 9 **5)04DJ1689s + D D  V\**? DM!{ 	" 	"AAvv!m&'+~fm$9  ZtDL'8&*m&+fk.B&BD D DFF Yt|6;3D3IJJJF=FL> 	<{g%%,f5555,d6ll;;;t}%% 	* 	*AyH$$f%%%%fqj))))		* 	*r   c                 `    | j         | j         }nt          j        | j                  j         }|S r   )r(   rC   asarrayr,   r   r(   s     r   
_get_shapezBasicTestCase._get_shape[   s,    :!JEEJtx((.Er   c                    | j         r|                                  | j                            d          }|                                 }t          |          }| j        | j        z  || j        <   | j	        '|| j        xx         t          | j	                  z  cc<   t          |          }|                     |j        | j                   |                     |j        |           |                     |j        t          |                     |                     |j        || j                            |                     |j        j        | j                   d S )N/earray1)r   _reopenr   get_noderT   r>   rB   rK   rA   r,   lentupleassertEqualr=   r(   ndimnrowsr'   r3   )r   r,   r(   s      r   test00_attributeszBasicTestCase.test00_attributesc   s'   ; 	LLNNNk"":..!!U!^dm;dk8$+#dh--/eT[111E***3u::...E$+$6777	22222r   c           
      
   t           j        r,t          dd           t          d| j        j        z             | j        r|                                  | j                            d          }d|_	        t           j        rGt          dt          |                     t          d|j                   t          d| j                   | j        d	k    r2t          j        d
| j        z  | j        d|j        j        z            }n6t          j        | j        |j        j        j                  }| j        |_        |                    |j        d          }| j        t3          | j                  }nd}|                                 }t7          |          D ]k\  }}||k     rL|                     t          j        |t          j        | j        |                   | j                             XtA          |j!        |z
  | j"        z            }|dk    r2| j        d	k    r|}n$tA          |j!        |z
            }	||	| j"        z  z  }||         }
t           j        r	 | $                    || j%        | j"        z  z   |j&                   |                     t          j        ||
| j                             tG          |d          r9| $                    t3          |j                  t3          |          dz
             n#| $                    t3          |          d           | j'        |j(        j)        k    rFt           j        r:t          d| j        j                   t          d| j'        |j(        j)                   | $                    |j(        j)        | j'                   | j'        dk    rWtU          j+        | j,                  r>| $                    |j(        j,        -                    d          d         | j,                   | j.        |j(        j.        k    rFt           j        r:t          d| j        j                   t          d| j.        |j(        j.                   | $                    | j.        |j(        j.                   | j/        |j(        j/        k    rFt           j        r:t          d| j        j                   t          d| j/        |j(        j/                   | $                    | j/        |j(        j/                   mdS )z$Checking enlargeable array iterator.
<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01_iterEArray...rV      EArray descr:shape of read array ==>reopening?:r   r-   r.   r/   r2   r   Nnumber of row ==>r(   shape should look as:zrow in earray ==>Should look like ==>r   zError in compress. Class:zself, earray::zError in shuffle. Class:zError in fletcher32. Class:)0r   rG   rH   r   r9   r   rW   r   rX   
nrowsinbufrI   r(   r3   rC   rD   r@   r?   r'   r!   rE   r1   rF   swapaxesrA   r,   rY   rT   	enumerate
assertTrueallequalrR   r=   intnrowrB   hasattrr[   rK   r]   r;   r*   r"   r4   which_lib_versionr#   splitr$   r%   )r   rN   object_initialrowsr(   idxrowchunkobject__rO   rP   s              r   test01_iterEArrayzBasicTestCase.test01_iterEArrayu   s    > 	O$	"""3dn6MMNNN ; 	LLNNN%%j11 > 	./4<<000+V\:::---- 9  jT\(9'+}',v{/C'CE E EGG iFK4E4JKKKG MGM""6=!448dh--KKK!! "&)) 1	I 1	IHC[  DHSM22DK!A !A B B B{2dnDEEEzz9((&HHFK+566A&!t~*=>He_F~ < < [4=4>+II#\+ + +OOFOCEEFFFsG$$ 0  SYUa@@@@   UQ/// } 888V^814>3JKKKot}fn6NOOOV^5t}EEE}q  R%9$,%G%G    !7!=!=c!B!B1!Et|TTT|v~555&.50$.2IJJJot|V^5KLLLT\6>+ABBB&.";;;;3T^5LMMMotn/1 1 1T_fn.GHHHHc1	I 1	Ir   c           
         t           j        r,t          dd           t          d| j        j        z             | j        r|                                  | j                            d          }d|_	        t           j        rGt          dt          |                     t          d|j                   t          d| j                   | j        d	k    r2t          j        d
| j        z  | j        d|j        j        z            }n6t          j        | j        |j        j        j                  }| j        |_        |                    |j        d          }| j        t3          | j                  }nd}|                                 }t7          |                    | j        | j        | j                            D ]\  }}||k     rL|                      t          j!        |t          j"        | j        |                   | j#                             X| j$        dk    rd}ntK          |j&        |z
  | j$        z            }| j        d	k    r|}n$tK          |j&        |z
            }	||	| j$        z  z  }||         }
t           j        r	 | (                    || j)        | j$        z  z   |j*                   |                      t          j!        ||
| j#                             tO          |d          r:| (                    t3          |j                  t3          |          dz
             o| (                    t3          |          d           dS )z<Checking enlargeable array iterator with (start, stop, step)r`   ra   zRunning %s.test02_sssEArray...rV   rb   rc   rd   re   r   r-   r.   r/   r2   r   Nstartstopstepr   rf   r(   )+r   rG   rH   r   r9   r   rW   r   rX   rj   rI   r(   r3   rC   rD   r@   r?   r'   r!   rE   r1   rF   rk   rA   r,   rY   rT   rl   iterrowsr}   r~   r   rm   rn   rR   r=   rB   ro   rp   rq   r[   rK   r]   )r   rN   rt   ru   r(   rv   rw   indexry   rO   rP   s              r   test02_sssEArrayzBasicTestCase.test02_sssEArray   s9    > 	N$	"""2T^5LLMMM ; 	LLNNN%%j11 > 	./4<<000+V\:::---- 9  jT\(9'+}',v{/C'CE E EGG iFK4E4JKKKG MGM""6=!448dh--KKK!! "&//
7;y7;y #2 #B #B C C #	0 #	0HC [  DHSM22DK!A !A B B B~""V[;6$.HIIyH$$"k122"a4>&9:e_F ~ < < [4=4>+II#\+ + +OOFOCEEFFFsG$$ 0  SYUa@@@@   UQ////G#	0 #	0r   c                 
   t           j        r,t          dd           t          d| j        j        z             | j        t          | j                  | _        | j        t          | j                  | _        | j        t          | j                  | _        | j	        r| 
                                 | j                            d          }d|_        t           j        rGt          dt          |                     t          d|j                   t          d	| j	                   | j        d
k    r2t#          j        d| j        z  | j        d|j        j        z            }n6t#          j        | j        |j        j        j                  }| j        |_        |                    |j        d          }| j        t;          | j                  }nd}| j        }|| j        xx         | j        |z   z  cc<   | j        d
k    r$t#          j        |d|j        j                   }nt#          j        || j                  }|                    d| j                  }|r| j        |d|<   tA          | j                  D ]<}||| j!        z  z   }| j        d
k    r||||| j!        z   <   *||z  |||| j!        z   <   =| j        }| j        r| j        | j        dk    r|j"        }n
| j        dz   }|| j                 |k     r|| j                 }|| j        | j        | j                 #                                }	| j$        dk    r|	                    d| j                  }	n t#          j        | j        | j                  }		 |%                    | j        | j        | j                  }
n0# tL          $ r# t#          j        | j        | j                  }
Y nw xY wt           j        r_tO          |	d          rt          d|	j                   t          dt          |
                     t          dt          |	                     | (                    || j        | j!        z  z   |j"                   | )                    t          j*        |
|	| j$                             | +                                }tO          |
d          ri| (                    t;          |
j                  t;          |                     | j$        dk    r'| (                    |
j        |j        j                   dS dS | (                    t;          |          d           dS )&Checking read() of enlargeable arrays.r`   ra   zRunning %s.test03_readEArray...NrV   rb   rc   rd   re   r   r-   r.   r/   r2   r   Sr(   r1   r   r   r(   rg   Object read ==>rh   ),r   rG   rH   r   r9   r}   ro   r~   r   r   rW   r   rX   rj   rI   r(   r3   rC   rD   r@   r?   r'   r!   rE   r1   rF   rk   rA   r,   rY   rK   emptyrJ   rB   r]   copyr=   read
IndexErrorrq   r[   rm   rn   rT   )r   rN   rt   ru   r?   ry   rO   jr~   rP   rw   r(   s               r   test03_readEArrayzBasicTestCase.test03_readEArray  s    > 	O$	"""3dn6MMNNN :!TZDJ9 DIDI9 DIDI ; 	LLNNN%%j11 > 	./4<<000+V\:::---- 9  jT\(9'+}',v{/C'CE E EGG iFK4E4JKKKG MGM""6=!448dh--KKK=$-+"=>9  xh&@&+*>&@&@B B BHH xhdjAAAH$$Q44 	/&*hHQ{]#t}%% 	= 	=Aa$.00AyH$$181t~--..1811t~--..y= 	B y :##!<DD:>D $t++  , dj49<=BBDDF{g%%DK88XDJdjAAAF	?++dj$)TY??CC 	? 	? 	?(4:>>>CCC	? > 	8vw'' =-v|<<<#T#YY///($v,,777t}t~'EE	' 	' 	'VT[AABBB!!3   	,S^^SZZ888{g%%  v{/CDDDDD &% SZZ+++++s    &N' '*OOc                 
   | j         t          | j                   | _         | j        t          | j                  | _        | j        t          | j                  | _        | j        r|                                  | j                            d          }d|_        | j	        dk    r2t          j        d| j        z  | j        d|j        j        z            }n6t          j        | j        |j        j        j                  }| j        |_        |                    |j        d	          }| j        t/          | j                  }nd	}| j        }|| j        xx         | j        |z   z  cc<   | j	        dk    r$t          j        |d
|j        j                   }nt          j        || j                  }|                    d	| j                  }|r| j        |d	|<   t5          | j                  D ]<}||| j        z  z   }| j	        dk    r||||| j        z   <   *||z  |||| j        z   <   =| j        }| j        r| j        | j         dk    r|j        }n
| j         dz   }|| j                 |k     r|| j                 }|| j         | j        | j                                                 }	| j        dk    r|	                    d	| j                  }	n t          j        | j        | j                  }		 t          j        |j        |j        j                  }
t?          d          gt/          |j                  z  }t?          | j         | j        | j                  ||j         <   |
tC          |                                                   }
|"                    | j         | j        | j        |
           n0# tF          $ r# t          j        | j        | j                  }
Y nw xY wtH          j%        r_tM          |	d          rtO          d|	j                   tO          dtQ          |
                     tO          dtQ          |	                     | )                    || j        | j        z  z   |j                   | *                    tI          j+        |
|	| j                             | ,                                }tM          |
d          ri| )                    t/          |
j                  t/          |                     | j        dk    r'| )                    |
j        |j        j                   dS dS | )                    t/          |          d           dS )r   NrV   rb   r   r-   r.   r/   r2   r   r   r   r   r   r   )outr(   rg   r   rh   )-r}   ro   r~   r   r   rW   r   rX   rj   r3   rC   rD   r@   r?   r'   r!   rE   r1   rF   r(   rk   rA   r,   rY   rK   r   rJ   rB   r]   r   r=   slicemaindimrZ   r   r   r   rG   rq   rH   rI   r[   rm   rn   rT   )r   rN   rt   ru   r?   ry   rO   r   r~   rP   rw   	slice_objr(   s                r   test03_readEArray_out_argumentz,BasicTestCase.test03_readEArray_out_argument  s    :!TZDJ9 DIDI9 DIDI ; 	LLNNN%%j11 9  jT\(9'+}',v{/C'CE E EGG iFK4E4JKKKG MGM""6=!448dh--KKK=$-+"=>9  xh&@&+*>&@&@B B BHH xhdjAAAH$$Q44 	/&*hHQ{]#t}%% 	= 	=Aa$.00AyH$$181t~--..1811t~--..y= 	B y :##!<DD:>D $t++  , dj49<=BBDDF{g%%DK88XDJdjAAAF	?(6<v{/@AAACtFL(9(99I(-dj$)TY(O(OIfn%eI&&',,..CKK
DItycKBBBB 	? 	? 	?(4:>>>CCC	? > 	8vw'' =-v|<<<#T#YY///($v,,777t}t~'EE	' 	' 	'VT[AABBB!!3   	,S^^SZZ888{g%%  v{/CDDDDD &% SZZ+++++s   5CN7 7*O$#O$c                 	   t           j        r,t          dd           t          d| j        j        z             t          | d          s| j        t          | j                  | _        | j        t          | j                  | _        | j	        t          | j	                  | _	        t          | j        | j        | j	                  f| _        | j        r|                                  | 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                   }n6t'          j        | j        |j        j        j                  }| j        |_        |                    |j        d          }| j        t?          | j                  }nd}| j        }|| j        xx         | j         |z   z  cc<   | j        d
k    r$t'          j!        |d|j        j                   }nt'          j!        || j                  }|                    d|j                  }|r| j        |d|<   tE          | j                   D ]<}||| j#        z  z   }| j        d
k    r||||| j#        z   <   *||z  |||| j#        z   <   =| j         ro| j$        dk    r|                    d| j                  }n|                    d| j                   |%                    | j                  &                                }n t'          j!        | j        | j                  }	 |%                    | j                  }	n0# tN          $ r# 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                   | (                    || j         | j#        z  z   |j)                   | *                    t          j+        |	|| j$                             t          |	d          s*| (                    t?          | j                  d           dS dS )z6Checking enlargeable array __getitem__ special method.r`   ra   z"Running %s.test04_getitemEArray...slicesNrV   rc   rd   re   r   r-   r   r/   r2   r   r   r   Object read:
Should look like:
r(   Original object shape:Shape read:rg   r   ),r   rG   rH   r   r9   rq   r}   ro   r~   r   r   r   r   rW   r   rX   rI   r(   r3   rC   rD   r@   r?   r'   r!   rE   r1   rF   rk   rA   r,   rY   rK   r   rJ   rB   r=   __getitem__r   r   r[   r]   rm   rn   
r   rN   rt   ru   r?   ry   rO   r   rP   rw   s
             r   test04_getitemEArrayz"BasicTestCase.test04_getitemEArray  s    > 	+$	"""6.)* + + + tX&& 		E z% __
y$	NN	y$	NN	 TY	BBDDK ; 	LLNNN%%j11 > 	./4<<000+V\:::---- 9  jt|(;'+}'A6;+?'A'AC C CGG iFK4E4JKKKG MGM""6=!448dh--KKK=$-+"=>9  xh&@&+*>&@&@B B BHH xhdjAAAH$$Q66 	/&*hHQ{]#t}%% 	= 	=Aa$.00AyH$$181t~--..1811t~--..= 
	B{g%%#,,Q<<!!!T[111 ))$+66;;==FFXDJdjAAAF	?$$T[11CC 	? 	? 	?(4:>>>CCC	? > 	="DII...'f666vw'' =.
;;;mSY///-v|<<<t}t~'EE	' 	' 	'VT[AABBBsG$$ 	1S__a00000	1 	1s   N *O
	O
c                    | j         j        dk    rdS t          j        r,t	          dd           t	          d| j         j        z             t          | d          s| j        t          | j                  | _        | j        t          | j                  | _        | j	        t          | j	                  | _	        t          | j        | j        | j	                  f| _        | j        r|                     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                   }n6t'          j        | j        |j        j        j                  }| j        |_        |                    |j        d          }| j        t?          | j                  }nd}| j        }|| j        xx         | j         |z   z  cc<   | j        dk    r$t'          j!        |d|j        j                   }nt'          j!        || j                  }|                    d|j                  }tE          | j                   D ]<}||| j#        z  z   }| j        dk    r||||| j#        z   <   *||z  |||| j#        z   <   =|r| j        |d|<   | j         ro| j$        dk    r|                    d| j                  }n|                    d| j                   |%                    | j                  &                                }n t'          j!        | j        | j                  }| j$        dk    rt'          j'        |          }| j        dk    ret          | d          rd|| j(        <   d|| j)        <   ntU          || 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)        <   nctU          || j                 j                  dk    r@|dz  dz   }t'          j,        |j                  dk    r|| j                 dz  dz   || j        <   |%                    | j                  }		 |%                    | j                  }	n?# tZ          $ r2 t	          d           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                   | .                    || j         | j#        z  z   |j/                   | 0                    t          j1        |	|| j$                             t          |	d          s*| .                    t?          | j                  d            dS dS )!z6Checking enlargeable array __setitem__ special method.Ellipsis6EArrayTestCaseNr`   ra   z"Running %s.test05_setitemEArray...r   amoderV   rc   rd   re   r   r-   r   r/   r2   r   r   r   wslicexXxr
   rb   zIndexError!r   r   r(   r   r   rg   r   )2r   r9   r   rG   rH   rq   r}   ro   r~   r   r   r   r   rW   r   rX   rI   r(   r3   rC   rD   r@   r?   r'   r!   rE   r1   rF   rk   rA   r,   rY   rK   r   rJ   rB   r=   r   r   rR   wslizer   sumsizeprodr   r[   r]   rm   rn   r   s
             r   test05_setitemEArrayz"BasicTestCase.test05_setitemEArrayY  sc    >"&??? F> 	+$	"""6.)* + + + tX&& 		E z% __
y$	NN	y$	NN	 TY	BBDDK ; 	#LLcL"""%%j11 > 	./4<<000+V\:::---- 9  jt|(;'+}'A6;+?'A'AC C CGG iFK4E4JKKKG MGM""6=!448dh--KKK=$-+"=>9  xh&@&+*>&@&@B B BHH xhdjAAAH$$Q66t}%% 	= 	=Aa$.00AyH$$181t~--..1811t~--..
  	/&*hHQ{]#= 
	B{g%%#,,Q<<!!!T[111 ))$+66;;==FFXDJdjAAAF;'!!Z''F9  tX&& 
1 ',t{#&+t{##VDK(.//144!qqq	;??*0F4;'tX&& F&,T[&9A&=&At{#&,T[&9A&=&At{##VDK(.//144!a76<((1,,*0*=*AA*EF4;'  --	?$$T[11CC 	? 	? 	?-   (4:>>>CCC	? > 	="DII...'f666vw'' =.
;;;mSY///-v|<<<t}t~'EE	' 	' 	'VT[AABBBsG$$ 	1S__a00000	1 	1s   )T 9U ?U )r9   
__module____qualname__r,   r=   r3   r1   r(   r}   r~   r   r6   rB   rK   r;   r#   r$   r%   r   r   r   rT   r^   rz   r   r   r   r   r   __classcell__r   s   @r   r   r   
   s.       
CFDEEEDDFIHHGGJF         2* 2* 2*h  3 3 3$VI VI VIpH0 H0 H0To, o, o,bk, k, k,Zb1 b1 b1HD1 D1 D1 D1 D1 D1 D1r   r   c                   &    e Zd ZdZdZdZdZdZdZdS )BasicWriteTestCaser   r   r   r   r   N)	r9   r   r   r3   r(   rB   rK   r   r    r   r   r   r     s,        DEIHDFFFr   r   c                   J    e Zd ZdZdZdZdZdZdZ e	edz
  ed          Z
dZd	S )
Basic2WriteTestCaser   i4r   r   r   r   r
   r   N)r9   r   r   r3   r1   r(   rB   rK   r   r   r   r   r   r   r   r   r     sH        DEEIHDU9Q;!,,FFFFr   r   c                       e Zd ZddgZ ej        e          j        j        Z ej        e          j        j	        ZdZ
dZdZdZdS )Basic3WriteTestCaser   r
   r   r   r   Nr9   r   r   r,   rC   rR   r1   namer3   strr(   
chunkshaper   r   r   r   r   r   r     U        a&C2:c?? %DBJsOO!%EEJDFFFr   r   c                   r    e Zd Z ej        ddg          Zej        j        Zej        j	        ZdZ
dZdZdZdS )Basic4WriteTestCaser   r
   Nr   r   r9   r   r   rC   arrayr,   r1   r   r3   r   r(   r   r   r   r   r   r   r   r     I        
"(Aq6

C9>DIMEEJDFFFr   r   c                       e Zd ZddgZ ej        e          j        j        Z ej        e          j        j	        ZdZ
dZdZdZdS )Basic5WriteTestCaser   r
   r   r   Nr   r   r   r   r   r   	  r   r   r   c                   r    e Zd Z ej        ddg          Zej        j        Zej        j	        ZdZ
dZdZdZdS )Basic6WriteTestCaser   r
   Nr   r   r   r   r   r   r     r   r   r   c                       e Zd ZddgddggZ ej        e          j        j        Z ej        e          j        j	        ZdZ
dZdZdZdS )	Basic7WriteTestCaser   r
   rb      r   r
   r   r   Nr   r   r   r   r   r     ^        q6Aq6
C2:c?? %DBJsOO!%EEJDFFFr   r   c                       e Zd ZddgddggZ ej        e          j        j        Z ej        e          j        j	        ZdZ
dZdZdZdS )Basic8WriteTestCaser   r
   rb   r   r   r   Nr   r   r   r   r   r   '  r   r   r   c                   J    e Zd ZdZ ej        d          ZdZdZdZdZ	dZ
dZdS )EmptyEArrayTestCaser   r	   r   r   r   r   N)r9   r   r   r3   rC   r1   r(   rB   rK   r}   r~   r   r   r   r   r   r   1  sB        DBHWEEIHEDDDDr   r   c                   >    e Zd ZdZ ej        d          ZdZdZdZdS )NP_EmptyEArrayTestCaser   z()int32r	   r   r   N)	r9   r   r   r3   rC   r1   r(   rB   rK   r   r   r   r   r   <  s3        DBHYEEIHHHr   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 )Empty2EArrayTestCaser   r	   r   r   r   r   N)r9   r   r   r3   r1   r(   rB   rK   r}   r~   r   r   r   r   r   r   r   D  s;        DEEIHEDDFFFr   r   z%LZO compression library not availablec                   Z    e Zd 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 )	SlicesEArrayTestCaser   lzor   r	   r   r
   rb   Nr9   r   r   r;   r#   r3   r(   rB   rK   r   r   r   r   r   r   r   P  sP         HGDEIHeAq!nneeAq!nn-FFFr   r   z'BLOSC compression library not availablec                   r    e Zd 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 )
Slices2EArrayTestCaser   bloscr   r
   r   r   r      r
   Nr   r   r   r   r   r   r   \  s`         HGDEIHeAq!nneeD$55uuQ1~~FFFFr   r   z(BLOSC2 compression library not availablec                   l    e Zd ZdZdZdZdZdZdZ e	dd           e	dd	           e	d
d	          fZ
dS )Blosc2SlicesOptEArrayTestCaser   blosc2r   )r      r   )r   r   r   r   Nr
   r   r   )r9   r   r   r;   r#   r3   r(   r   rK   r   r   r   r   r   r   r   h  sZ         HGDEJHeD$q"uuQ||<FFFr   r   c                   &    e Zd ZdZdZdZdZdZdZdS )Blosc2ComprTestCaser   r   r   r   rb   r   N)	r9   r   r   r;   r#   r   r}   r~   r   r   r   r   r   r   t  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 )	Blosc2CrossChunkTestCaser   r   r   r   r   r   r   rb      Nr9   r   r   r(   r;   r#   r   rK   r}   r~   r   r   r   r   r   r     s8         EHGJHEDDDDr   r   c                        e Zd ZdZej        ZdS )Blosc2CrossChunkOptTestCaser   Nr9   r   r   r   sys	byteorderr   r   r   r   r              DIIIr   r   c                       e Zd ZdZdS )Blosc2InnerCrossChunkTestCase)r   r   N)r9   r   r   r(   r   r   r   r   r     s         EEEr   r   c                        e Zd ZdZej        ZdS ) Blosc2InnerCrossChunkOptTestCaser   Nr   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Z	dZ
d	S )
Blosc2PastLastChunkTestCaser   r   r   r   r      d   rb   Nr   r   r   r   r   r     s8         EHGJHEDDDDr   r   c                   <    e Zd ZdZdZdZdZe eddd          fZ	dS )EllipsisEArrayTestCaser   r	   r   r
   r   N
r9   r   r   r3   r(   rB   rK   Ellipsisr   r   r   r   r   r   r     s8        DEIHaA'FFFr   r   c                   T    e Zd ZdZdZdZdZ eddd          e eddd          fZ	dS )	Ellipsis2EArrayTestCaser   r   r   r   r   r
   r   N
r9   r   r   r3   r(   rB   rK   r   r   r   r   r   r   r   r     sF        DEIHeAq!nnhaA7FFFr   r   c                   
   e Zd 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 )Slices3EArrayTestCaser   r   r   r
   rb   r   r   r   r   r
   r   Nr   r   r   r   r   r   r     s         HGDEIHeAq!nneeAtT22eAq!nnF eAq!nneeAq$//q!Q@FeAq!nneeAq$//q!Q@FFFr   r   c            
           e Zd 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 )Slices4EArrayTestCaser   )r
   rb   r   r   r   r   r   r   r   r
   r   Nr   rb      )	r9   r   r   r3   r(   rB   rK   r   r   r   r   r   r  r    s        DEIHeAq!nneeAtT22EE!QNNeAq!nneeAq!nneeAq!nn>FFFr   r  c                       e Zd 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 )
Ellipsis3EArrayTestCaser   r   r   r   r   r   Nr   r
   r   r   r   r   r  r    s|        DEIHaD))55Aq>>:FeAq!nneeAq$//q!QJFFFr   r  c                       e Zd 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 )
Ellipsis4EArrayTestCaser   r   r   r   r   r   Nr   r
   r   r   r   r   r  r    sl        DEIHaD))55Aq>>:FeAq!nnhaA7FFFr   r  c                   T    e Zd ZdZdZdZdZ eddd           eddd	          efZ	d	S )
Ellipsis5EArrayTestCaser   r   r   r   r   r
   r   r   Nr   r   r   r   r	  r	    sH        DEIHeAq!nneeAq$//:FFFr   r	  c                   V    e Zd ZdZdZdZdZ eddd           eddd          defZ	dS )	r   r   r   r   r
   r   r   r   Nr   r   r   r   r   r     sL        DEIH eAq!nneeAq$//H=FFFr   r   c                   j    e Zd 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 )
Ellipsis7EArrayTestCaser   r   r   r
   r   r   r   Nrb   r   r   r   r   r  r    sT        DEIHeAq!nneeAq$//q!hGFFFr   r  c                       e Zd ZdZdZdZdZdS )MD3WriteTestCaser   r
   r   rb   r   r
   N)r9   r   r   r3   r(   rB   r   r   r   r   r  r    s"        DEIDDDr   r  c                   *    e Zd ZdZdZdZdZdZdZdZ	dS )MD5WriteTestCaser   )r
   r   rb   r   r   r   r   N
r9   r   r   r3   r(   rB   rK   r}   r~   r   r   r   r   r  r    s3        DE IH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 )MD6WriteTestCaser   r
   rb   rb   r   r   r   r   r   rb   Nr  r   r   r   r  r    s1        DEIHEDDDDr   r  c                   "    e Zd ZdZdZdZdZdZdS )NP_MD6WriteTestCasez Testing NumPy scalars as indexesr   r  r   r   N)r9   r   r   __doc__r3   r(   rB   rK   r   r   r   r  r  )  s(        **DEIHHHr   r  c                   *    e Zd ZdZdZdZdZdZdZdZ	dS )MD6WriteTestCase__r   r	   r   rb   Nr  r   r   r   r  r  1  s1        DEIH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 )MD7WriteTestCaser   )r
   rb   rb   r   r   r   rb   r   r   r
   Nr  r   r   r   r  r  ;  s1        D!EIH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 )MD10WriteTestCaser   
r   r
   rb   r   r   r   r   rb   r
   r   r   r   r   Nr  r   r   r   r  r  E  s1        D*EIHEDDDDr   r  c                       e Zd ZdZdZdZdZdS )NP_MD10WriteTestCaser   r  r   r   N)r9   r   r   r3   r(   rB   rK   r   r   r   r!  r!  O  s"        D*EIHHHr   r!  c                   "    e Zd ZdZdZdZdZdZdS )ZlibComprTestCaser   r   rb   Nr   )r9   r   r   r;   r#   r}   r~   r   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   rb   r   N)	r9   r   r   r$   r;   r#   r}   r~   r   r   r   r   r%  r%  _  s,        GHG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 )BloscComprTestCaser   r   r   r   rb   N
r9   r   r   r;   r#   rB   rK   r}   r~   r   r   r   r   r'  r'  i  s3         HGIH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 )BloscShuffleTestCaser   r   r   r   rb   r  Nr9   r   r   r;   r$   r#   rB   rK   r}   r~   r   r   r   r   r*  r*  u  8         HGGIH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 )LZOComprTestCaser   r   r   r   rb   Nr(  r   r   r   r.  r.    s3         HGIH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   rb   r  Nr+  r   r   r   r0  r0    s8         HGGIHEDDDDr   r0  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   bzip2r   r   rb   r   Nr(  r   r   r   r2  r2    s3         HGIHEDDDDr   r2  c                   .    e Zd ZdZdZdZdZdZdZdZ	dZ
dS )Bzip2ShuffleTestCaser   r3  r   r   rb   r   Nr+  r   r   r   r5  r5    r,  r   r5  c                   *    e Zd ZdZdZdZdZdZdZdZ	dS )Fletcher32TestCaser   r   2   r   r   r  N)
r9   r   r   r;   r%   rB   rK   r}   r~   r   r   r   r   r7  r7    s1        HJIHEDDDDr   r7  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 )	AllFiltersTestCaser   r   r   r8  r
   c   r   N)r9   r   r   r;   r$   r%   r#   rB   rK   r}   r~   r   r   r   r   r:  r:    s;        HGJGIH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 )FloatTypeTestCasefloat64r	   r   r   rb   r   Nr9   r   r   r3   r1   r(   rB   rK   r}   r~   r   r   r   r   r=  r=    s6        DEEIH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 )ComplexTypeTestCase
complex128r	   r   r   rb   r   Nr?  r   r   r   rA  rA    s6        DEEIH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
 edd           edd	          fZd
S )StringTestCaser   r   r	   r   r   rb   r   r   r
   N)r9   r   r   r3   r6   r(   rB   rK   r}   r~   r   r   r   r   r   r   rD  rD    sT        DFEIHEDDeAqkk55A;;'FFFr   rD  c                   .    e Zd 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
   N)r9   r   r   r3   r6   r(   rB   rK   r}   r~   r   r   r   r   rF  rF    s6        DFEIHEDDDDr   rF  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 )
StringComprTestCaser   r   )r   r   r   r   r8  r   r   r   N)r9   r   r   r3   r6   r(   comprrB   rK   r}   r~   r   r   r   r   rH  rH    s;        DFEEIHEDDDDr   rH  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 )Nr   )  r   ip  )r   r   
array_sizer   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#   /rN   )r'   r(   r*   r   )r4   r:   r   r<   	Int32AtomrN  r   r   )r   r"   r*   s      r   create_arrayz/SizeOnDiskInMemoryPropertyTestCase.create_array  sT    *y'BBB[..sH46LNN59_7>:>/	 / K K


r   c                     d}|                      |           |                     | j        j        d           |                     | j        j        d           d S Nr   )rS  r[   r   size_on_disksize_in_memoryr   r"   s     r   test_zero_lengthz3SizeOnDiskInMemoryPropertyTestCase.test_zero_length!  sW    	)$$$0!4442A66666r   c                 @   d}|                      |           | j                            t          t	          d                    g| j        d         z  dz             |                     | j        j        d           |                     | j        j        d           d S )Nr   r    	rS  r   rL   rZ   rJ   r   r[   rV  rW  rX  s     r   test_no_compression_one_appendzASizeOnDiskInMemoryPropertyTestCase.test_no_compression_one_append(  s    	)$$$
5r++,tq/AABFGGG02DEEE24FGGGGGr   c                    d}|                      |           | j                            t          t	          d                    g| j        d         z  dz             | j                            t          t	          d                    g| j        d         z  dz             |                     | j        j        d           |                     | j        j        d           d S )Nr   r   r   r[  r\  rX  s     r   $test_no_compression_multiple_appendszGSizeOnDiskInMemoryPropertyTestCase.test_no_compression_multiple_appends0  s    	)$$$
5r++,tq/AAAEFFF
5r++,tq/AAAEFFF02DEEE24FGGGGGr   c                    d}|                      |           | j                            t          t	          d                    g| j        d         z  dz             t          | j                                                  j	        }| 
                    t          | j        j        |z
            | j        k               |                     | j        j        d           |                     | j        j        | j        j                   d S )Nr   r   r   r[  )rS  r   rL   rZ   rJ   r   r   h5fnamestatst_sizerm   absrV  rO  r[   rW  
assertLess)r   r"   	file_sizes      r   test_with_compressionz8SizeOnDiskInMemoryPropertyTestCase.test_with_compression8  s    	)$$$
5r++,tq/AABFGGG&&++--5	
')3448II	K 	K 	K24FGGG
/1JKKKKKr   )
r9   r   r   r   rS  rY  r]  r_  rg  r   r   s   @r   rK  rK    s        ! ! ! ! !K K K7 7 7H H HH H HL L L L L L Lr   rK  c                   f     e Zd ZdZdZdZ fdZd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Z xZS )OffsetStrideTestCasewr   r   c                 j    t                                                       | j        j        | _        d S r   )r   r   r   r   r   r   s    r   r   zOffsetStrideTestCase.setUpH  s$    )r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             | 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                    t          j        dd
gddgddgddggg          }|                    |ddddf                    |                                }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 earray with offseted numpy strings appends.r`   ra   z Running %s.test01a_StringAtom...stringsrb   r    r   r
   r
   Array of stringsr'   r(   r)   r   b12345S3r2   Nr   sabfabcr
   Object read:Nrows inri   Second row in earray ==>r      123   45   s   abc   fr   r   rG   rH   r   r9   r   r<   r4   r5   rC   r   rL   r   _v_pathnamer]   tolistr[   rY   r   r   rN   r   rw   s        r   test01a_Stringz#OffsetStrideTestCase.test01a_StringL  s-    ~> 	P$	"""4t~7NNOOO**402q0I0I0I1:1C + E E HSzE4=4-@ANNNa122hHSzD#;euclKLMMa122h kkmm> 	?.#&&&*f0#v|DDD,c!fmmoo>>>q)))QFE?UFO*LMMMQD&>FD>*JKKKSVa(((SVa(((((r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	        d          dd	          }t          j        d
dgddgddgggd          }|                    |dddddf                    t          j        dd
gddgddgddggg          }|                    |dddddf                    |                                }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 earray with strided numpy strings appends.r`   ra   z Running %s.test01b_StringAtom...rm  rb   r    rn  ro  rp  r   rq  rr  rs  rt  r2   Nr
   ru  rv  rw  rx  ry  rz  ri   r{  r   r   r-      br}  r|  r~  r  r  r  s        r   test01b_Stringz#OffsetStrideTestCase.test01b_Stringj  s1    ~> 	P$	"""4t~7NNOOO**402q0I0I0I1:1C + E E HSzE4=4-@ANNNa33Q3i   HSzD#;euclKLMMa33Q3i    kkmm> 	?.#&&&*f0#v|DDD,c!fmmoo>>>q)))QD$<%*IJJJQD$<$*HIIISVa(((SVa(((((r   c           	      J   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                    dd          }t          j        g dd	
          }|                    |dd                    t          j        ddgd	
          }|                    |dd                    |                                }t          j        rBt          d|           t          d|j        d|j                   t          d|d                    |                     |j        d           |                     t          j        |d         t          j        g dd	
                               |                     t          j        |d         t          j        g dd	
                               |                     t          j        |d         t          j        g dd	
                               dS )z1Checking earray with offseted NumPy ints appends.r`   ra   zRunning %s.test02a_int...EAtomr   rb   array of intsrp  )r   r   r   r   r   rb   r   r   r   r  r   r2   r
   Nr  r   r   r   r   ry  rz  ri   Third row in vlarray ==>rb   r   r  r   r   rG   rH   r   r9   r   r<   r4   rR  rC   r   rL   r   r  r]   r[   rm   rn   r  s        r   test02a_intz OffsetStrideTestCase.test02a_int  s    ~> 	I$	"""-0GGHHH **402f1@ + B B HAAA"$ $ $aeHi,G<<<ae kkmm> 	6.#&&&*f0#v|DDD,c!f555q)))FBHYYYg6668 8 	9 	9 	9FBHYYYg6668 8 	9 	9 	9FBHZZZw7779 9 	: 	: 	: 	: 	:r   c           	      N   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                    dd          }t          j        g dd	
          }|                    |ddd                    t          j        ddg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 earray with strided NumPy ints appends.r`   ra   zRunning %s.test02b_int...r  r  r  rp  r  r  r  rb   rb   rb   r   r2   Nrb   r  r  r
   ry  rz  ri   r  r   r  r   r  r  r  s        r   test02b_intz OffsetStrideTestCase.test02b_int  s    ~> 	I$	"""-0GGHHH**402f1@ + B B HAAA"$ $ $a!fHi,G<<<a!f kkmm> 	6.#&&&*f0#v|DDD,c!f555q)))FBHYYYg6668 8 	9 	9 	9FBHYYYg6668 8 	9 	9 	9FBHYYYg6668 8 	9 	9 	9 	9 	9r   c                 0   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                    dd          }t          j        g dd	
          }|                    |           |                                }|                    |j                                                  }|                    |           |ddddf         }|ddddf         }t          j        rTt          d|           t          d|j        j                   t          d|           t          d|j        j                   |                     t          j        ||                     dS )z/Checking earray with byteswapped appends (ints)r`   ra   zRunning %s.test03a_int...r  r  r  rp  r  r   r2   Nr   Native rows:Byteorder native rows:Swapped rows:Byteorder swapped rows:)r   r   rG   rH   r   r9   r   r<   r4   rR  rC   r   rL   byteswapviewr1   newbyteorderr   rm   rn   r   r   rN   r   nativeswappeds         r   test03a_intz OffsetStrideTestCase.test03a_int  s    ~> 	I$	"""-0GGHHH**402f1@ + B B HAAA"$ $ $aJJLLFF17''))**a AAAQQQ-> 	F.&)))*FL,BCCC/7++++W]-DEEE8899999r   c                 0   | j         }t          j        r,t          dd           t          d| j        j        z             | j                            |dt          j	                    dd          }t          j        g dd	
          }|                    |           |                                }|                    |j                                                  }|                    |           |ddddf         }|ddddf         }t          j        rTt          d|           t          d|j        j                   t          d|           t          d|j        j                   |                     t          j        ||                     dS )z1Checking earray with byteswapped appends (floats)r`   ra   zRunning %s.test03b_float...r  r  array of floatsrp  r  r>  r2   Nr   r  r  r  r  )r   r   rG   rH   r   r9   r   r<   r4   Float64AtomrC   r   rL   r  r  r1   r  r   rm   rn   r  s         r   test03b_floatz"OffsetStrideTestCase.test03b_float  s    ~> 	K$	"""/$.2IIJJJ**4020@0@1B + D D HAAA$& & &aJJLLFF17''))**a AAAQQQ-> 	F.&)))*FL,BCCC/7++++W]-DEEE8899999r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             dddt          j                 }| j        	                    |dt          j                    dd	|
          }t          j        g dd          }|                    |           |                                }|                    |j                                                  }|                    |           |ddddf         }|ddddf         }t          j        rDt          dt          j        j        |j        j                            t          d|j                   |                     t          j        j        |j        j                 t          j                   |                     |j        |           |                     t          j        ||                     dS )z2Checking earray with byteswapped appends (2, ints)r`   ra   zRunning %s.test04a_int...biglittler  r  r  r  r  r'   r(   r)   r   r  r   r2   Nr   r  Byteorder earray on-disk:)r   r   rG   rH   r   r9   r   r   r   r<   r4   rR  rC   r   rL   r  r  r1   r  utils
byteordersr[   rm   rn   r   r   r   rN   r   r  r  s          r   test04a_intz OffsetStrideTestCase.test04a_int	  s    ~> 	I$	"""-0GGHHH$X66s}E	**402f1@5> + @ @
 HAAA"$ $ $aJJLLFF17''))**a AAAQQQ-> 	A*(%fl&<=? ? ?-v/?@@@,V\-CD	( 	( 	()95558899999r   c                 P   | j         }t          j        r,t          dd           t          d| j        j        z             dddt          j                 }| j        	                    |dt          j                    dd	|
          }|                     d           | j                            d          }t          j        g dd          }|                    |           |                                }|                    |j                                                  }|                    |           |ddddf         }|ddddf         }t          j        rDt          dt          j        j        |j        j                            t          d|j                   |                     t          j        j        |j        j                 t          j                   |                     |j        |           |                     t          j        ||                     dS )z:Checking earray with byteswapped appends (2, ints, reopen)r`   ra   zRunning %s.test04b_int...r  r  r  r  r  r  r  r   r   /EAtomr  r   r2   Nr   r  r  )r   r   rG   rH   r   r9   r   r   r   r<   r4   rR  rW   rX   rC   r   rL   r  r  r1   r  r  r  r[   rm   rn   r  s          r   test04b_intz OffsetStrideTestCase.test04b_int-  s     ~> 	I$	"""-0GGHHH$X66s}E	**402f1@5> + @ @ 	#%%h//HAAA"$ $ $aJJLLFF17''))**a AAAQQQ-> 	A*(%fl&<=? ? ?-v/?@@@,V\-CD	( 	( 	()95558899999r   c                    | j         }t          j        r,t          dd           t          d| j        j        z             dddt          j                 }| j        	                    |dt          j                    dd	|
          }t          j        g dd          }|                    |           |                                }|                    |j                                                  }|                    |           |ddddf         }|ddddf         }t          j        rDt          dt          j        j        |j        j                            t          d|j                   |                     t          j        j        |j        j                 t          j                   |                     |j        |           |                     t          j        ||                     dS )z4Checking earray with byteswapped appends (2, floats)r`   ra   zRunning %s.test04c_float...r  r  r  r  r  r  r  r  r>  r2   Nr   r  r  )r   r   rG   rH   r   r9   r   r   r   r<   r4   r  rC   r   rL   r  r  r1   r  r  r  r[   rm   rn   r  s          r   test04c_floatz"OffsetStrideTestCase.test04c_floatS  s    ~> 	K$	"""/$.2IIJJJ$X66s}E	**4020@0@1B5> + @ @
 HAAA$& & &aJJLLFF17''))**a AAAQQQ-> 	A*(%fl&<=? ? ?-v/?@@@,V\-CD	( 	( 	()95558899999r   c                 P   | j         }t          j        r,t          dd           t          d| j        j        z             dddt          j                 }| j        	                    |dt          j                    dd	|
          }|                     d           | j                            d          }t          j        g dd          }|                    |           |                                }|                    |j                                                  }|                    |           |ddddf         }|ddddf         }t          j        rDt          dt          j        j        |j        j                            t          d|j                   |                     t          j        j        |j        j                 t          j                   |                     |j        |           |                     t          j        ||                     dS )z<Checking earray with byteswapped appends (2, floats, reopen)r`   ra   zRunning %s.test04d_float...r  r  r  r  r  r  r  r   r   r  r  r>  r2   Nr   r  r  )r   r   rG   rH   r   r9   r   r   r   r<   r4   r  rW   rX   rC   r   rL   r  r  r1   r  r  r  r[   rm   rn   r  s          r   test04d_floatz"OffsetStrideTestCase.test04d_floatw  s    ~> 	K$	"""/$.2IIJJJ$X66s}E	**4020@0@1B5> + @ @ 	#%%h//HAAA$& & &aJJLLFF17''))**a AAAQQQ-> 	A*(%fl&<=? ? ?-v/?@@@,V\-CD	( 	( 	()95558899999r   )r9   r   r   r   r;   r#   r   r  r  r  r  r  r  r  r  r  r  r   r   s   @r   ri  ri  C  s        DHG* * * * *) ) )<) ) )<: : :B9 9 9@: : :@: : :@": ": ":H$: $: $:L": ": ":H$: $: $: $: $: $: $:r   ri  c                   >    e 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             t          j                    }| j                            | j        j	        d|dd          }|
                    t          j        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|                                           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        |j        j                   |                     |j         |j                    |                     tC          |j                  tC          |j                             dS )zChecking EArray.copy() method.r`   ra   zRunning %s.test01_copy...array1r   title array1rp    r
   rb     int16r2   (closing file version)r   r   rQ  array2	array1-->	array2-->attrs array1-->attrs array2-->N)"r   rG   rH   r   r9   r4   	Int16Atomr   r<   r   rL   rC   r   r   rW   r  r   r  r   rI   attrsrm   rn   r[   r]   r(   rA   r=   r'   r1   r3   r!   r)   r   r   r'   r  r  s       r   test01_copyzCopyTestCase.test01_copy  s    > 	I$	"""-0GGHHH |~~**4;+;X04F1? + A A 	bha1c(37CCCDDD: 	-~ 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{/CDDDv|444V[))3v{+;+;<<<<<r   c                 j   t           j        r,t          dd           t          d| j        j        z             t          j                    }| j                            | j        j	        d|dd          }|
                    t          j        dd	gd
dggd                     | 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!        |j        j!                   |                     |j"        |j"                   |                     tG          |j                  tG          |j                             dS )z/Checking EArray.copy() method (where specified)r`   ra   zRunning %s.test02_copy...r  r   r  rp  r  r
   rb   r  r  r2   r  r   r   rQ  group1r  r  r  r  r  N)$r   rG   rH   r   r9   r4   r  r   r<   r   rL   rC   r   r   rW   r  create_groupr   r  r  r   rI   r  rm   rn   r[   r]   r(   rA   r=   r'   r1   r3   r!   r)   r   )r   r'   r  r  r  s        r   test02_copyzCopyTestCase.test02_copy  s    > 	I$	"""-0GGHHH |~~**4;+;X04F1? + A A 	bha1c(37CCCDDD: 	-~ 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{/CDDDv|444V[))3v{+;+;<<<<<r   c                 X   t           j        r,t          dd           t          d| j        j        z             t          j                    }| j                            | j        j	        d|dd          }d|_
        |                    d	           | j        rBt           j        rt          d
           |                     d           | j        j	        j        }|                    dd          }| j        rQt           j        rt          d
           |                                  | j        j	        j        }| j        j	        j        }t           j        rDt          dt#          |j                             t          dt#          |j                             |                     |                                |                                           |                     |j        |j                   |                     |j        |j                   |                     |j        |j                   |                     |j
        |j
                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        j        |j        j                   |                     |j        |j                   |                     t;          |j                  t;          |j                             dS )z-Checking EArray.copy() method (python flavor)r`   ra   zRunning %s.test03b_copy...r  r   r  rp  python))r  r
   )rb   r  r  r   r   rQ  r  r  r  N)r   rG   rH   r   r9   r4   r  r   r<   r   r=   rL   r   rW   r  r   r  rI   r  r[   r   r]   r(   rA   r'   r1   r3   r!   r)   r   r  s       r   test03a_copyzCopyTestCase.test03a_copy  s    > 	J$	""".1HHIII|~~**4;+;X04F1? + A A !*+++: 	-~ 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{/CDDDv|444V[))3v{+;+;<<<<<r   c                 h   t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|dd	          }d
|_
        |                    ddgddgg           | j        rBt           j        rt          d           |                     d           | j        j	        j        }|                    dd          }| j        rQt           j        rt          d           |                                  | j        j	        j        }| j        j	        j        }t           j        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        |j        j                   |                     |j        |j                   |                     t;          |j                  t;          |j                             dS )z4Checking EArray.copy() method (python string flavor)r`   ra   zRunning %s.test03d_copy...rb   r    r  r   r  rp  r  45623457r  r   r   rQ  r  r  r  N)r   rG   rH   r   r9   r4   r5   r   r<   r   r=   rL   r   rW   r  r   r  rI   r  r[   r   r]   r(   rA   r'   r1   r3   r!   r)   r   r  s       r   test03b_copyzCopyTestCase.test03b_copy6  s    > 	J$	""".1HHIII}a(((**4;+;X04F1? + A A !s|c5\2333: 	-~ 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{/CDDDv|444V[))3v{+;+;<<<<<r   c                    t           j        r,t          dd           t          d| j        j        z             t          j        d          }| j                            | j        j	        d|dd	          }d
|_
        |                    t          j        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                             |                     t          j        |                                |                                                     |                     |j        |j                   |                     |j        |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 EArray.copy() method (String flavor)r`   ra   zRunning %s.test03e_copy...r   r    r  r   r  rp  r   r  r  r  r  S4r2   r  r   r   rQ  r  r  r  N)"r   rG   rH   r   r9   r4   r5   r   r<   r   r=   rL   rC   r   r   rW   r  r   r  rI   r  rm   rn   r   r[   r]   r(   rA   r'   r1   r3   r!   r)   r   r  s       r   test03c_copyzCopyTestCase.test03c_copyf  s    > 	J$	""".1HHIII}a(((**4;+;X04F1? + A A  bhsEl;4HHHIII: 	-~ 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{/CDDDv|444V[))3v{+;+;<<<<<r   c                 f   t           j        r,t          dd           t          d| j        j        z             t          j                    }| j                            | j        j	        d|dd          }|
                    t          j        dd	gd
dgg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 EArray.copy() method (checking title copying)r`   ra   zRunning %s.test04_copy...r  r   r  rp  r  r
   rb   r  r  r2   attr1r  r   r   rQ  r  ztitle array2)r)   ztitle of destination array-->N)r   rG   rH   r   r9   r4   r  r   r<   r   rL   rC   r   r  r  attr2r   rW   r  r   r  r)   r[   r  s       r   test04_copyzCopyTestCase.test04_copy  s    > 	I$	"""-0GGHHH |~~**4;+;X04F1? + A A 	bha1c(37CCCDDD$: 	-~ 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             t          j                    }| j                            | j        j	        d|dd          }|
                    t          j        dd	gd
dgg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 EArray.copy() method (user attributes copied)r`   ra   zRunning %s.test05_copy...r  r   r  rp  r  r
   rb   r  r  r2   r  r  r   r   rQ  r  r   copyuserattrsr  r  N)r   rG   rH   r   r9   r4   r  r   r<   r   rL   rC   r   r  r  r  r   rW   r  r   r  rI   r[   r  s       r   test05_copyzCopyTestCase.test05_copy  s    > 	I$	"""-0GGHHH |~~**4;+;X04F1? + A A 	bha1c(37CCCDDD$: 	-~ 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                 2   t           j        r,t          dd           t          d| j        j        z             t          j                    }| j                            | j        j	        d|dd          }|
                    t          j        dd	gd
dgg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 EArray.copy() method (user attributes not copied)r`   ra   zRunning %s.test05b_copy...r  r   r  rp  r  r
   rb   r  r  r2   r  r  r   r   rQ  r  r   r  r  r  r  N)r   rG   rH   r   r9   r4   r  r   r<   r   rL   rC   r   r  r  r  r   rW   r  r   r  rI   r[   rq   r  s       r   test05b_copyzCopyTestCase.test05b_copy  s    > 	J$	""".1HHIII |~~**4;+;X04F1? + A A 	bha1c(37CCCDDD$: 	-~ 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)r9   r   r   r  r  r  r  r  r  r  r  r   r   r   r  r    s        1= 1= 1=f2= 2= 2=h-= -= -=^.= .= .=`-= -= -=^$7 $7 $7L'0 '0 '0R'< '< '< '< '<r   r  c                       e Zd ZdZdS )CloseCopyTestCaser   Nr9   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                 P   t           j        r,t          dd           t          d| j        j        z             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 EArray.copy() method with indexes.r`   ra   zRunning %s.test01_index...r  r   r  rp     r   r2   r   r
   rQ  r  r|   r  r  r  r  nrows in array2-->and it should be-->r   N)r   rG   rH   r   r9   r4   rR  r   r<   r   rC   rE   r(   rL   rj   r   r}   r~   r   r   rI   r  rm   rn   r]   r[   r   r'   r  rr  r2s         r   test01_indexzCopyIndexTestCase.test01_index  s    > 	J$	""".1HHIII |~~**4;+;X04F1? + A A Ic)))a !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             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                 }|                     t          j        ||                                                     t           j        r0t          d|j                   t          d|j        d                    |                     |j        d         |j                   dS )z?Checking EArray.copy() method with indexes (close file version)r`   ra   z Running %s.test02_indexclosef...r  r   r  rp  r  r   r2   r  rQ  r  r|   r  r  r  r  r  r  r   N)r   rG   rH   r   r9   r4   rR  r   r<   r   rC   rE   r(   rL   rj   r   r}   r~   r   rW   r  r  r   rI   r  rm   rn   r]   r[   r  s         r   test02_indexclosefz$CopyIndexTestCase.test02_indexclosefA  s    > 	P$	"""4t~7NNOOO |~~**4;+;X04F1? + A A Ic)))a !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   N)r9   r   r   rj   r  r  r   r   r   r  r    s8        J&4 &4 &4P+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r9   r   r   rj   r}   r~   r   r   r   r   r  r  o  "        JEDDDDr   r  c                       e Zd ZdZdZdZdZdS )CopyIndex2TestCaser
   r   r   r   Nr  r   r   r   r  r  v  s"        JEDDDDr   r  c                       e Zd ZdZdZdZdZdS )CopyIndex3TestCaserb   r   r  Nr  r   r   r   r  r  }  r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex4TestCaser   r   r   r   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex5TestCaser
   rb   r  r   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdZdS )CopyIndex6TestCaser
   rb   r   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdS )CopyIndex7TestCaser   r  r   Nr9   r   r   r}   r~   r   r   r   r   r  r    s        EDDDDr   r  c                       e Zd ZdZdZdZdS )CopyIndex8TestCaser   r   r   Nr  r   r   r   r
  r
    s        EDDDDr   r
  c                       e Zd ZdZdZdZdS )CopyIndex9TestCaserb   r   r   Nr  r   r   r   r  r    s        EDDDDr   r  c                       e Zd ZdZdZdZdZdS )CopyIndex10TestCaser   rb   r   r
   Nr  r   r   r   r  r    r  r   r  c                       e Zd ZdZdZdZdS )CopyIndex11TestCaser   r
   Nr  r   r   r   r  r    s        EDDDDr   r  c                       e Zd ZdZdZdZdS )CopyIndex12TestCaser   Nr   r  r   r   r   r  r    s        EDDDDr   r  c                   6     e Zd Z fdZd Zd Zd Zd Z xZS )TruncateTestCasec                 "   t                                                       t          j        d          }| j                            | j        j        d|dd          }|                    t          j	        ddgdd	ggd
                     d S )Nrb   )dfltr  r   r  rp  r  r
   r  r  r2   )
r   r   r4   r  r   r<   r   rL   rC   r   )r   r'   r  r   s      r   r   zTruncateTestCase.setUp  s     |###**4;+;X04F1? + A A 	bha1c(37CCCDDDDDr   c           	         | j         j        j        }|                    d           | j        r@t
          j        rt          d           |                                  | j         j        j        }t
          j        r"t          d|	                                           | 
                    t          j        |dd         t          j        g d                              dd                               dS )z8Checking EArray.truncate() method (truncating to 0 rows)r   r  r  Nr  r2   r
   )r   r   r  truncater   r   rG   rH   rW   r   rm   rn   rC   r   reshaper   r  s     r   test00_truncatez TruncateTestCase.test00_truncate  s     !(: 	-~ 0.///LLNNN[%,F> 	.+v{{}}---111Irx'222::1a@@B B 	C 	C 	C 	C 	Cr   c           	         | j         j        j        }|                    d           | j        r@t
          j        rt          d           |                                  | j         j        j        }t
          j        r"t          d|	                                           | 
                    t          j        |	                                t          j        ddggd                               dS )	z8Checking EArray.truncate() method (truncating to 1 rows)r   r  r  r  r
   r  r2   Nr   r   r  r  r   r   rG   rH   rW   r   rm   rn   rC   r   r  s     r   test01_truncatez TruncateTestCase.test01_truncate  s     !(: 	-~ 0.///LLNNN[%,F> 	.+v{{}}---KKMM28c1XJg>>>@ @ 	A 	A 	A 	A 	Ar   c           
         | j         j        j        }|                    d           | j        r@t
          j        rt          d           |                                  | j         j        j        }t
          j        r"t          d|	                                           | 
                    t          j        |	                                t          j        ddgddggd                               d	S )
z?Checking EArray.truncate() method (truncating to == self.nrows)r
   r  r  r  rb   r  r  r2   Nr  r  s     r   test02_truncatez TruncateTestCase.test02_truncate  s     !(: 	-~ 0.///LLNNN[%,F> 	.+v{{}}---KKMM28c1X3x$8HHHJ J 	K 	K 	K 	K 	Kr   c           
         | j         j        j        }|                    d           | j        r@t
          j        rt          d           |                                  | j         j        j        }t
          j        r"t          d|	                                           | 
                    |j        d           |                     t          j        |dd         t          j        ddgddggd	
                               |                     t          j        |dd         t          j        ddgddggd	
                               dS )z>Checking EArray.truncate() method (truncating to > self.nrows)r   r  r  Nr
   r  rb   r  r  r2   )r   r   r  r  r   r   rG   rH   rW   r   r[   r]   rm   rn   rC   r   r  s     r   test03_truncatez TruncateTestCase.test03_truncate	  sL    !(: 	-~ 0.///LLNNN[%,F> 	.+v{{}}---q)))2A2J3(QH!5WEEEG G 	H 	H 	H 	122J1a&1a&!1AAAC C 	D 	D 	D 	D 	Dr   )	r9   r   r   r   r  r  r!  r#  r   r   s   @r   r  r    s        	E 	E 	E 	E 	EC C C&A A A&K K K&D D D D D D Dr   r  c                       e Zd ZdZdS )TruncateOpenTestCaser   Nr  r   r   r   r%  r%  	  r  r   r%  c                       e Zd ZdZdS )TruncateCloseTestCaser   Nr  r   r   r   r'  r'  !	  r  r   r'  c                   0     e Zd ZdZdZdZ fdZd Z xZS )Rows64bitsTestCaser   @B i  c           
         t                                                       | j                            | j        j        dt          j                    dt          j        dd          | j        | j	        z            }t          j        | j        d          }t          | j	                  D ]}|                    |           d S )	Nr   r   r   r   )r#   r"   )r'   r(   r*   r+   int8r2   )r   r   r   r<   r   r4   Int8Atomr:   narowsnanumberrC   rE   rJ   rL   )r   r   narO   r   s       r   r   zRows64bitsTestCase.setUp,	  s     ))KgdJu::: t}4 * 6 6 Yt{&111t}%% 	 	ALL	 	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 earrays exceeding 2**31 rowszBefore closingzEntries:r*  MillionszShape:zAfter re-openzLast 10 elements-->iN      r   zShould look like-->r,  r2   )r   r   r   r   r   rG   rH   r]   r3   r(   rW   r.  rC   rE   r/  r[   rm   rn   )r   r   r~   r}   r]   s        r   test01_basiccheckz$Rows64bitsTestCase.test01_basiccheck=	  sc     &: 	'~ -&'''j%+tEK/@/@AAAj%+"=zJJJh,,, LLNNNK$*E~ 'o&&& > 		O*ek4+<+<===*ek[9:FFF(EK((('stt555;$Dczz2IE'5$f)M)M)MNNNdm+e,,,uh///#2#J	"F3335 5 	6 	6 	6 {S #::CKDr	#$$K5$f===? ? 	@ 	@ 	@ 	@ 	@r   )	r9   r   r   	open_moder.  r/  r   r5  r   r   s   @r   r)  r)  &	  s]        IFH    ".@ .@ .@ .@ .@ .@ .@r   r)  c                       e Zd ZdZdS )Rows64bitsTestCase1r   Nr  r   r   r   r8  r8  n	  r  r   r8  c                       e Zd ZdZdS )Rows64bitsTestCase2r   Nr  r   r   r   r:  r:  r	  r  r   r:  c                   .     e Zd ZdZ fdZd Zd Z xZS )ZeroSizedTestCaser   c                     t                                                       | j                            ddt	          j                    d          }|                    dgdgdgg           d S )NrQ  testrb   r   r'   r(   r   r
   rb   )r   r   r   r<   r4   rR  rL   )r   ear   s     r   r   zZeroSizedTestCase.setUpz	  si     [&&sF,.LNN& ' J J 			A3aS/"""""r   c                     | j         }|j        j        }t          j        dd          }|                    |           |                     |j        dd           dS )zAppending zero length array.r?  r   r   r   zThe number of rows should be 1.N)r   r   r>  rC   r   rL   r[   r]   r   filehrA  arrs       r   test01_canAppendz"ZeroSizedTestCase.test01_canAppend	  sX     Z_hV7333
		#1&GHHHHHr   c                     | j         }|j        j        }t          j        dd          }|                     t          |j        |           dS )z1Appending zero length array with wrong dimension.)rb   r   rb   r   r   N)r   r   r>  rC   r   assertRaises
ValueErrorrL   rC  s       r   test02_appendWithWrongShapez-ZeroSizedTestCase.test02_appendWithWrongShape	  sH     Z_hYg666*bi55555r   )r9   r   r   r6  r   rF  rJ  r   r   s   @r   r<  r<  w	  s^        I# # # # #I I I6 6 6 6 6 6 6r   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g           | 	                    |j
        d           t          j        rt          d|d                    |                     t          j        |d         t!          j        ddgd	d
ggd                               dS )z@Append a row to a (unidimensional) EArray with a MD tables.Atom.rQ  r>  r
   r
   r   r@  r   r   rb   r   r   First row-->r   r   Nr   r<   r4   rR  r   rW   r   r>  rL   r[   r]   r   rG   rH   rm   rn   rC   r   r   rA  s     r   test01a_appendzMDAtomTestCase.test01a_append	  s    [&&sF,.L,@,@ ' N N; 	'LL!&B
		QFQF#$%%%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           | 	                    |j
        d	           t          j        rt          d
|d                    |                     t          j        |d         t!          j        d	d	gd	d	ggd                               dS )zOAppend several rows to a (unidimensional) EArray with a MD
        tables.Atom.rQ  r>  rN  r   r@  r   r   r
   rb   Third row-->r   NrP  rQ  s     r   test01b_appendzMDAtomTestCase.test01b_append	  s	   
 [&&sF,.L,@,@ ' N N; 	'LL!&B
		QC5A3%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dgd	d
gddggg           | 	                    |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 )zJAppend a row to a (multidimensional) EArray with a
        MD tables.Atom.rQ  r>  r
   r  r@  r   r   rb   r   r   r  	   rO  r   r   NrP  rQ  s     r   test02a_appendzMDAtomTestCase.test02a_append	  s   
 [&&sF,.L,>,>f ' N N; 	'LL!&B
		QFQFQF+,---1%%%> 	)."Q%(((qE28aVaVaV4d;;= = 	> 	> 	> 	> 	>r   c                 4   | 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           | 	                    |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 )zQAppend several rows to a (multidimensional) EArray with a MD
        tables.Atom.rQ  r>  rW  r  r@  r   r   r  r   irX  r   rb   r   r  iirT  r
   r   NrP  rQ  s     r   test02b_appendzMDAtomTestCase.test02b_append	  sO   
 [&&sF,.L,>,>f ' N N; 	'LL!&B
		QGaWr1g.Gb!Wq"g.Gb!Wq"g.0 	1 	1 	1 	1%%%> 	)."Q%(((qE28b!Wr1g2w7>>@ @ 	A 	A 	A 	A 	Ar   c                 0   | 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           |                     |j        d           t          j        rt!          d|d                    |                     t          j        |d         |dz                       dS )zJComplex append of a MD array in a MD EArray with a
        MD tables.Atom.rQ  r>  r
   r   )r   r
   rb   r@  r   0   r   r2   r
   rb   r
   r   r   r
   rb   rT  Nr   r<   r4   rR  r   rW   r   r>  rC   rE   r  rL   r[   r]   r   rG   rH   rm   rn   r   rA  r   s      r   test03a_MDMDMDzMDAtomTestCase.test03a_MDMDMD	  s   
 [&&sFf9M9M-6 ' 8 8; 	'LL!&B Iit,,,44\BB
		1q5!A#qs#$$$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z             |                    |dz             |                    |dz             |                     |j        d           t          j        rt!          d|ddddf                    |                     t          j        |ddddf         |
                    d          dz                       dS )z@Complex append of a MD array in a MD EArray with a MD atom (II).rQ  r>  r`  r  r@  r   ra  r   r2   )r
   r   rb   r
   r   r   r
   rb   rT  N.rb  rc  rd  s      r   test03b_MDMDMDzMDAtomTestCase.test03b_MDMDMD	  s[    [&&sFf9M9M-6 ' 8 8; 	'LL!&B Iit,,,44_EE
		!a%
		!a%
		!a%1%%%> 	1."QQQ3Y-000111a9()		,(?(?(AC C 	D 	D 	D 	D 	D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             |                     |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z                       dS )zAComplex append of a MD array in a MD EArray with a MD atom (III).rQ  r>  r`  )r
   rb   r   r@  r   ra  r   r2   )r
   rb   r   r
   r   r   r
   rb   rT  N.rb  rc  rd  s      r   test03c_MDMDMDzMDAtomTestCase.test03c_MDMDMD
  si    [&&sFf9M9M-6 ' 8 8; 	'LL!&B Iit,,,44_EE
		!a%
		!a%
		!a%1%%%> 	4."QQQ1c\"2333111aaaC<(8()		,(?(?(AC C 	D 	D 	D 	D 	Dr   N)
r9   r   r   rR  rU  rY  r^  re  rg  ri  r   r   r   rL  rL  	  s        6 6 6"6 6 6$> > >$A A A(7 7 7&D D D(D D D D Dr   rL  c                       e Zd ZdZdS )MDAtomNoReopenFNr9   r   r   r   r   r   r   rk  rk  
  s        FFFr   rk  c                       e Zd ZdZdS )MDAtomReopenTNrl  r   r   r   rn  rn  !
  s        FFFr   rn  c                   6     e Zd Z fdZd Zd Zd Zd Z xZS )AccessClosedTestCasec                    t                                                       | j                            | j        j        dt          j                    d          | _        | j                            t          j
        d                     d S )Nr   r   r@  r   )r   r   r   r<   r   r4   rR  r   rL   rC   zerosr   s    r   r   zAccessClosedTestCase.setUp'
  so    [..t{/?46LNN5< / > >
 	
"(8,,-----r   c                     | j                                          |                     t          j        | j        j                   d S r   )r   r   rH  r4   ClosedNodeErrorr   r   r   s    r   	test_readzAccessClosedTestCase.test_read.
  s9    ",djo>>>>>r   c                     | j                                          |                     t          j        | j        j        d           d S rU  )r   r   rH  r4   rt  r   r   ru  s    r   test_getitemz!AccessClosedTestCase.test_getitem2
  s<    ",dj.DaHHHHHr   c                     | j                                          |                     t          j        | j        j        dd           d S rU  )r   r   rH  r4   rt  r   __setitem__ru  s    r   test_setitemz!AccessClosedTestCase.test_setitem6
  s>    ",dj.DaKKKKKr   c                     | j                                          |                     t          j        | j        j        t          j        d                     d S )Nr   )	r   r   rH  r4   rt  r   rL   rC   rr  ru  s    r   test_appendz AccessClosedTestCase.test_append:
  sV    ",*+RXh-?-?	A 	A 	A 	A 	Ar   )	r9   r   r   r   rv  rx  r{  r}  r   r   s   @r   rp  rp  %
  s        . . . . .? ? ?I I IL L LA A A A A A Ar   rp  c                      e Zd Z ej        g dg dg dg          ZdZdZej	        
                    ej                  Zdej        dd         z   Zd	ZdZd
ZdZdZdZd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!dS )TestCreateEArrayArgs)r   r
   rb   )r   r   r   )r  r   rX  rQ  rN   r   r   Nr)   rM  )r   r
   Fc           
         | j                             | j        | j        | j        | j        | j        | j        | j        | j	                   | 
                                 | j                             | j        | j                  }|                     |j        | j                   |                     |j        | j                   |                     |j        d           |                     |j        | j                   |                     |j        j        | j        j                   |                     |j	        | j	                   d S rU  )r   r<   wherer   r'   r(   r)   r*   r+   r   rW   rX   r[   r]   r1   r   ptarrs     r   test_positional_args_01z,TestCreateEArrayArgs.test_positional_args_01M
  s   !!$*di"&)TZ"&*dl"&"3T_	F 	F 	F
 	$$TZ;;dj111dj111a(((TY///)49?;;;)4?;;;;;r   c           
      t   | j                             | j        | j        | j        | j        | j        | j        | j        | j	                  }|
                    | j                   |                                  | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j        j                   |                     |j        | j        j        d                    |                     |j        | j                   |                     |j        j        | j        j                   |                     |j	        | j	                   |                     t'          j        | j        |                     d S rU  )r   r<   r  r   r'   r(   r)   r*   r+   r   rL   r,   rW   rX   r   r[   r]   r1   rm   r   rn   r   r  nparrs      r   test_positional_args_02z,TestCreateEArrayArgs.test_positional_args_02^
  s[   ))$*di*.)TZ*.**.,*.*;*./; ; 	TX$$TZ;;

dj111dhn555dhnQ&7888TY///)49?;;;)4?;;;%8899999r   c                 P   | j                             | j        | j        d d | j        | j        | j        | j        | j        | j	        | j
                   |                                  | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j
        j                   |                     |j        | j
        j        d                    |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t)          j        | j
        |                     d S rU  )r   r<   r  r   r)   r*   r+   r   r   createparentsr,   rW   rX   r   r[   r(   r]   r'   r1   rm   r   rn   r  s      r   test_positional_args_objz-TestCreateEArrayArgs.test_positional_args_objt
  sV   !!$*di"&"&*"&,"&"3"&/"&."&"4"&(	, 	, 	, 	$$TZ;;

dj111dhn555dhnQ&7888TY///)49?;;;)4?;;;%8899999r   c                    | j                             | j        | j        | j        | j        | j                   |                                  | j                             | j        | j                  }|	                                }| 
                    |j        | j                   | 
                    |j        | j        j                   | 
                    |j        | j        j        d                    | 
                    |j        | j                   | 
                    |j        j        | j        j                   | 
                    |j        | j                   |                     t!          j        | j        |                     d S )N)r)   r   r,   r   )r   r<   r  r   r)   r   r,   rW   rX   r   r[   r(   r]   r'   r1   rm   r   rn   r  s      r   test_kwargs_objz$TestCreateEArrayArgs.test_kwargs_obj
  s?   !!$*ditz-1_&*h 	" 	0 	0 	0 	$$TZ;;

dj111dhn555dhnQ&7888TY///)49?;;;)4?;;;%8899999r   c                 ^   | j                             | j        | j        | j        | j        | j        | j                  }|                    | j	                   | 
                                 | j                             | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j	        j                   |                     |j        | j	        j        d                    |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t#          j        | j	        |                     d S N)r)   r   r'   r(   r   )r   r<   r  r   r)   r   r'   r(   rL   r,   rW   rX   r   r[   r]   r1   rm   r   rn   r  s      r   test_kwargs_atom_shape_01z.TestCreateEArrayArgs.test_kwargs_atom_shape_01
  sW   ))$*di04
59_/3y
 * L L 	TX$$TZ;;

dj111dhn555dhnQ&7888TY///)49?;;;)4?;;;%8899999r   c                 ~   | j                             | j        | j        | j        | j        | j        | j                  }|                                  | j         	                    | j        | j                  }| 
                    |j        | j                   | 
                    |j        | j                   | 
                    |j        d           | 
                    |j        | j                   | 
                    |j        j        | j        j                   | 
                    |j        | j                   d S r  )r   r<   r  r   r)   r   r'   r(   rW   rX   r[   r]   r1   r  s     r   test_kwargs_atom_shape_02z.TestCreateEArrayArgs.test_kwargs_atom_shape_02
  s   ))$*di04
59_/3y
 * L L 	$$TZ;;dj111dj111a(((TY///)49?;;;)4?;;;;;r   c                 *   | j                             | j        | j        | j        | j        | j        | j                  }|                                  | j         	                    | j        | j                  }|
                                }|                     |j        | j                   |                     |j        | j        j                   |                     |j        | j        j        d                    |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t!          j        | j        |                     d S )N)r)   r   r,   r'   r   )r   r<   r  r   r)   r   r,   r'   rW   rX   r   r[   r(   r]   r1   rm   r   rn   r  s      r   test_kwargs_obj_atomz)TestCreateEArrayArgs.test_kwargs_obj_atom
  sB   ))$*di04
59_.2h/3y	 * : : 	$$TZ;;

dj111dhn555dhnQ&7888TY///)49?;;;)4?;;;%8899999r   c                 *   | j                             | j        | j        | j        | j        | j        | j                  }|                                  | j         	                    | j        | j                  }|
                                }|                     |j        | j                   |                     |j        | j        j                   |                     |j        | j        j        d                    |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t!          j        | j        |                     d S )N)r)   r   r,   r(   r   )r   r<   r  r   r)   r   r,   r(   rW   rX   r   r[   r]   r'   r1   rm   r   rn   r  s      r   test_kwargs_obj_shapez*TestCreateEArrayArgs.test_kwargs_obj_shape
  sB   ))$*di04
59_.2h04
	 * < < 	$$TZ;;

dj111dhn555dhnQ&7888TY///)49?;;;)4?;;;%8899999r   c           	      6   | j                             | j        | j        | j        | j        | j        | j        | j                  }| 	                                 | j         
                    | j        | j                  }|                                }|                     |j        | j                   |                     |j        | j        j                   |                     |j        | j        j        d                    |                     |j        | j                   |                     |j        j        | j        j                   |                     |j        | j                   |                     t!          j        | j        |                     d S )N)r)   r   r,   r'   r(   r   )r   r<   r  r   r)   r   r,   r'   r(   rW   rX   r   r[   r]   r1   rm   r   rn   r  s      r   test_kwargs_obj_atom_shapez/TestCreateEArrayArgs.test_kwargs_obj_atom_shape
  sG   ))$*di04
59_.2h/3y04
 * < < 	$$TZ;;

dj111dhn555dhnQ&7888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)r)   r,   r'   )r4   r7   
from_dtyperC   r1   rH  	TypeErrorr   r<   r  r   r)   r,   r   r'   s     r   test_kwargs_obj_atom_errorz/TestCreateEArrayArgs.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)r)   r,   r(   )	r(   rH  r  r   r<   r  r   r)   r,   rS   s     r   test_kwargs_obj_shape_errorz0TestCreateEArrayArgs.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  r)   r,   r'   r(   )r4   r7   r  rC   r1   rH  r  r   r<   r  r   r)   r,   r(   r  s     r   #test_kwargs_obj_atom_shape_error_01z8TestCreateEArrayArgs.test_kwargs_obj_atom_shape_error_01  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  )
r(   rH  r  r   r<   r  r   r)   r,   r'   rS   s     r   #test_kwargs_obj_atom_shape_error_02z8TestCreateEArrayArgs.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  )r4   r7   r  rC   r1   r(   rH  r  r   r<   r  r   r)   r,   )r   r'   r(   s      r   #test_kwargs_obj_atom_shape_error_03z8TestCreateEArrayArgs.test_kwargs_obj_atom_shape_error_03/  sz    w!!"(9"5"566
TZ')+3*) $
"h# % 	 	' 	' 	' 	' 	'r   )"r9   r   r   rC   r   r,   r  r   r4   r7   r  r1   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  @
  s]       
"(IIIyyy)))4
5
5CED7ci((D39QRR= EEGLJIM< < <": : :,: : :0: : :$: : :(< < <$: : :(: : :(: : :*	% 	% 	%	' 	' 	'
, 
, 
,
' 
' 
'
' 
' 
' 
' 
'r   r  c                     t           j                                        } d}t          |          D ]f}|                     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                               ht           j;        rL|                     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                               | S )Nr   )Pr   unittest	TestSuiterJ   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.  r0  r2  r5  r=  rA  rD  rF  rH  rK  ri  r7  r:  r  r  r  r  r  r  r  r%  r'  r<  rk  rn  rp  r  heavyr   r  r  r	  r   r  r  r  r  r  r  r  r  r
  r  r  r  r  r8  r:  )theSuiteniterns      r   suiter  <  s
   ((**HE 5\\ 6J 6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23PQQRRR223FGGHHH223KLLMMM223NOOPPP223PQQRRR223STTUUU223NOOPPP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.0 0 	1 	1 	1223GHHIII223EFFGGG223EFFGGG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23GHHIII223HIIJJJ223DEEFFF22>BBCCC22<@@AAA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)jr   pathlibr   r   rC   tablesr4   tables.testsr   TempFileMixinPyTablesTestCaser   r   r   r   r   r   r   r   r   r   r   r   r  skipIf	lzo_availr   blosc_availr   blosc2_availr   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.  r0  bzip2_availr2  r5  r7  r:  r=  rA  rD  rF  rH  rK  ri  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r  r  r  r%  r'  r)  r8  r:  r<  rL  rk  rn  rp  r  r  r9   
parse_argvargvprint_versionsmainr   r   r   <module>r     sR   



                    S1 S1 S1 S1 S1F(&*A S1 S1 S1l           -       -       -       -       -       -       -       -       ]   	 	 	 	 	= 	 	 	 F,,?A A. . . . .= . .A A. F..AC CG G G G GM G GC CG F//BD D= = = = =M = =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    'D  D D
 F//BD D    -  D D( ( ( ( (] ( ( (8 8 8 8 8m 8 8 8 F..AC CA A A A AM A AC C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 A    }  A A F,,?A A      A A F..AC C      C C F..AC C    =  C C       	 	 	 	 	 	 	 	"           -   
( 
( 
( 
( 
(] 
( 
( 
(	 	 	 	 	m 	 	 	    -   4L 4L 4L 4L 4L)=)/)@4L 4L 4LnX: X: X: X: X:6/1H X: X: X:v
m< m< m< m< m<6')@ m< m< m<`           |   V4 V4 V4 V4 V4,f.E V4 V4 V4r    *       *       *       *       *       *       *       *       *       +       +       +   \D \D \D \D \Dv+V-D \D \D \D~    +       ,   
E@ E@ E@ E@ E@-v/F E@ E@ E@P    ,       ,   
6 6 6 6 6,f.E 6 6 6>DD DD DD DD DDV)6+B DD DD DDN    ^       >   A A A A A6/1H A A A6y' y' y' y' y'6/1H y' y' y'xU U Up zFchF
OW----- r   