B
    i\                @   sJ  d dl mZ d dl mZ d dlZd dlZd dlZd dlZd dlmZmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ G dd dejeZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZG dd deZ G dd  d eZ!G d!d" d"eZ"e#ej$ d#G d$d% d%eZ%e#ej& d&G d'd( d(eZ'G d)d* d*eZ(G d+d, d,eZ)e#ej& d&G d-d. d.eZ*G d/d0 d0eZ+G d1d2 d2eZ,G d3d4 d4eZ-G d5d6 d6eZ.G d7d8 d8eZ/G d9d: d:eZ0G d;d< d<eZ1G d=d> d>eZ2G d?d@ d@eZ3G dAdB dBeZ4G dCdD dDeZ5G dEdF dFeZ6G dGdH dHeZ7G dIdJ dJeZ8G dKdL dLeZ9G dMdN dNeZ:e#ej& d&G dOdP dPeZ;e#ej& d&G dQdR dReZ<e#ej$ d#G dSdT dTeZ=e#ej$ d#G dUdV dVeZ>e#ej? dWG dXdY dYeZ@e#ej? dWG dZd[ d[eZAG d\d] d]eZBG d^d_ d_eZCG d`da daeZDG dbdc dceZEG ddde deeZFG dfdg dgeZGG dhdi dieZHG djdk dkejeZIG dldm dmejeZJG dndo doejeZKG dpdq dqeKZLG drds dseKZMG dtdu duejeZNG dvdw dweNZOG dxdy dyeNZPG dzd{ d{eNZQG d|d} d}eNZRG d~d deNZSG dd deNZTG dd deNZUG dd deNZVG dd deNZWG dd deNZXG dd deNZYG dd deNZZG dd dejeZ[G dd de[Z\G dd de[Z]G dd dejeZ^G dd de^Z_G dd de^Z`G dd dejeZaG dd dejeZbG dd debZcG dd debZdG dd dejeZeG dd dejeZfdd ZgehdkrFeiejj ek  ejldd dS )    )print_function)absolute_importN)	Int16Atom	Int32AtomFloat64Atom
StringAtom)
byteorders)common)allequal)unittest)PyTablesTestCase)rangec                   s   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
dZdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z  ZS )BasicTestCaseNnumpyint32)   r   r   
         zlibc                s4   t t|   | jj| _|   | jr0| j  d S )N)	superr   setUph5fileroot	rootgrouppopulateFilereopenclose)self)	__class__ 7lib/python3.7/site-packages/tables/tests/test_earray.pyr   '   s
    
zBasicTestCase.setUpc       	   
   C   s  | j }| j}|d kr<| jdkr,t| jd}q@tj| j}nd }| jj	}tj
| j| j| j| jd}| jj|d|| j||d|d}| j|_t|j| _|d k	rd| jd< | j| _x$| jD ]}|dkr|  j|9  _qW |j| _|  j| j9  _| j| j|j< | jdkr(tjd| j | jd	|jj d
}ntj| j|jjjd}| j|_tj rt| jdkrft!d| nt!dt"| x:t#| j$D ],}| jdkr|%| n|%||  qW d S )Nstring)itemsize)	complevelcomplibshuffle
fletcher32Zearray1r   )atomshapetitlefiltersexpectedrowsobjr      azS%s)bufferr)   dtype)r0   r   zObject to append -->)&r   r-   typer   lengthtablesAtomZ	from_typer   __name__Filterscompressr%   r&   r'   r   create_earrayr)   flavorlistrowshapeobjsizeextdim	chunksizer   ndarrayr(   r#   aranger0   baser	   verboseprintreprr   nappendsappend)	r   groupr-   r(   r*   r+   earrayiobjectr    r    r!   r   1   sR    




zBasicTestCase.populateFilec             C   s$   | j d k	r| j }nt| jj }|S )N)r)   r   asarrayr-   )r   r)   r    r    r!   
_get_shapee   s    
zBasicTestCase._get_shapec             C   s   | j r|   | jd}|  }t|}| j| j || j< | j	d k	r^|| j  t
| j	7  < t|}| |j| j | |j| | |jt
| | |j|| j  | |jj| j d S )Nz/earray1)r   _reopenr   get_noderL   r:   r>   rE   r=   r-   lentupleassertEqualr9   r)   ndimnrowsr(   r1   )r   r-   r)   r    r    r!   test00_attributesm   s    
zBasicTestCase.test00_attributesc          	   C   sB  t jr tdd td| jj  | jr.|   | jd}d|_	t jrltdt
| td|j td| j | jd	krtjd
| j | jd|jj d}ntj| j|jjjd}| j|_||jd}| jdk	rt| j}nd}|  }xTt|D ]F\}}||k r(| t|t| j| | j qt |j!| | j" }|dkrt| jd	krX|}nt |j!| }	||	| j"  }|| }
t jrdrtd|j! t#|
drtd|
j tdt
| tdt
|
 | $|| j%| j"  |j& | t||
| j t#|dr | $t|jt|d  n| $t|d | j'|j(j)krht jrhtd| jj td| j'|j(j) | $|j(j)| j' | j'dkrt*+| j,r| $|j(j,| j, | j-|j(j-krt jrtd| jj td| j-|j(j- | $| j-|j(j- | j.|j(j.kr(t jr(td| jj td| j.|j(j. | $| j.|j(j. qW dS )z$Checking enlargeable array iterator.
z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01_iterEArray...z/earray1   zEArray descr:zshape of read array ==>zreopening?:r"   r.   zS%s)r/   r)   r0   )r0   r   Nznumber of row ==>r)   zshape should look as:zrow in earray ==>zShould look like ==>r   zError in compress. Class:zself, earray:zError in shuffle. Class:zError in fletcher32. Class:)/r	   rB   rC   r   r5   r   rM   r   rN   
nrowsinbufrD   r)   r1   r   r?   r<   r;   r(   r#   r@   r0   rA   swapaxesr=   r-   rO   rL   	enumerate
assertTruer
   rK   r9   intnrowr>   hasattrrQ   rE   rS   r7   r+   r$   r3   Zwhich_lib_versionr%   r&   r'   )r   rH   object_initialrowsr)   idxrowchunkobject__rI   rJ   r    r    r!   test01_iterEArray   sz    





zBasicTestCase.test01_iterEArrayc          	   C   sV  t jr tdd td| jj  | jr.|   | jd}d|_	t jrltdt
| td|j td| j | jd	krtjd
| j | jd|jj d}ntj| j|jjjd}| j|_||jd}| jdk	rt| j}nd}|  }xht|j| j| j| jdD ]H\}}||k r<|  t!|t"| j| | j# q| j$dkrNd}nt%|j&| | j$ }| jd	krt|}nt%|j&| }	||	| j$  }|| }
t jrdrtd|j& t'|
drtd|
j tdt
| tdt
|
 | (|| j)| j$  |j* |  t!||
| j# t'|dr<| (t|jt|d  n| (t|d qW dS )z<Checking enlargeable array iterator with (start, stop, step)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test02_sssEArray...z/earray1rV   zEArray descr:zshape of read array ==>zreopening?:r"   r.   zS%s)r/   r)   r0   )r0   r   N)startstopstepr   znumber of row ==>r)   zshape should look as:zrow in earray ==>zShould look like ==>)+r	   rB   rC   r   r5   r   rM   r   rN   rW   rD   r)   r1   r   r?   r<   r;   r(   r#   r@   r0   rA   rX   r=   r-   rO   rL   rY   Ziterrowsre   rf   rg   rZ   r
   rK   r9   r>   r[   r\   r]   rQ   rE   rS   )r   rH   r^   r_   r)   r`   ra   indexrc   rI   rJ   r    r    r!   test02_sssEArray   sb    



zBasicTestCase.test02_sssEArrayc             C   s  t jr tdd td| jj  | jdk	r6t| j| _| jdk	rLt| j| _| jdk	rbt| j| _| j	rp| 
  | jd}d|_t jrtdt| td|j td	| j	 | jd
krtjd| j | jd|jj d}ntj| j|jjjd}| j|_||jd}| jdk	rt| j}nd}| j}|| j  | j| 9  < | jd
krdtj|d|jj d}ntj|| jd}|d| j}|r| j|d|< xXt | jD ]J}||| j!  }| jd
kr||||| j! < n|| |||| j! < qW | j}| jrv| jdkr(| jdkr|j"}n
| jd }|| j |k rB|| j }|| j| j| j # }	| j$dkr|	d| j}	ntj| j| jd}	y|%| j| j| j}
W n( t&k
r   tj| j| jd}
Y nX t jrt'|	drtd|	j tdt|
 tdt|	 | (|| j| j!  |j" | )t*|
|	| j$ | + }t'|
dr~| (t|
jt| | j$dkr| (|
j|jj n| (t|d dS )z&Checking read() of enlargeable arrays.rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03_readEArray...Nz/earray1rV   zEArray descr:zshape of read array ==>zreopening?:r"   r.   zS%s)r/   r)   r0   )r0   r   )r)   r0   r   r   r)   zshape should look as:zObject read ==>zShould look like ==>),r	   rB   rC   r   r5   re   r[   rf   rg   r   rM   r   rN   rW   rD   r)   r1   r   r?   r<   r;   r(   r#   r@   r0   rA   rX   r=   r-   rO   rE   emptyr   r>   rS   copyr9   read
IndexErrorr]   rQ   rZ   r
   rL   )r   rH   r^   r_   r;   rc   rI   jrf   rJ   ra   r)   r    r    r!   test03_readEArray  s    






zBasicTestCase.test03_readEArrayc             C   s  | j dk	rt| j | _ | jdk	r,t| j| _| jdk	rBt| j| _| jrP|   | jd}d|_| j	dkrt
jd| j | jd|jj d}nt
j| j|jjjd}| j|_||jd	}| jdk	rt| j}nd	}| j}|| j  | j| 9  < | j	dkrt
j|d|jj d
}nt
j|| jd
}|d	| j}|rH| j|d	|< xXt| jD ]J}||| j  }| j	dkr||||| j < n|| |||| j < qTW | j}| jr(| jdkr| j dkr|j}n
| j d }|| j |k r|| j }|| j | j| j  }	| jdkr:|	d	| j}	nt
j| j| jd
}	ylt
j|j|jjd}
tdgt|j }t| j | j| j||j < |
t!|  }
|j"| j | j| j|
d W n( t#k
r   t
j| j| jd
}
Y nX t$j%rt&|	drt'd|	j t'dt(|
 t'dt(|	 | )|| j| j  |j | *t+|
|	| j | , }t&|
dr| )t|
jt| | jdkr| )|
j|jj n| )t|d dS )z&Checking read() of enlargeable arrays.Nz/earray1rV   r"   r.   zS%s)r/   r)   r0   )r0   r   )r)   r0   rj   r   r   )outr)   zshape should look as:zObject read ==>zShould look like ==>)-re   r[   rf   rg   r   rM   r   rN   rW   r1   r   r?   r<   r;   r(   r#   r@   r0   rA   r)   rX   r=   r-   rO   rE   rk   r   r>   rS   rl   r9   sliceZmaindimrP   rm   rn   r	   rB   r]   rC   rD   rQ   rZ   r
   rL   )r   rH   r^   r_   r;   rc   rI   ro   rf   rJ   ra   Z	slice_objr)   r    r    r!   test03_readEArray_out_argument  s    






z,BasicTestCase.test03_readEArray_out_argumentc       
      C   s>  t jr tdd td| jj  t| ds| jdk	r@t| j| _| jdk	rVt| j| _| j	dk	rlt| j	| _	t
| j| j| j	f| _| jr|   | jd}t jrtdt| td|j td	| j | jd
krtjd| j | jd|jj d}ntj| j|jjjd}| j|_||jd}| jdk	r8t| j}nd}| j}|| j  | j | 9  < | jd
kr~tj!|d|jj d}ntj!|| jd}|d|j}|r| j|d|< xXt"| j D ]J}||| j#  }| jd
kr||||| j# < n|| |||| j# < qW | j rN| j$dkr.|d| j}n|d| j |%| j& }ntj!| j| jd}y|%| j}	W n( t'k
r   tj!| j| jd}	Y nX t jrtdt|	 tdt| t|drtd| j td|	j td|j | (|| j | j#  |j) | *t+|	|| j$ t|	ds:| (t| jd dS )z6Checking enlargeable array __getitem__ special method.rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=z"Running %s.test04_getitemEArray...slicesNz/earray1zEArray descr:zshape of read array ==>zreopening?:r"   r.   zS%s)r/   r)   r0   )r0   r   )r)   r0   r   zObject read:
zShould look like:
r)   zOriginal object shape:zShape read:zshape should look as:r   ),r	   rB   rC   r   r5   r]   re   r[   rf   rg   rr   rt   r   rM   r   rN   rD   r)   r1   r   r?   r<   r;   r(   r#   r@   r0   rA   rX   r=   r-   rO   rE   rk   r   r>   r9   __getitem__rl   rn   rQ   rS   rZ   r
   )
r   rH   r^   r_   r;   rc   rI   ro   rJ   ra   r    r    r!   test04_getitemEArray  s    





z"BasicTestCase.test04_getitemEArrayc       
      C   sp  | j jdkrdS tjr0tdd td| j j  t| ds| jdk	rPt| j| _| jdk	rft| j| _| j	dk	r|t| j	| _	t
| j| j| j	f| _| jr| jdd | jd	}tjrtd
t| td|j td| j | jdkr
tjd| j | jd|jj d}ntj| j|jjjd}| j|_||jd}| jdk	rNt| j}nd}| j}|| j  | j | 9  < | jdkrtj!|d|jj d}ntj!|| jd}|d|j}xXt"| j D ]J}||| j#  }| jdkr||||| j# < n|| |||| j# < qW |r | j|d|< | j rd| j$dkrD|d| j}n|d| j |%| j& }ntj!| j| jd}| j$dkrt'|}| jdkrt| drd|| j(< d|| j)< n8t*|| j jdkr~d|dd< |j+dkr~||| j< nt| dr2|| j) d d || j)< || j) d d || j)< nLt*|| j jdkr~|d d }t,|jdkr~|| j d d || j< |%| j}	y|%| j}	W n0 t-k
r   td tj!| j| jd}	Y nX tjr tdt|	 tdt| t|dr td| j td|	j td|j | .|| j | j#  |j/ | 0t1|	|| j$ t|	dsl| .t| jd  dS )!z6Checking enlargeable array __setitem__ special method.Ellipsis6EArrayTestCaseNrU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=z"Running %s.test05_setitemEArray...rt   a)modez/earray1zEArray descr:zshape of read array ==>zreopening?:r"   r.   zS%s)r/   r)   r0   )r0   r   )r)   r0   r   wsliceZxXxr   rV   zIndexError!zObject read:
zShould look like:
r)   zOriginal object shape:zShape read:zshape should look as:r   )2r   r5   r	   rB   rC   r]   re   r[   rf   rg   rr   rt   r   rM   r   rN   rD   r)   r1   r   r?   r<   r;   r(   r#   r@   r0   rA   rX   r=   r-   rO   rE   rk   r   r>   r9   ru   rl   rK   Zwslizerz   sumsizeZprodrn   rQ   rS   rZ   r
   )
r   rH   r^   r_   r;   rc   rI   ro   rJ   ra   r    r    r!   test05_setitemEArraya  s    






z"BasicTestCase.test05_setitemEArray)r5   
__module____qualname__r-   r9   r1   r0   r)   re   rf   rg   r2   r>   rE   r7   r%   r&   r'   r   r   r   rL   rT   rd   ri   rp   rs   rv   r}   __classcell__r    r    )r   r!   r      s4   
4VJqmdr   c               @   s$   e Zd ZdZdZdZdZdZdZdS )BasicWriteTestCaser   )r   r   r   r   N)	r5   r~   r   r1   r)   r>   rE   rg   rz   r    r    r    r!   r     s   r   c               @   s8   e Zd ZdZdZdZdZdZdZe	ed edZ
dZd	S )
Basic2WriteTestCaser   i4)r   r   r   r   r   r   N)r5   r~   r   r1   r0   r)   r>   rE   rg   rr   rz   r   r    r    r    r!   r     s   r   c               @   s@   e Zd ZddgZeejjZeejj	ZdZ
dZdZdZdS )Basic3WriteTestCaser   r   )r   )r   r   N)r5   r~   r   r-   r   rK   r0   namer1   strr)   
chunkshaperg   r   r    r    r    r!   r     s   r   c               @   s:   e Zd ZeddgZejjZejj	ZdZ
dZdZdZdS )Basic4WriteTestCaser   r   N)r   r   )r5   r~   r   r   arrayr-   r0   r   r1   r   r)   r   rg   r   r    r    r    r!   r     s   r   c               @   s@   e Zd ZddgZeejjZeejj	ZdZ
dZdZdZdS )Basic5WriteTestCaser   r   )r   )r   N)r5   r~   r   r-   r   rK   r0   r   r1   r   r)   r   rg   r   r    r    r    r!   r     s   r   c               @   s:   e Zd ZeddgZejjZejj	ZdZ
dZdZdZdS )Basic6WriteTestCaser   r   N)r   )r5   r~   r   r   r   r-   r0   r   r1   r   r)   r   rg   r   r    r    r    r!   r     s   r   c               @   sH   e Zd ZddgddggZeejjZeejj	ZdZ
dZdZdZdS )	Basic7WriteTestCaser   r   rV      )r   r   )r   r   N)r5   r~   r   r-   r   rK   r0   r   r1   r   r)   r   rg   r   r    r    r    r!   r   %  s   r   c               @   sH   e Zd ZddgddggZeejjZeejj	ZdZ
dZdZdZdS )Basic8WriteTestCaser   r   rV   r   )r   r   )r   N)r5   r~   r   r-   r   rK   r0   r   r1   r   r)   r   rg   r   r    r    r    r!   r   /  s   r   c               @   s2   e Zd ZdZedZdZdZdZdZ	dZ
dZdS )EmptyEArrayTestCaser   )r   r   r   r   r   r   N)r5   r~   r   r1   r   r0   r)   r>   rE   re   rf   rg   r    r    r    r!   r   9  s   
r   c               @   s&   e Zd ZdZedZdZdZdZdS )NP_EmptyEArrayTestCaser   z()int32)r   r   r   r   N)	r5   r~   r   r1   r   r0   r)   r>   rE   r    r    r    r!   r   D  s
   
r   c               @   s0   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   r   N)r5   r~   r   r1   r0   r)   r>   rE   re   rf   rg   r   r    r    r    r!   r   L  s   r   z%LZO compression library not availablec               @   s<   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   r   rV   N)r5   r~   r   r7   r%   r1   r)   r>   rE   rr   rt   r    r    r    r!   r   X  s   r   z'BLOSC compression library not availablec               @   sF   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   )r5   r~   r   r7   r%   r1   r)   r>   rE   rr   rt   r    r    r    r!   r   c  s   r   c               @   s,   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   r   N)
r5   r~   r   r1   r)   r>   rE   Ellipsisrr   rt   r    r    r    r!   r   o  s
   r   c               @   s6   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   r   r   N)
r5   r~   r   r1   r)   r>   rE   rr   r   rt   r    r    r    r!   r   x  s
   r   c               @   s   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   rV   r   r   r   r   r   r   Nr   )r5   r~   r   r7   r%   r1   r)   r>   rE   rr   rt   r    r    r    r!   r     s   "r   c            	   @   s\   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   rV   r   r   r      r   r   r   r   r   Nr   rV      )	r5   r~   r   r1   r)   r>   rE   rr   rt   r    r    r    r!   r     s   r   c               @   sZ   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   rV   r   r   r   r   r   r   Nr   r   )
r5   r~   r   r1   r)   r>   rE   r   rr   rt   r    r    r    r!   r     s   r   c               @   sP   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   rV   r   r   r   r   r   r   Nr   r   )
r5   r~   r   r1   r)   r>   rE   r   rr   rt   r    r    r    r!   r     s   r   c               @   s6   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   rV   r   r   r   r   r   r   r   r   N)
r5   r~   r   r1   r)   r>   rE   rr   r   rt   r    r    r    r!   r     s
   r   c               @   s8   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 )	rw   r   )r   rV   r   r   r   r   r   r   r   N)
r5   r~   r   r1   r)   r>   rE   rr   r   rt   r    r    r    r!   rw     s
   rw   c               @   s>   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   rV   r   r   r   r   r   r   r   NrV   )
r5   r~   r   r1   r)   r>   rE   rr   r   rt   r    r    r    r!   r     s
   r   c               @   s   e Zd ZdZdZdZdZdS )MD3WriteTestCaser   )r   r   rV   r   r   N)r5   r~   r   r1   r)   r>   rg   r    r    r    r!   r     s   r   c               @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )MD5WriteTestCaser   )r   r   rV   r   r   r   r   N)
r5   r~   r   r1   r)   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )MD6WriteTestCaser   )r   rV   rV   r   r   r   r   r   rV   N)
r5   r~   r   r1   r)   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s    e Zd ZdZdZdZdZdZdS )NP_MD6WriteTestCasez Testing NumPy scalars as indexesr   )r   rV   rV   r   r   r   r   r   N)r5   r~   r   __doc__r1   r)   r>   rE   r    r    r    r!   r     s
   r   c               @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )MD6WriteTestCase__r   )r   r   r   rV   N)
r5   r~   r   r1   r)   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )MD7WriteTestCaser   )r   rV   rV   r   r   r   rV   r   r   r   N)
r5   r~   r   r1   r)   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )MD10WriteTestCaser   )
r   r   rV   r   r   r   r   rV   r   r   r   r   rj   N)
r5   r~   r   r1   r)   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s   e Zd ZdZdZdZdZdS )NP_MD10WriteTestCaser   )
r   r   rV   r   r   r   r   rV   r   r   r   r   N)r5   r~   r   r1   r)   r>   rE   r    r    r    r!   r     s   r   c               @   s    e Zd ZdZdZdZdZdZdS )ZlibComprTestCaser   r   rV   Nr   )r5   r~   r   r7   r%   re   rf   rg   r    r    r    r!   r     s
   r   c               @   s$   e Zd ZdZdZdZdZdZdZdS )ZlibShuffleTestCaser   r   rV   r   N)	r5   r~   r   r&   r7   r%   re   rf   rg   r    r    r    r!   r   "  s   r   c               @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )BloscComprTestCaser   r   r   d   rV   N)
r5   r~   r   r7   r%   r>   rE   re   rf   rg   r    r    r    r!   r   ,  s   r   c               @   s,   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   rV   r   N)r5   r~   r   r7   r&   r%   r>   rE   re   rf   rg   r    r    r    r!   r   8  s   r   c               @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )LZOComprTestCaser   r   r   r   rV   N)
r5   r~   r   r7   r%   r>   rE   re   rf   rg   r    r    r    r!   r   E  s   r   c               @   s,   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   rV   r   N)r5   r~   r   r7   r&   r%   r>   rE   re   rf   rg   r    r    r    r!   r   P  s   r   z'BZIP2 compression library not availablec               @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )Bzip2ComprTestCaser   bzip2r   r   rV      N)
r5   r~   r   r7   r%   r>   rE   re   rf   rg   r    r    r    r!   r   \  s   r   c               @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
dS )Bzip2ShuffleTestCaser   r   r   r   rV   r   N)r5   r~   r   r7   r&   r%   r>   rE   re   rf   rg   r    r    r    r!   r   h  s   r   c               @   s(   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)
r5   r~   r   r7   r'   r>   rE   re   rf   rg   r    r    r    r!   r   u  s   r   c               @   s0   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   r   r   c   r   N)r5   r~   r   r7   r&   r'   r%   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
dS )FloatTypeTestCasefloat64)r   r   r   r   rV   r   N)r5   r~   r   r1   r0   r)   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s,   e Zd ZdZdZdZdZdZdZdZ	dZ
dS )ComplexTypeTestCaseZ
complex128)r   r   r   r   rV   r   N)r5   r~   r   r1   r0   r)   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s@   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   r   rV   r   r   r   N)r5   r~   r   r1   r2   r)   r>   rE   re   rf   rg   rr   rt   r    r    r    r!   r     s   r   c               @   s,   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)r5   r~   r   r1   r2   r)   r>   rE   re   rf   rg   r    r    r    r!   r     s   r   c               @   s0   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   r   r   rj   r   N)r5   r~   r   r1   r2   r)   Zcomprr>   rE   re   rf   rg   r    r    r    r!   r     s   r   c                   sD   e Zd Z fddZdd Zdd Zdd Zd	d
 Zdd Z  Z	S )"SizeOnDiskInMemoryPropertyTestCasec                s$   t t|   d| _d| _d| _d S )N)r   r   )i  r   ip  )r   r   r   
array_sizer   hdf_overhead)r   )r   r    r!   r     s    z(SizeOnDiskInMemoryPropertyTestCase.setUpc             C   s2   t j|dd}| jjddt | j|| jd| _d S )Nr   )r$   r%   /rH   )r(   r)   r+   r   )r3   r6   r   r8   r   r   r   r   )r   r$   r+   r    r    r!   create_array  s
    z/SizeOnDiskInMemoryPropertyTestCase.create_arrayc             C   s2   d}|  | | | jjd | | jjd d S )Nr   )r   rQ   r   size_on_disksize_in_memory)r   r$   r    r    r!   test_zero_length  s    
z3SizeOnDiskInMemoryPropertyTestCase.test_zero_lengthc             C   sV   d}|  | | jttdg| jd  d  | | jjd | | jjd d S )Nr   r   i )	r   r   rF   rP   r   r   rQ   r   r   )r   r$   r    r    r!   test_no_compression_one_append  s
    
$zASizeOnDiskInMemoryPropertyTestCase.test_no_compression_one_appendc             C   sz   d}|  | | jttdg| jd  d  | jttdg| jd  d  | | jjd | | jjd d S )Nr   r   r   i )	r   r   rF   rP   r   r   rQ   r   r   )r   r$   r    r    r!   $test_no_compression_multiple_appends  s    
$$zGSizeOnDiskInMemoryPropertyTestCase.test_no_compression_multiple_appendsc             C   s   d}|  | | jttdg| jd  d  t| jj	}| 
t| jj| | jk | | jjd | 
| jj| jjk  d S )Nr   r   r   i )r   r   rF   rP   r   r   osstatZh5fnamest_sizerZ   absr   r   rQ   r   )r   r$   Z	file_sizer    r    r!   test_with_compression  s    
$z8SizeOnDiskInMemoryPropertyTestCase.test_with_compression)
r5   r~   r   r   r   r   r   r   r   r   r    r    )r   r!   r     s   
r   c                   sx   e Zd ZdZdZdZ fddZdd Zdd	 Zd
d Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd Z  ZS )OffsetStrideTestCasewr   r   c                s   t t|   | jj| _d S )N)r   r   r   r   r   r   )r   )r   r    r!   r     s    zOffsetStrideTestCase.setUpc             C   sr  | j }tjr&tdd td| jj  | jj|dtddddd	}t	j
d
dgddgddgggdd}||ddddf  t	
dd
gddgddgddggg}||ddddf  | }tjrt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.rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=z Running %s.test01a_StringAtom...stringsrV   )r#   )r   r   r   zArray of strings)r(   r)   r*   rx   b12345S3)r0   Nr   sabfabcr   zObject read:zNrows in:zSecond row in earray ==>r   s   123s   45   ss   abc   f)r   r	   rB   rC   r   r5   r   r8   r   r   r   rF   rm   _v_pathnamerS   tolistrQ   rO   )r   r   rH   rx   ra   r    r    r!   test01a_String  s0    




  z#OffsetStrideTestCase.test01a_Stringc             C   sv  | j }tjr&tdd td| jj  | jj|dtddddd	}t	j
d
dgddgddgggdd}||dddddf  t	
dd
gddgddgddggg}||dddddf  | }tjrt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.rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=z Running %s.test01b_StringAtom...r   rV   )r#   )r   r   r   zArray of strings)r(   r)   r*   rx   r   r   r   r   )r0   Nr   r   r   r   r   zObject read:zNrows inr   zSecond row in earray ==>r   r   r.      bs   45s   123r   s   abc)r   r	   rB   rC   r   r5   r   r8   r   r   r   rF   rm   r   rS   r   rQ   rO   )r   r   rH   rx   ra   r    r    r!   test01b_String+  s0    




  z#OffsetStrideTestCase.test01b_Stringc             C   s@  | j }tjr&tdd td| jj  | jj|dt ddd}t	j
dd	d
dgdd}||dd  t	j
d
dgdd}||dd  | }tjrtd| td|jd|j td|d  | |jd | t|d t	j
dddgdd | t|d t	j
dddgdd | t|d t	j
dddgdd dS )z1Checking earray with offseted NumPy ints appends.rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test02a_int...EAtom)r   rV   zarray of ints)r(   r)   r*   )r   r   r   )r   r   rV   )r   r   r   r   )r0   r   N)rj   r   r   r   zObject read:zNrows inr   zThird row in vlarray ==>rV   r   rj   )r   r	   rB   rC   r   r5   r   r8   r   r   r   rF   rm   r   rS   rQ   rZ   r
   )r   r   rH   rx   ra   r    r    r!   test02a_intK  s0    


z OffsetStrideTestCase.test02a_intc             C   sD  | j }tjr&tdd td| jj  | jj|dt ddd}t	j
dd	d
dgdd}||ddd  t	j
d
dgdd}||ddd  | }tjrtd| td|jd|j td|d  | |jd | t|d t	j
dddgdd | t|d t	j
dddgdd | t|d t	j
dddgdd dS )z0Checking earray with strided NumPy ints appends.rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test02b_int...r   )r   rV   zarray of ints)r(   r)   r*   )r   r   r   )r   r   rV   )r   r   r   )rV   rV   rV   r   )r0   NrV   )rj   r   r   r   zObject read:zNrows inr   zThird row in vlarray ==>r   r   )r   r	   rB   rC   r   r5   r   r8   r   r   r   rF   rm   r   rS   rQ   rZ   r
   )r   r   rH   rx   ra   r    r    r!   test02b_intl  s0    


z OffsetStrideTestCase.test02b_intc             C   s   | j }tjr&tdd td| jj  | jj|dt ddd}t	j
dd	d
dgdd}|| | }| }|| |ddddf }|ddddf }tjrtd| td|jj td| td|jj | t|| dS )z/Checking earray with byteswapped appends (ints)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03a_int...r   )r   rV   zarray of ints)r(   r)   r*   )r   r   r   )r   r   rV   )r   r   r   )rV   rV   rV   r   )r0   Nr   zNative rows:zByteorder native rows:zSwapped rows:zByteorder swapped rows:)r   r	   rB   rC   r   r5   r   r8   r   r   r   rF   byteswapnewbyteorderr0   	byteorderrZ   r
   )r   r   rH   rx   nativeswappedr    r    r!   test03a_int  s*    





z OffsetStrideTestCase.test03a_intc             C   s   | j }tjr&tdd td| jj  | jj|dt ddd}t	j
dd	d
dgdd}|| | }| }|| |ddddf }|ddddf }tjrtd| td|jj td| td|jj | t|| dS )z1Checking earray with byteswapped appends (floats)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03b_float...r   )r   rV   zarray of floats)r(   r)   r*   )r   r   r   )r   r   rV   )r   r   r   )rV   rV   rV   r   )r0   Nr   zNative rows:zByteorder native rows:zSwapped rows:zByteorder swapped rows:)r   r	   rB   rC   r   r5   r   r8   r   r   r   rF   r   r   r0   r   rZ   r
   )r   r   rH   rx   r   r   r    r    r!   test03b_float  s*    





z"OffsetStrideTestCase.test03b_floatc             C   s  | j }tjr&tdd td| jj  dddtj }| jj	|dt
 dd	|d
}tjddddgdd}|| | }| }|| |ddddf }|ddddf }tjrtdt|jj  td|j | t|jj tj | |j| | t|| dS )z2Checking earray with byteswapped appends (2, ints)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test04a_int...biglittle)r   r   r   )r   rV   zarray of ints)r(   r)   r*   r   )r   r   r   )r   r   rV   )r   r   r   )rV   rV   rV   r   )r0   Nr   zByteorder native rows:zByteorder earray on-disk:)r   r	   rB   rC   r   r5   sysr   r   r8   r   r   r   rF   r   r   r   r0   rQ   rZ   r
   )r   r   r   rH   rx   r   r   r    r    r!   test04a_int  s.    



z OffsetStrideTestCase.test04a_intc             C   s&  | j }tjr&tdd td| jj  dddtj }| jj	|dt
 dd	|d
}| jdd | jd}tjddddgdd}|| | }| }|| |ddddf }|ddddf }tjrtdt|jj  td|j | t|jj tj | |j| | t|| dS )z:Checking earray with byteswapped appends (2, ints, reopen)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test04b_int...r   r   )r   r   r   )r   rV   zarray of ints)r(   r)   r*   r   rx   )ry   z/EAtom)r   r   r   )r   r   rV   )r   r   r   )rV   rV   rV   r   )r0   Nr   zByteorder native rows:zByteorder earray on-disk:)r   r	   rB   rC   r   r5   r   r   r   r8   r   rM   rN   r   r   rF   r   r   r   r0   rQ   rZ   r
   )r   r   r   rH   rx   r   r   r    r    r!   test04b_int  s2    



z OffsetStrideTestCase.test04b_intc             C   s  | j }tjr&tdd td| jj  dddtj }| jj	|dt
 dd	|d
}tjddddgdd}|| | }| }|| |ddddf }|ddddf }tjrtdt|jj  td|j | t|jj tj | |j| | t|| dS )z4Checking earray with byteswapped appends (2, floats)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test04c_float...r   r   )r   r   r   )r   rV   zarray of floats)r(   r)   r*   r   )r   r   r   )r   r   rV   )r   r   r   )rV   rV   rV   r   )r0   Nr   zByteorder native rows:zByteorder earray on-disk:)r   r	   rB   rC   r   r5   r   r   r   r8   r   r   r   rF   r   r   r   r0   rQ   rZ   r
   )r   r   r   rH   rx   r   r   r    r    r!   test04c_float  s.    



z"OffsetStrideTestCase.test04c_floatc             C   s&  | j }tjr&tdd td| jj  dddtj }| jj	|dt
 dd	|d
}| jdd | jd}tjddddgdd}|| | }| }|| |ddddf }|ddddf }tjrtdt|jj  td|j | t|jj tj | |j| | t|| dS )z<Checking earray with byteswapped appends (2, floats, reopen)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test04d_float...r   r   )r   r   r   )r   rV   zarray of floats)r(   r)   r*   r   rx   )ry   z/EAtom)r   r   r   )r   r   rV   )r   r   r   )rV   rV   rV   r   )r0   Nr   zByteorder native rows:zByteorder earray on-disk:)r   r	   rB   rC   r   r5   r   r   r   r8   r   rM   rN   r   r   rF   r   r   r   r0   rQ   rZ   r
   )r   r   r   rH   rx   r   r   r    r    r!   test04d_float4  s2    



z"OffsetStrideTestCase.test04d_float)r5   r~   r   ry   r7   r%   r   r   r   r   r   r   r   r   r   r   r   r   r    r    )r   r!   r     s     !   "$"r   c               @   sL   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dd Z
dS )CopyTestCasec             C   s  t jr tdd td| jj  t }| jj| jjd|ddd}|	t
jdd	gd
dggdd | jrt jrttd | jdd | jjj}|dd}| jrt jrtd |   | jjj}| jjj}t jr
t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 | t |jt |j dS )zChecking EArray.copy() method.rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01_copy...array1)r   r   ztitle array1)r(   r)   r*   i  r   rV   i  int16)r0   z(closing file version)rx   )ry   r   array2z	array1-->z	array2-->zattrs array1-->zattrs array2-->N)!r	   rB   rC   r   r5   r   r   r8   r   rF   r   r   r   rM   r   rl   r   rm   rD   attrsrZ   r
   rQ   rS   r)   r=   r9   r(   r0   r1   r#   r*   r   )r   r(   r   r   r    r    r!   test01_copy[  sF    
 


zCopyTestCase.test01_copyc             C   s  t jr tdd td| jj  t }| jj| jjd|ddd}|	t
jdd	gd
dggdd | jrt jrttd | jdd | jjj}| jdd}||d}| jrt jrtd |   | jjj}| jjjj}t jrt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! | t"|jt"|j dS )z/Checking EArray.copy() method (where specified)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test02_copy...r   )r   r   ztitle array1)r(   r)   r*   i  r   rV   i  r   )r0   z(closing file version)rx   )ry   r   group1r   z	array1-->z	array2-->zattrs array1-->zattrs array2-->N)#r	   rB   rC   r   r5   r   r   r8   r   rF   r   r   r   rM   r   Zcreate_grouprl   r   r   rm   rD   r   rZ   r
   rQ   rS   r)   r=   r9   r(   r0   r1   r#   r*   r   )r   r(   r   r   r   r    r    r!   test02_copy  sH    
 

zCopyTestCase.test02_copyc             C   s  t jr tdd td| jj  t }| jj| jjd|ddd}d|_	|
d	 | jrzt jrdtd
 | jdd | jjj}|dd}| jrt jrtd
 |   | jjj}| jjj}t jrt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)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03b_copy...r   )r   r   ztitle array1)r(   r)   r*   python))i  r   )rV   i  z(closing file version)rx   )ry   r   r   zattrs array1-->zattrs array2-->N)r	   rB   rC   r   r5   r   r   r8   r   r9   rF   r   rM   r   rl   r   rD   r   rQ   rm   rS   r)   r=   r(   r0   r1   r#   r*   r   )r   r(   r   r   r    r    r!   test03a_copy  sD    




zCopyTestCase.test03a_copyc             C   s  t jr tdd td| jj  tdd}| jj| jjd|ddd	}d
|_	|
ddgddgg | jrt jrttd | jdd | jjj}|dd}| jrt jrtd |   | jjj}| jjj}t jrt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)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03d_copy...rV   )r#   r   )r   r   ztitle array1)r(   r)   r*   r   45623457z(closing file version)rx   )ry   r   r   zattrs array1-->zattrs array2-->N)r	   rB   rC   r   r5   r   r   r8   r   r9   rF   r   rM   r   rl   r   rD   r   rQ   rm   rS   r)   r=   r(   r0   r1   r#   r*   r   )r   r(   r   r   r    r    r!   test03b_copy  sD    




zCopyTestCase.test03b_copyc             C   s  t jr tdd td| jj  tdd}| jj| jjd|ddd	}d
|_	|
tjddgddggdd | jrt jr~td | jdd | jjj}|dd}| jrt jrtd |   | jjj}| jjj}t jrt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 | t |jt |j dS )z-Checking EArray.copy() method (String flavor)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03e_copy...r   )r#   r   )r   r   ztitle array1)r(   r)   r*   r   r   r   r   r   ZS4)r0   z(closing file version)rx   )ry   r   r   zattrs array1-->zattrs array2-->N)!r	   rB   rC   r   r5   r   r   r8   r   r9   rF   r   r   r   rM   r   rl   r   rD   r   rZ   r
   rm   rQ   rS   r)   r=   r(   r0   r1   r#   r*   r   )r   r(   r   r   r    r    r!   test03c_copy!  sD    

 


zCopyTestCase.test03c_copyc             C   s   t jr tdd td| jj  t }| jj| jjd|ddd}|	t
jdd	gd
dggdd d|j_d	|j_| jrt jrtd | jdd | jjj}|jdddd}| jrt jrtd |   | jjj}| jjj}t jrtd|j | |jd dS )z6Checking EArray.copy() method (checking title copying)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test04_copy...r   )r   r   ztitle array1)r(   r)   r*   i  r   rV   i  r   )r0   attr1z(closing file version)rx   )ry   r   r   ztitle array2)r*   ztitle of destination array-->N)r	   rB   rC   r   r5   r   r   r8   r   rF   r   r   r   r  attr2r   rM   r   rl   r   r*   rQ   )r   r(   r   r   r    r    r!   test04_copyP  s2    
 


zCopyTestCase.test04_copyc             C   s&  t jr tdd td| jj  t }| jj| jjd|ddd}|	t
jdd	gd
dggdd d|j_d	|j_| jrt jrtd | jdd | jjj}|jdddd}| jrt jrtd |   | jjj}| jjj}t jrtdt|j tdt|j | |jjd | |jjd	 dS )z6Checking EArray.copy() method (user attributes copied)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test05_copy...r   )r   r   ztitle array1)r(   r)   r*   i  r   rV   i  r   )r0   r  z(closing file version)rx   )ry   r   r   r   )copyuserattrszattrs array1-->zattrs array2-->N)r	   rB   rC   r   r5   r   r   r8   r   rF   r   r   r   r  r  r   rM   r   rl   r   rD   rQ   )r   r(   r   r   r    r    r!   test05_copyv  s6    
 


zCopyTestCase.test05_copyc             C   s.  t jr tdd td| jj  t }| jj| jjd|ddd}|	t
jdd	gd
dggdd d|j_d	|j_| jrt jrtd | jdd | jjj}|jdddd}| jrt jrtd |   | jjj}| jjj}t jrt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)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test05b_copy...r   )r   r   ztitle array1)r(   r)   r*   i  r   rV   i  r   )r0   r  z(closing file version)rx   )ry   r   r   r   )r  zattrs array1-->zattrs array2-->r  N)r	   rB   rC   r   r5   r   r   r8   r   rF   r   r   r   r  r  r   rM   r   rl   r   rD   rQ   r]   )r   r(   r   r   r    r    r!   test05b_copy  s6    
 


zCopyTestCase.test05b_copyN)r5   r~   r   r   r   r   r  r  r  r  r  r    r    r    r!   r   Y  s   34/0/&)r   c               @   s   e Zd ZdZdS )CloseCopyTestCaser   N)r5   r~   r   r   r    r    r    r!   r	    s   r	  c               @   s   e Zd ZdZdS )OpenCopyTestCaser   N)r5   r~   r   r   r    r    r    r!   r
    s   r
  c               @   s    e Zd ZdZdd Zdd ZdS )CopyIndexTestCaser   c             C   s&  t jr tdd td| jj  t }| jj| jjd|ddd}t	j
dd	d
}d|_|| | j|_|jdd| j| j| jd}t jrtd|  td|  tdt|j tdt|j || j| j| j }| t||  t jrtd|j td|jd  | |jd |j dS )z+Checking EArray.copy() method with indexes.rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01_index...r   )r   r   ztitle array1)r(   r)   r*      r   )r0   )r   r   r   r   )re   rf   rg   z	array1-->z	array2-->zattrs array1-->zattrs array2-->znrows in array2-->zand it should be-->r   N)r	   rB   rC   r   r5   r   r   r8   r   r   r@   r)   rF   rW   rl   re   rf   rg   rm   rD   r   rZ   r
   rS   rQ   )r   r(   r   rr   r2r    r    r!   test01_index  s4    


zCopyIndexTestCase.test01_indexc             C   sB  t jr tdd td| jj  t }| jj| jjd|ddd}t	j
dd	d
}d|_|| | j|_|jdd| j| j| jd}|   | jjj}| jjj}t jrtd|  td|  tdt|j tdt|j || j| j| j }| t||  t jr*td|j td|jd  | |jd |j dS )z?Checking EArray.copy() method with indexes (close file version)rU   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=z Running %s.test02_indexclosef...r   )r   r   ztitle array1)r(   r)   r*   r  r   )r0   )r   r   r   r   )re   rf   rg   z	array1-->z	array2-->zattrs array1-->zattrs array2-->znrows in array2-->zand it should be-->r   N)r	   rB   rC   r   r5   r   r   r8   r   r   r@   r)   rF   rW   rl   re   rf   rg   rM   r   r   rm   rD   r   rZ   r
   rS   rQ   )r   r(   r   r  r   r  r    r    r!   test02_indexclosef  s:    




z$CopyIndexTestCase.test02_indexclosefN)r5   r~   r   rW   r  r  r    r    r    r!   r    s   (r  c               @   s   e Zd ZdZdZdZdZdS )CopyIndex1TestCaser   r   r   N)r5   r~   r   rW   re   rf   rg   r    r    r    r!   r  *  s   r  c               @   s   e Zd ZdZdZdZdZdS )CopyIndex2TestCaser   r   rj   r   N)r5   r~   r   rW   re   rf   rg   r    r    r    r!   r  1  s   r  c               @   s   e Zd ZdZdZdZdZdS )CopyIndex3TestCaserV   r   r   N)r5   r~   r   rW   re   rf   rg   r    r    r    r!   r  8  s   r  c               @   s   e Zd ZdZdZdZdZdS )CopyIndex4TestCaser   r   r   r   N)r5   r~   r   rW   re   rf   rg   r    r    r    r!   r  ?  s   r  c               @   s   e Zd ZdZdZdZdZdS )CopyIndex5TestCaser   rV   r   r   N)r5   r~   r   rW   re   rf   rg   r    r    r    r!   r  F  s   r  c               @   s   e Zd ZdZdZdZdZdS )CopyIndex6TestCaser   rV   r   N)r5   r~   r   rW   re   rf   rg   r    r    r    r!   r  M  s   r  c               @   s   e Zd ZdZdZdZdS )CopyIndex7TestCaser   r   r   N)r5   r~   r   re   rf   rg   r    r    r    r!   r  T  s   r  c               @   s   e Zd ZdZdZdZdS )CopyIndex8TestCaser   rj   r   N)r5   r~   r   re   rf   rg   r    r    r    r!   r  Z  s   r  c               @   s   e Zd ZdZdZdZdS )CopyIndex9TestCaserV   r   r   N)r5   r~   r   re   rf   rg   r    r    r    r!   r  `  s   r  c               @   s   e Zd ZdZdZdZdZdS )CopyIndex10TestCaser   rV   r   r   N)r5   r~   r   rW   re   rf   rg   r    r    r    r!   r  f  s   r  c               @   s   e Zd ZdZdZdZdS )CopyIndex11TestCaserj   r   N)r5   r~   r   re   rf   rg   r    r    r    r!   r  m  s   r  c               @   s   e Zd ZdZdZdZdS )CopyIndex12TestCaserj   Nr   )r5   r~   r   re   rf   rg   r    r    r    r!   r  s  s   r  c                   s<   e Zd Z fddZdd Zdd Zdd Zd	d
 Z  ZS )TruncateTestCasec                sV   t t|   tdd}| jj| jjd|ddd}|tj	ddgdd	ggd
d d S )NrV   )Zdfltr   )r   r   ztitle array1)r(   r)   r*   i  r   i  r   )r0   )
r   r  r   r   r   r8   r   rF   r   r   )r   r(   r   )r   r    r!   r   {  s    
zTruncateTestCase.setUpc             C   s|   | j jj}|d | jr:tjr(td |   | j jj}tjrNtd|	  | 
t|dd tjg dddd dS )z8Checking EArray.truncate() method (truncating to 0 rows)r   z(closing file version)z	array1-->Nr   )r0   r   )r   r   r   truncater   r	   rB   rC   rM   rm   rZ   r
   r   r   reshape)r   r   r    r    r!   test00_truncate  s    


z TruncateTestCase.test00_truncatec             C   sv   | j jj}|d | jr:tjr(td |   | j jj}tjrNtd|	  | 
t|	 tjddggdd dS )	z8Checking EArray.truncate() method (truncating to 1 rows)r   z(closing file version)z	array1-->i  r   r   )r0   N)r   r   r   r  r   r	   rB   rC   rM   rm   rZ   r
   r   r   )r   r   r    r    r!   test01_truncate  s    


z TruncateTestCase.test01_truncatec             C   s|   | j jj}|d | jr:tjr(td |   | j jj}tjrNtd|	  | 
t|	 tjddgddggdd d	S )
z?Checking EArray.truncate() method (truncating to == self.nrows)r   z(closing file version)z	array1-->i  rV   i  r   )r0   N)r   r   r   r  r   r	   rB   rC   rM   rm   rZ   r
   r   r   )r   r   r    r    r!   test02_truncate  s    


z TruncateTestCase.test02_truncatec             C   s   | j jj}|d | jr:tjr(td |   | j jj}tjrNtd|	  | 
|jd | t|dd tjddgddggd	d
 | t|dd tjddgddggd	d
 dS )z>Checking EArray.truncate() method (truncating to > self.nrows)r   z(closing file version)z	array1-->Nr   i  rV   i  r   )r0   )r   r   r   r  r   r	   rB   rC   rM   rm   rQ   rS   rZ   r
   r   r   )r   r   r    r    r!   test03_truncate  s    


""z TruncateTestCase.test03_truncate)	r5   r~   r   r   r!  r"  r#  r$  r   r    r    )r   r!   r  y  s
   r  c               @   s   e Zd ZdZdS )TruncateOpenTestCaser   N)r5   r~   r   r   r    r    r    r!   r%    s   r%  c               @   s   e Zd ZdZdS )TruncateCloseTestCaser   N)r5   r~   r   r   r    r    r    r!   r&    s   r&  c                   s0   e Zd ZdZdZdZ fddZdd Z  ZS )Rows64bitsTestCaserx   i@B i  c          	      sr   t t|   | jj| jjdt dtjddd| j	| j
 d}tj| j	dd}xt| j
D ]}|| q\W d S )	Nr   )r   r   r   )r%   r$   )r(   r)   r+   r,   int8)r0   )r   r'  r   r   r8   r   r3   ZInt8Atomr6   narowsnanumberr   r@   r   rF   )r   r   ZnarI   )r   r    r!   r     s    zRows64bitsTestCase.setUpc          	   C   s  | j jj}| jrptjrPtd td|jt|j td|jd d td|j	 | 
  | j jj}tjrptd tjrtd|jt|j td|jd d td|j	 td|dd	  | jd
 }|dkr|d
8 }|d }tdtj||dd | j| j }| |j| | |j	|f | t|d	d tjddd | jd
 }|dkrZ|d
8 }|d }| t|dd	 tj||dd d	S )z2Some basic checks for earrays exceeding 2**31 rowszBefore closingzEntries:i@B ZMillionszShape:zAfter re-openzLast 10 elements-->iN      r   zShould look like-->r(  )r0   )r   r   r   r   r	   rB   rC   rS   r1   r)   rM   r)  r   r@   r*  rQ   rZ   r
   )r   r   rf   re   rS   r    r    r!   test01_basiccheck  s@    



"

z$Rows64bitsTestCase.test01_basiccheck)	r5   r~   r   	open_moder)  r*  r   r-  r   r    r    )r   r!   r'    s
   r'  c               @   s   e Zd ZdZdS )Rows64bitsTestCase1r   N)r5   r~   r   r   r    r    r    r!   r/  *	  s   r/  c               @   s   e Zd ZdZdS )Rows64bitsTestCase2r   N)r5   r~   r   r   r    r    r    r!   r0  .	  s   r0  c                   s0   e Zd ZdZ fddZdd Zdd Z  ZS )ZeroSizedTestCaserx   c                s>   t t|   | jjddt dd}|dgdgdgg d S )Nr   test)rV   r   )r(   r)   r   r   rV   )r   r1  r   r   r8   r   rF   )r   ea)r   r    r!   r   6	  s    
zZeroSizedTestCase.setUpc             C   s:   | j }|jj}tjddd}|| | |jdd dS )zAppending zero length array.)rV   r   r   )r)   r0   r   zThe number of rows should be 1.N)r   r   r2  r   rk   rF   rQ   rS   )r   filehr3  npr    r    r!   test01_canAppend?	  s
    
z"ZeroSizedTestCase.test01_canAppendc             C   s0   | j }|jj}tjddd}| t|j| dS )z1Appending zero length array with wrong dimension.)rV   r   rV   r   )r)   r0   N)r   r   r2  r   rk   assertRaises
ValueErrorrF   )r   r4  r3  r5  r    r    r!   test02_appendWithWrongShapeH	  s    z-ZeroSizedTestCase.test02_appendWithWrongShape)r5   r~   r   r.  r   r6  r9  r   r    r    )r   r!   r1  3	  s   		r1  c               @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )MDAtomTestCasec          	   C   s   | j jddtddd}| jr2| d | j jj}|ddgd	d
ggg | |j	d t
jrltd|d  | t|d tddgd	d
ggd dS )z@Append a row to a (unidimensional) EArray with a MD tables.Atom.r   r2  )r   r   )r   )r(   r)   rx   r   rV   r   r   zFirst row-->r   r   N)r   r8   r   r   rM   r   r2  rF   rQ   rS   r	   rB   rC   rZ   r
   r   r   )r   r3  r    r    r!   test01a_appendT	  s    


zMDAtomTestCase.test01a_appendc          	   C   s   | j jddtddd}| jr2| d | j jj}|dggdggd	ggg | |j	d	 t
jrptd
|d  | t|d td	d	gd	d	ggd dS )zOAppend several rows to a (unidimensional) EArray with a MD
        tables.Atom.r   r2  )r   r   )r   )r(   r)   rx   r   r   rV   zThird row-->r   N)r   r8   r   r   rM   r   r2  rF   rQ   rS   r	   rB   rC   rZ   r
   r   r   )r   r3  r    r    r!   test01b_appendd	  s    


zMDAtomTestCase.test01b_appendc          
   C   s   | j jddtddd}| jr2| d | j jj}|ddgd	d
gddggg | |j	d t
jrrtd|d  | t|d t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.r   r2  )r   )r   rV   )r(   r)   rx   r   rV   r   r   r   	   zFirst row-->r   r   N)r   r8   r   r   rM   r   r2  rF   rQ   rS   r	   rB   rC   rZ   r
   r   r   )r   r3  r    r    r!   test02a_appendu	  s    


zMDAtomTestCase.test02a_appendc          
   C   s   | j jddtddd}| jr2| 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rtd|d  | t|d t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.r   r2  )r   )r   rV   )r(   r)   rx   r   r  r   ir=  rj   rV   r   r   iizThird row-->r   r   N)r   r8   r   r   rM   r   r2  rF   rQ   rS   r	   rB   rC   rZ   r
   r   r   )r   r3  r    r    r!   test02b_append	  s    


zMDAtomTestCase.test02b_appendc             C   s   | j jddtddd}| jr2| d | j jj}tjddd		d
}|
|d |d |d g | |jd tjrtd|d  | t|d |d  dS )zJComplex append of a MD array in a MD EArray with a
        MD tables.Atom.r   r2  )r   r   )r   r   rV   )r(   r)   rx   0   r   )r0   )r   rV   r   r   r   r   rV   zThird row-->N)r   r8   r   r   rM   r   r2  r   r@   r   rF   rQ   rS   r	   rB   rC   rZ   r
   )r   r3  rx   r    r    r!   test03a_MDMDMD	  s    

zMDAtomTestCase.test03a_MDMDMDc             C   s   | j jddtddd}| jr2| d | j jj}tjddd		d
}|
|d  |
|d  |
|d  | |jd tjrtd|ddddf  | t|ddddf |	dd  dS )z@Complex append of a MD array in a MD EArray with a MD atom (II).r   r2  )r   r   )r   r   rV   )r(   r)   rx   rC  r   )r0   )r   r   rV   r   r   r   r   rV   zThird row-->N.)r   rV   r   r   )r   r8   r   r   rM   r   r2  r   r@   r   rF   rQ   rS   r	   rB   rC   rZ   r
   )r   r3  rx   r    r    r!   test03b_MDMDMD	  s    

zMDAtomTestCase.test03b_MDMDMDc             C   s   | j jddtddd}| jr2| d | j jj}tjddd		d
}|
|d  |
|d  |
|d  | |jd tjrtd|ddddddf  | t|ddddddf |	dd  dS )zAComplex append of a MD array in a MD EArray with a MD atom (III).r   r2  )r   r   )r   rV   r   )r(   r)   rx   rC  r   )r0   )r   rV   r   r   r   r   r   rV   zThird row-->N.)r   rV   r   r   )r   r8   r   r   rM   r   r2  r   r@   r   rF   rQ   rS   r	   rB   rC   rZ   r
   )r   r3  rx   r    r    r!   test03c_MDMDMD	  s    

zMDAtomTestCase.test03c_MDMDMDN)
r5   r~   r   r;  r<  r>  rB  rD  rE  rF  r    r    r    r!   r:  R	  s   r:  c               @   s   e Zd ZdZdS )MDAtomNoReopenFN)r5   r~   r   r   r    r    r    r!   rG  	  s   rG  c               @   s   e Zd ZdZdS )MDAtomReopenTN)r5   r~   r   r   r    r    r    r!   rH  	  s   rH  c                   s<   e Zd Z fddZdd Zdd Zdd Zd	d
 Z  ZS )AccessClosedTestCasec                s@   t t|   | jj| jjdt dd| _| jt	
d d S )Nr   )r   r   )r(   r)   )r   r   )r   rI  r   r   r8   r   r   r   rF   r   zeros)r   )r   r    r!   r   	  s    zAccessClosedTestCase.setUpc             C   s    | j   | tj| jj d S )N)r   r   r7  r3   ClosedNodeErrorr   rm   )r   r    r    r!   	test_read	  s    
zAccessClosedTestCase.test_readc             C   s"   | j   | tj| jjd d S )Nr   )r   r   r7  r3   rK  r   ru   )r   r    r    r!   test_getitem	  s    
z!AccessClosedTestCase.test_getitemc             C   s$   | j   | tj| jjdd d S )Nr   )r   r   r7  r3   rK  r   __setitem__)r   r    r    r!   test_setitem	  s    
z!AccessClosedTestCase.test_setitemc             C   s(   | j   | tj| jjtd d S )N)r   r   )	r   r   r7  r3   rK  r   rF   r   rJ  )r   r    r    r!   test_append	  s    
z AccessClosedTestCase.test_append)	r5   r~   r   r   rL  rM  rO  rP  r   r    r    )r   r!   rI  	  s
   rI  c               @   s   e Zd Zedddgdddgddd	ggZd
ZdZej	
ejZdejdd  ZdZdZdZdZdZdZdd Zdd Zdd Zdd Zdd Zdd Zdd Zd d! Zd"d# Zd$d% Zd&d' Zd(d) Zd*d+ Z d,d- Z!dS ).TestCreateEArrayArgsr   r   rV   r   r   r   r   r   r=  r   rH   )r   Nr*   i  )r   r   Fc          
   C   s   | 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 )Nr   )r   r8   wherer   r(   r)   r*   r+   r,   r   rM   rN   rQ   rS   r0   )r   ptarrr    r    r!   test_positional_args_01
  s    z,TestCreateEArrayArgs.test_positional_args_01c          
   C   s   | 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| d S )Nr   )r   r8   rR  r   r(   r)   r*   r+   r,   r   rF   r-   rM   rN   rm   rQ   rS   r0   rZ   r
   )r   rS  nparrr    r    r!   test_positional_args_02
  s"    z,TestCreateEArrayArgs.test_positional_args_02c             C   s   | 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
| d S )Nr   )r   r8   rR  r   r*   r+   r,   r   r   createparentsr-   rM   rN   rm   rQ   r)   rS   r(   r0   rZ   r
   )r   rS  rU  r    r    r!   test_positional_args_obj+
  s&    z-TestCreateEArrayArgs.test_positional_args_objc             C   s   | j j| j| j| j| j| jd |   | j | j| j}|	 }| 
|j| j | 
|j| jj | 
|j| jjd  | 
|j| j | 
|jj| jj | 
|j| j | t| j| d S )N)r*   r   r-   r   )r   r8   rR  r   r*   r   r-   rM   rN   rm   rQ   r)   rS   r(   r0   rZ   r
   )r   rS  rU  r    r    r!   test_kwargs_objC
  s    
z$TestCreateEArrayArgs.test_kwargs_objc             C   s   | j j| j| j| j| j| j| jd}|| j	 | 
  | j | j| j}| }| |j| j | |j| j	j | |j| j	jd  | |j| j | |jj| jj | |j| j | t| j	| d S )N)r*   r   r(   r)   r   )r   r8   rR  r   r*   r   r(   r)   rF   r-   rM   rN   rm   rQ   rS   r0   rZ   r
   )r   rS  rU  r    r    r!   test_kwargs_atom_shape_01U
  s    z.TestCreateEArrayArgs.test_kwargs_atom_shape_01c             C   s   | j j| j| j| j| j| j| jd}|   | j 	| j| j}| 
|j| j | 
|j| j | 
|jd | 
|j| j | 
|jj| jj | 
|j| j d S )N)r*   r   r(   r)   r   )r   r8   rR  r   r*   r   r(   r)   rM   rN   rQ   rS   r0   )r   rS  r    r    r!   test_kwargs_atom_shape_02i
  s    z.TestCreateEArrayArgs.test_kwargs_atom_shape_02c             C   s   | j j| j| j| j| j| j| jd}|   | j 	| j| j}|
 }| |j| j | |j| jj | |j| jjd  | |j| j | |jj| jj | |j| j | t| j| d S )N)r*   r   r-   r(   r   )r   r8   rR  r   r*   r   r-   r(   rM   rN   rm   rQ   r)   rS   r0   rZ   r
   )r   rS  rU  r    r    r!   test_kwargs_obj_atom{
  s    
z)TestCreateEArrayArgs.test_kwargs_obj_atomc             C   s   | j j| j| j| j| j| j| jd}|   | j 	| j| j}|
 }| |j| j | |j| jj | |j| jjd  | |j| j | |jj| jj | |j| j | t| j| d S )N)r*   r   r-   r)   r   )r   r8   rR  r   r*   r   r-   r)   rM   rN   rm   rQ   rS   r(   r0   rZ   r
   )r   rS  rU  r    r    r!   test_kwargs_obj_shape
  s    
z*TestCreateEArrayArgs.test_kwargs_obj_shapec          	   C   s   | j j| j| j| j| j| j| j| jd}| 	  | j 
| j| j}| }| |j| j | |j| jj | |j| jjd  | |j| j | |jj| jj | |j| j | t| j| d S )N)r*   r   r-   r(   r)   r   )r   r8   rR  r   r*   r   r-   r(   r)   rM   rN   rm   rQ   rS   r0   rZ   r
   )r   rS  rU  r    r    r!   test_kwargs_obj_atom_shape
  s     
z/TestCreateEArrayArgs.test_kwargs_obj_atom_shapec          	   C   s:   t jtd}| jt| jj| j	| j
| j| j|d d S )Ncomplex)r*   r-   r(   )r3   r4   
from_dtyper   r0   r7  	TypeErrorr   r8   rR  r   r*   r-   )r   r(   r    r    r!   test_kwargs_obj_atom_error
  s    z/TestCreateEArrayArgs.test_kwargs_obj_atom_errorc          	   C   s4   | j | j  }| jt| jj| j| j| j| j|d d S )N)r*   r-   r)   )	r)   r7  ra  r   r8   rR  r   r*   r-   )r   r)   r    r    r!   test_kwargs_obj_shape_error
  s    z0TestCreateEArrayArgs.test_kwargs_obj_shape_errorc          
   C   s>   t jtd}| jt| jj| j	| j
| j| j|| jd d S )Nr_  )r*   r-   r(   r)   )r3   r4   r`  r   r0   r7  ra  r   r8   rR  r   r*   r-   r)   )r   r(   r    r    r!   #test_kwargs_obj_atom_shape_error_01
  s    z8TestCreateEArrayArgs.test_kwargs_obj_atom_shape_error_01c          
   C   s8   | j | j  }| jt| jj| j| j| j| j| j	|d d S )N)r*   r-   r(   r)   )
r)   r7  ra  r   r8   rR  r   r*   r-   r(   )r   r)   r    r    r!   #test_kwargs_obj_atom_shape_error_02
  s    z8TestCreateEArrayArgs.test_kwargs_obj_atom_shape_error_02c          
   C   sH   t jtd}| j| j }| jt| jj	| j
| j| j| j||d d S )Nr_  )r*   r-   r(   r)   )r3   r4   r`  r   r0   r)   r7  ra  r   r8   rR  r   r*   r-   )r   r(   r)   r    r    r!   #test_kwargs_obj_atom_shape_error_03
  s    z8TestCreateEArrayArgs.test_kwargs_obj_atom_shape_error_03)"r5   r~   r   r   r   r-   rR  r   r3   r4   r`  r0   r(   r)   r*   r+   r,   r   r   rW  rT  rV  rX  rY  rZ  r[  r\  r]  r^  rb  rc  rd  re  rf  r    r    r    r!   rQ  	  s2   "rQ  c              C   sN  t  } d}xt|D ]}| t t | t t | t t | t t | t t	 | t t
 | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t | t t  | t t! | t t" | t t# | t t$ | t t% | t t& | t t' | t t( | t t) | t t* | t t+ | t t, | t t- | t t. | t t/ | t t0 | t t1 | t t2 qW t3j4rJ| t t5 | t t6 | t t7 | t t8 | t t9 | t t: | t t; | t t< | t t= | t t> | t t? | t t@ | t tA | t tB | t tC | t tD | t tE | t tF | t tG | t tH | S )Nr   )Ir   Z	TestSuiter   ZaddTestZ	makeSuiter   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r	  r
  r  r  r  r  r  r%  r&  r1  rG  rH  rI  rQ  r	   Zheavyr   r   r   r   rw   r   r   r   r   r   r   r  r  r  r  r  r  r  r/  r0  )ZtheSuiteZniternr    r    r!   suite
  s    rh  __main__)ZdefaultTest)mZ
__future__r   r   r   r   r   r3   r   r   r   r   Ztables.utilsr   Ztables.testsr	   Ztables.tests.commonr
   r   r   ZTestCaseZ	six.movesr   ZTempFileMixinr   r   r   r   r   r   r   r   r   r   r   r   ZskipIfZ	lzo_availr   Zblosc_availr   r   r   r   r   r   r   r   rw   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zbzip2_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%  r&  r'  r/  r0  r1  r:  rG  rH  rI  rQ  rh  r5   Z
parse_argvargvZprint_versionsmainr    r    r    r!   <module>   s        Y









	
			



	








5  Y  rY`H  }Q
