B
    i\ÉÚ ã               @   sÜ  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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mZ d dlmZmZ d d	lmZ d dlZd d
lmZ eZe d¡ dZdZG dd dej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-G d(d) d)e-Z.G d*d+ d+e"Z/G d,d- d-e/Z0G d.d/ d/e"Z1G d0d1 d1e1Z2G d2d3 d3e"Z3G d4d5 d5e3Z4G d6d7 d7e"Z5G d8d9 d9e5Z6G d:d; d;e"Z7G d<d= d=e"Z8G d>d? d?e"Z9G d@dA dAe"Z:G dBdC dCe"Z;G dDdE dEe"Z<G dFdG dGe"Z=G dHdI dIe"Z>G dJdK dKe"Z?G dLdM dMe"Z@G dNdO dOeZAdPZBdQZCG dRdS dSZDG dTdU dUZEG dVdW dWZFG dXdY dYZGdZd[d\d]gZHd^d_gZId`da ZJx@eJ D ]6\ZKZLZMeNdbdc eLD ZOePeKeOeMZQeRddeK  q@W G dedf dfej!eZSG dgdh dheZTdidj ZUeVdkkrØd dlWZWe XeWjY¡ e Z¡  ej[djdl dS )mé    )Úprint_function)Úabsolute_importN)Ú	StringColÚBoolColÚIntColÚFloatCol)Úcalc_chunksize)Úcommon)ÚverboseÚheavy)ÚunittestÚtest_filename)ÚPyTablesTestCase)Úrangeé   )é   é   é   é   iè  c               @   s6   e Zd ZedddZeddZeddZe	ddZ
dS )ÚSmallr   ó    )ÚitemsizeÚdfltr   )r   N)Ú__name__Ú
__module__Ú__qualname__r   Úvar1r   Úvar2r   Úvar3r   Úvar4© r    r    ú<lib/python3.7/site-packages/tables/tests/test_indexvalues.pyr   "   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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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/d0 Z d1d2 Z!d3d4 Z"d5d6 Z#d7d8 Z$d9d: Z%d;d< Z&d=d> Z'd?d@ Z(dAdB Z)dCdD Z*dEdF Z+dGdH Z,dIdJ Z-dKdL Z.dMdN Z/dOdP Z0  Z1S )QÚSelectValuesTestCaseé   Úzlibr   é
   NFc                s4   t t|  ¡  trtd| j | jj| _|  	¡  d S )NzChecking index kind-->)
Úsuperr"   ÚsetUpr
   ÚprintÚkindÚh5fileÚrootÚ	rootgroupÚpopulateFile)Úself)Ú	__class__r    r!   r'   4   s
    
zSelectValuesTestCase.setUpc          	   C   sF  | j rt| drt  | j¡ | j}d}tj| j| j| j| j	d}| j
j|dt||| j| jfd}| j
j|dt||| j| jfd}d}xtd| j| jD ]þ}xøt| jD ]ê}| j rÀt  | j¡}	n4| jd k	rðt| j}
||
krä||
; }| j| }	n|}	t|	 d¡}||jd	< ||jd	< |	d
 |jd< |	d
 |jd< |	|jd< |	|jd< t| j|	 d |jd< t| j|	 d |jd< |j ¡  |j ¡  |d7 }qšW qW | ¡  | ¡  | jrÐ| j|_| j|j| j 8  _x(t |j¡D ]}|j| j | j!d}qÞW t"rt#d|j t#d| | j$rB| j%dd | j
j&j'| _'| j
j&j'| _(d S )NÚseedzThis is the IndexArray title)Z	complevelÚcomplibÚshuffleÚ
fletcher32Útable1)Ú
chunkshapeÚtable2r   Úasciir   r   r   r   r#   r   )r)   Z_blocksizeszNumber of written rows:zNumber of indexed rows:Úa)Úmode))ÚrandomÚhasattrr0   r,   ÚtablesÚFiltersÚcompressr1   r2   r3   r*   Úcreate_tabler   Únrowsr5   r   ÚnrepÚ	randrangeÚvaluesÚlenÚstrÚencodeÚrowÚfloatÚappendÚflushÚ
buffersizeZ
nrowsinbufÚsixZ
itervaluesZcolinstancesÚcreate_indexr)   Ú
blocksizesr
   r(   ÚreopenÚ_reopenr+   r4   r6   )r.   ÚgroupÚtitleÚfiltersr4   r6   ÚcountÚiÚjÚkÚ	lenvaluesZbkÚcolZ	indexrowsr    r    r!   r-   =   sh    









z!SelectValuesTestCase.populateFilec                st  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}dd | d¡D } fdd|D }| ¡  | ¡  t rŒtd	| td
t| tdt| |  t|t|¡ |  ||¡ |jj}dd | d¡D } fdd|D }| ¡  | ¡  t r>td
t| tdt| |  t|t|¡ |  ||¡ |jj}dd | d¡D } fdd|D }| ¡  | ¡  t rÀtd
t| tdt| |  t|t|¡ |  ||¡ |jj}|  |dk	¡ dd | d¡D } fdd|D }| ¡  | ¡  t rPtd
t| tdt| |  t|t|¡ |  ||¡ dS )z7Checking selecting values from an Index (string flavor)Ú
z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01a...r7   c             S   s   g | ]}|d  qS )r   r    )Ú.0Úpr    r    r!   ú
<listcomp>   s    z0SelectValuesTestCase.test01a.<locals>.<listcomp>z(il<=t1var1)&(t1var1<=sl)c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )ÚilÚslr    r!   r]      s    zShould look like:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]      s    z(il<=t1var1)&(t1var1<sl)c                s0   g | ](} |d    kr k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]      s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ©   s    z(il<t1var1)&(t1var1<=sl)c                s0   g | ](} |d    k r krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   «   s    Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ž   s    z(il<t1var1)&(t1var1<sl)c                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   º   s    )r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   Úcolsr   ÚwhereÚsortrD   ÚassertEqualÚ
assertTrue)r.   r4   r6   Út1var1Úresults1Úresults2r    )r^   r_   r!   Útest01a{   sj    



zSelectValuesTestCase.test01ac                sz  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ |jj}dd | d¡D } fdd|D }| ¡  | ¡  t rªtd	  td
t| tdt| |  t|t|¡ |  ||¡ |jj}dd | d¡D } fdd|D }| ¡  | ¡  t r4td	  td
t| tdt| |  t|t|¡ |  ||¡ |jj}dd | d¡D } fdd|D }| ¡  | ¡  t rŸtd	  td
t| tdt| |  t|t|¡ |  ||¡ |jj}|  |dk	¡ dd | d¡D } fdd|D }| ¡  | ¡  t rVtd	  td
t| tdt| |  t|t|¡ |  ||¡ dS )z7Checking selecting values from an Index (string flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01b...r7   c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Õ   s    z0SelectValuesTestCase.test01b.<locals>.<listcomp>zt1var1 < slc                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Ö   s    zLimit:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ã   s    zt1var1 <= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ä   s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ñ   s    zt1var1 > slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ò   s    Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]      s    zt1var1 >= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    )r
   r(   r/   r   r*   r+   r4   r6   rE   r_   rF   r`   r   ra   rb   rD   rc   rd   )r.   r4   r6   re   rf   rg   r    )r_   r!   Útest01bÄ   sf    






zSelectValuesTestCase.test01bc             C   s®   t rtdd td| jj  | jjj}| jjj}|jj	}|  
|dk	¡ dd | d¡D }dd |D }t rtd	t| td
t| |  t|t|¡ |  ||¡ dS )z5Checking selecting values from an Index (bool flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test02a...Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test02a.<locals>.<listcomp>zt1var2 == Truec             S   s    g | ]}|d  dkr|d  qS )r   Tr    )r[   r\   r    r    r!   r]     s    zLength results:z
Should be:)r
   r(   r/   r   r*   r+   r4   r6   r`   r   rd   ra   rD   rc   )r.   r4   r6   Út1var2rf   rg   r    r    r!   Útest02a  s    


zSelectValuesTestCase.test02ac             C   s®   t rtdd td| jj  | jjj}| jjj}|jj	}|  
|dk	¡ dd | d¡D }dd |D }t rtd	t| td
t| |  t|t|¡ |  ||¡ dS )z5Checking selecting values from an Index (bool flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test02b...Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   .  s    z0SelectValuesTestCase.test02b.<locals>.<listcomp>zt1var2 == Falsec             S   s    g | ]}|d  dkr|d  qS )r   Fr    )r[   r\   r    r    r!   r]   /  s    zLength results:z
Should be:)r
   r(   r/   r   r*   r+   r4   r6   r`   r   rd   ra   rD   rc   )r.   r4   r6   rj   rf   rg   r    r    r!   Útest02b!  s    


zSelectValuesTestCase.test02bc                sF  t rtdd td| jj  | jjj}| jjj}t| j	 t| j
|jj}|  |dk	¡ dd | d¡D } fdd|D }| ¡  | ¡  t rŽtd	t| td
t| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r.td	t| td
t| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t rštd	t| td
t| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r"td	t| td
t| |  t|t|¡ |  ||¡ dS )z4Checking selecting values from an Index (int flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03a...Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   I  s    z0SelectValuesTestCase.test03a.<locals>.<listcomp>z(il<=t1col)&(t1col<=sl)c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   J  s    zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   W  s    z(il<=t1col)&(t1col<sl)c                s0   g | ](} |d    kr k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   X  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   e  s    z(il<t1col)&(t1col<=sl)c                s0   g | ](} |d    k r krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   f  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   s  s    z(il<t1col)&(t1col<sl)c                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   t  s    )r
   r(   r/   r   r*   r+   r4   r6   Úintr^   r_   r`   r   rd   ra   rb   rD   rc   )r.   r4   r6   Út1colrf   rg   r    )r^   r_   r!   Útest03a6  sZ    




zSelectValuesTestCase.test03ac                s\  t rtdd td| jj  | jjj}| jjj}t| j	 |j
j}|  |dk	¡ dd | d¡D } fdd|D }| ¡  | ¡  t r²td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r4td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r¶td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r8td	  td
t| tdt| |  t|t|¡ |  ||¡ dS )z4Checking selecting values from an Index (int flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03b...Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test03b.<locals>.<listcomp>z
t1col < slc                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    zLimit:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ¢  s    zt1col <= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   £  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ±  s    z
t1col > slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ²  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   À  s    zt1col >= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Á  s    )r
   r(   r/   r   r*   r+   r4   r6   rm   r_   r`   r   rd   ra   rb   rD   rc   )r.   r4   r6   rn   rf   rg   r    )r_   r!   Útest03b  s`    







zSelectValuesTestCase.test03bc                s\  t rtdd td| jj  | jjj}| jjj}t| j	 |j
j}|  |dk	¡ dd | d¡D } fdd|D }| ¡  | ¡  t r²td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r4td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r¶td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r8td	  td
t| tdt| |  t|t|¡ |  ||¡ dS )z5Checking selecting values from an Index (long flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03c...Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   á  s    z0SelectValuesTestCase.test03c.<locals>.<listcomp>z
t1col < slc                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]   â  s    zLimit:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ð  s    zt1col <= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ñ  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ÿ  s    z
t1col > slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]      s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    zt1col >= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    )r
   r(   r/   r   r*   r+   r4   r6   rm   r_   r`   r   rd   ra   rb   rD   rc   )r.   r4   r6   rn   rf   rg   r    )r_   r!   Útest03cÎ  s`    







zSelectValuesTestCase.test03cc                s\  t rtdd td| jj  | jjj}| jjj}t| j	 |j
j}|  |dk	¡ dd | d¡D } fdd|D }| ¡  | ¡  t r²td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r4td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r¶td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r8td	  td
t| tdt| |  t|t|¡ |  ||¡ dS )z=Checking selecting values from an Index (long and int flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test03d...Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   /  s    z0SelectValuesTestCase.test03d.<locals>.<listcomp>z
t1col < slc                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]   0  s    zLimit:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   >  s    zt1col <= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ?  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   M  s    z
t1col > slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   N  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   \  s    zt1col >= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ]  s    )r
   r(   r/   r   r*   r+   r4   r6   rm   r_   r`   r   rd   ra   rb   rD   rc   )r.   r4   r6   rn   rf   rg   r    )r_   r!   Útest03d  s`    







zSelectValuesTestCase.test03dc                sN  t rtdd td| jj  | jjj}| jjj}t| j	 t| j
|jj}|  |dk	¡ dd | d¡D } fdd|D }| ¡  | ¡  t rŽtd	t| td
t| |  t|t|¡ |  | ¡ | ¡ ¡ dd | d¡D } fdd|D }| ¡  | ¡  t r6td	t| td
t| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r°td	t| td
t| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r*td	t| td
t| |  t|t|¡ |  ||¡ dS )z6Checking selecting values from an Index (float flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test04a...Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   }  s    z0SelectValuesTestCase.test04a.<locals>.<listcomp>z(il<=t1col)&(t1col<=sl)c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ~  s    zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z(il<=t1col)&(t1col<sl)c                s0   g | ](} |d    kr k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]     s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z(il<t1col)&(t1col<=sl)c                s0   g | ](} |d    k r krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]     s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ©  s    z(il<t1col)&(t1col<sl)c                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ª  s    )r
   r(   r/   r   r*   r+   r4   r6   rH   r^   r_   r`   r   rd   ra   rb   rD   rc   )r.   r4   r6   rn   rf   rg   r    )r^   r_   r!   Útest04aj  sZ    




zSelectValuesTestCase.test04ac                s\  t rtdd td| jj  | jjj}| jjj}t| j	 |j
j}|  |dk	¡ dd | d¡D } fdd|D }| ¡  | ¡  t r²td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r4td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r¶td	  td
t| tdt| |  t|t|¡ |  ||¡ dd | d¡D } fdd|D }| ¡  | ¡  t r8td	  td
t| tdt| |  t|t|¡ |  ||¡ dS )z6Checking selecting values from an Index (float flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test04b...Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   É  s    z0SelectValuesTestCase.test04b.<locals>.<listcomp>z
t1col < slc                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Ê  s    zLimit:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Ø  s    zt1col <= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Ù  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ç  s    z
t1col > slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   è  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ö  s    zt1col >= slc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ÷  s    )r
   r(   r/   r   r*   r+   r4   r6   rH   r_   r`   r   rd   ra   rb   rD   rc   )r.   r4   r6   rn   rf   rg   r    )r_   r!   Útest04b¶  s`    







zSelectValuesTestCase.test04bc                s  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fd	d|D }| ¡  | ¡  t râtd
t| tdt| |  t|t|¡ |  | ¡ | ¡ ¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rtd
t| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t r>td
t| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rètd
t| tdt| |  t|t|¡ |  ||¡ dS )z>Checking get_where_list & itersequence (string, python flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test05a...r7   z(il<=t1col)&(t1col<=sl)Úpythonc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test05a.<locals>.<listcomp>c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]     s    zLength results:z
Should be:z(il<=t1col)&(t1col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   /  s    c                s0   g | ](} |d    kr k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   0  s    z(il<t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   C  s    c                s0   g | ](} |d    k r krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   D  s    z(il<t1col)&(t1col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Y  s    c                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   Z  s    N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   Úwill_query_use_indexingÚfzsetÚpathnameÚflavorÚget_where_listÚitersequencerb   rD   rc   )r.   r4   r6   rn   Ú	conditionÚrowList1rf   rg   r    )r^   r_   r!   Útest05a  s    






zSelectValuesTestCase.test05ac                sþ  t rtdd td| jj  | jjj}| jjj}t 	| j
¡ |jj}d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÖtd	  td
t| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rtd	  td
t| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t r.td	  td
t| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÚtd	  td
t| tdt| |  t|t|¡ |  ||¡ dS )zRChecking get_where_list & itersequence (numpy string lims & python
        flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test05b...zt1col<slru   c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test05b.<locals>.<listcomp>c                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    zLimit:zLength results:z
Should be:z	t1col<=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    zt1col>slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   §  s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   š  s    z	t1col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   »  s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Œ  s    N)r
   r(   r/   r   r*   r+   r4   r6   ÚnumpyZstring_r_   r`   r   rd   rv   rw   rx   ry   rz   r{   rb   rD   rc   )r.   r4   r6   rn   r|   r}   rf   rg   r    )r_   r!   Útest05bf  s    










zSelectValuesTestCase.test05bc             C   sÐ   t rtdd td| jj  | jjj}| jjj}|jj	}d}|  
| |¡t|jgk¡ d|_| |¡}dd | |¡D }dd |D }t r¬td	t| td
t| |  t|t|¡ |  ||¡ dS )z4Checking get_where_list & itersequence (bool flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test06a...zt1var2==Trueru   c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Ú  s    z0SelectValuesTestCase.test06a.<locals>.<listcomp>c             S   s    g | ]}|d  dkr|d  qS )r   Tr    )r[   r\   r    r    r!   r]   Û  s    zLength results:z
Should be:N)r
   r(   r/   r   r*   r+   r4   r6   r`   r   rd   rv   rw   rx   ry   rz   r{   rD   rc   )r.   r4   r6   rj   r|   r}   rf   rg   r    r    r!   Útest06aÈ  s&    



zSelectValuesTestCase.test06ac       	      C   sä   t rtdd td| jj  | jjj}| jjj}|jj	}t
 d¡}|  |¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D }d	d |D }t rÀtd
t| tdt| |  t|t|¡ |  ||¡ dS )zKChecking get_where_list & itersequence (numpy bool limits &
        flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test06b...Fzt1var2==falseru   c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ÷  s    z0SelectValuesTestCase.test06b.<locals>.<listcomp>c             S   s    g | ]}|d  dkr|d  qS )r   Fr    )r[   r\   r    r    r!   r]   ø  s    zLength results:z
Should be:N)r
   r(   r/   r   r*   r+   r4   r6   r`   r   r   Zbool_ÚassertFalserd   rv   rw   rx   ry   rz   r{   rD   rc   )	r.   r4   r6   rj   Zfalser|   r}   rf   rg   r    r    r!   Útest06bâ  s*    





zSelectValuesTestCase.test06bc                s   t rtdd td| jj  | jjj}| jjj}t| j	 t| j
|jj}d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÖtd	t| td
t| |  t|t|¡ |  | ¡ | ¡ ¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rtd	t| td
t| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t r2td	t| td
t| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÜtd	t| td
t| |  t|t|¡ |  ||¡ dS )z3Checking get_where_list & itersequence (int flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test07a...z(il<=t1col)&(t1col<=sl)ru   c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test07a.<locals>.<listcomp>c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]     s    zLength results:z
Should be:z(il<=t1col)&(t1col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   *  s    c                s0   g | ](} |d    kr k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   +  s    z(il<t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   >  s    c                s0   g | ](} |d    k r krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ?  s    z(il<t1col)&(t1col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   T  s    c                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   U  s    N)r
   r(   r/   r   r*   r+   r4   r6   rm   r^   r_   r`   r   rd   rv   rw   rx   ry   rz   r{   rb   rD   rc   )r.   r4   r6   rn   r|   r}   rf   rg   r    )r^   r_   r!   Útest07aÿ  s    








zSelectValuesTestCase.test07ac                sþ  t rtdd td| jj  | jjj}| jjj}t 	| j
¡ |jj}d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÖtd	  td
t| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rtd	  td
t| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t r.td	  td
t| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÚtd	  td
t| tdt| |  t|t|¡ |  ||¡ dS )zJChecking get_where_list & itersequence (numpy int limits &
        flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test07b...zt1col<slru   c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   z  s    z0SelectValuesTestCase.test07b.<locals>.<listcomp>c                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]   {  s    zLimit:zLength results:z
Should be:z	t1col<=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    zt1col>slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ¢  s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   £  s    z	t1col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ¶  s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ·  s    N)r
   r(   r/   r   r*   r+   r4   r6   r   Zuint16r_   r`   r   rd   rv   rw   rx   ry   rz   r{   rb   rD   rc   )r.   r4   r6   rn   r|   r}   rf   rg   r    )r_   r!   Útest07ba  s    










zSelectValuesTestCase.test07bc                s   t rtdd td| jj  | jjj}| jjj}t| j	 t| j
|jj}d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÖtd	t| td
t| |  t|t|¡ |  | ¡ | ¡ ¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rtd	t| td
t| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t r2td	t| td
t| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ d|_| |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÜtd	t| td
t| |  t|t|¡ |  ||¡ dS )z5Checking get_where_list & itersequence (float flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test08a...z(il<=t1col)&(t1col<=sl)ru   c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Ü  s    z0SelectValuesTestCase.test08a.<locals>.<listcomp>c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   Ý  s    zLength results:z
Should be:z(il<=t1col)&(t1col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ð  s    c                s0   g | ](} |d    kr k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ñ  s    z(il<t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    c                s0   g | ](} |d    k r krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]     s    z(il<t1col)&(t1col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    c                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]     s    N)r
   r(   r/   r   r*   r+   r4   r6   rH   r^   r_   r`   r   rd   rv   rw   rx   ry   rz   r{   rb   rD   rc   )r.   r4   r6   rn   r|   r}   rf   rg   r    )r^   r_   r!   Útest08aÄ  s    








zSelectValuesTestCase.test08ac                sø  t rtdd td| jj  | jjj}| jjj}t 	| j
¡ |jj}d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÐtd  td	t| td
t| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t r|td  td	t| td
t| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t r(td  td	t| td
t| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ | |¡}dd | |¡D } fdd|D }| ¡  | ¡  t rÔtd  td	t| td
t| |  t|t|¡ |  ||¡ dS )zLChecking get_where_list & itersequence (numpy float limits &
        flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test08b...zt1col<slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   =  s    z0SelectValuesTestCase.test08b.<locals>.<listcomp>c                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]   >  s    zLimit:zLength results:z
Should be:z	t1col<=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   P  s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Q  s    zt1col>slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   c  s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   d  s    z	t1col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   v  s    c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   w  s    N)r
   r(   r/   r   r*   r+   r4   r6   r   Zfloat64r_   r`   r   rd   rv   rw   rx   rz   r{   rb   rD   rc   )r.   r4   r6   rn   r|   r}   rf   rg   r    )r_   r!   Útest08b%  s    










zSelectValuesTestCase.test08bc                sî  t rtdd td| jj  | jjj}| jjj}| ¡  t	| j
 d¡ t	| j d¡|jj}|  |dk	¡ d}|  | |¡ ¡ dd |j|d	d
dD }fdd| d	d
¡D }t rätd tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|d	dd	dD } fdd| d	dd	¡D }t rtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|d	ddD } fdd| d	d¡D }t r&td  td tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|d	dddD }fdd| d	dd¡D }t rÂtd  tdt| tdt| |  t|t|¡ |  ||¡ | ¡  dS )z,Checking non-indexed where() (string flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test09a...r7   Nz	t1col<=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test09a.<locals>.<listcomp>r   r%   )ÚstartÚstopc                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    zLimit:zLength results:z
Should be:z(il<t1col)&(t1col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   š  s    é   )r   r   Ústepc                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ª  s    zLimits:z(il>t1col)&(t1col>sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ·  s    éûÿÿÿc                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   º  s    z	t1col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Ú  s    éÿÿÿÿé   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Ü  s    )r
   r(   r/   r   r*   r+   r4   r6   Ú_disable_indexing_in_queriesrE   r^   rF   r_   r`   r   rd   rv   ra   ÚiterrowsrD   rc   Ú_enable_indexing_in_queries)r.   r4   r6   rn   r|   rf   rg   r    )r^   r_   r!   Útest09a  sn    





zSelectValuesTestCase.test09ac                sÒ  t rtdd td| jj  | jjj}| jjj}| ¡  t	| j
 t	| j|jj}|  |dk	¡ d}|  | |¡ ¡ dd |j|dd	d
D }fdd| dd	¡D }t rØtd tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|ddddD } fdd| ddd¡D }t rttd tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|ddd
D } fdd| dd¡D }t rtd tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|ddddD }fdd| ddd¡D }t rŠtd tdt| tdt| |  t|t|¡ |  ||¡ | ¡  dS )z+Checking non-indexed where() (float flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test09b...Nzt1col<slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test09b.<locals>.<listcomp>r   é   )r   r   c                s    g | ]}|d   k r|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    zLimit:zLength results:z
Should be:z(il<t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    r   )r   r   r   c                s0   g | ](} |d    k r krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]     s    z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   !  s    z	t1col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   .  s    r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   0  s    )r
   r(   r/   r   r*   r+   r4   r6   r   rH   r^   r_   r`   r   rd   rv   ra   r   rD   rc   r   )r.   r4   r6   rn   r|   rf   rg   r    )r^   r_   r!   Útest09bê  sl    








zSelectValuesTestCase.test09bc                s*  t rtdd td| jj  | jjj}| jjj}| ¡  t	| j
 d¡}t	| j d¡ |jj}|  |dk	¡ d}|  | |¡ ¡ dd |j|d	d
ddD } fdd| d	d
d¡D }| ¡  | ¡  t rútd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|dd
ddD } fdd| dd
d¡D }| ¡  | ¡  t rŠtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|ddddD } fdd| ddd¡D }| ¡  | ¡  t rRtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|d	d
ddD } fdd| d	d
d¡D }| ¡  | ¡  t rþtd|  tdt| tdt| |  t|t|¡ |  ||¡ | ¡  dS )zJCheck non-indexed where() w/ ranges, changing step
        (string flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test09c...r7   Nz	t1col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   V  s    z0SelectValuesTestCase.test09c.<locals>.<listcomp>r   r   r   )r   r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   X  s    zLimits:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   h  s    r   r%   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   j  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   z  s    éýÿÿÿé   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   |  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    i,  c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    )r
   r(   r/   r   r*   r+   r4   r6   r   rE   r^   rF   r_   r`   r   rd   rv   ra   r   rb   rD   rc   r   )r.   r4   r6   r^   rn   r|   rf   rg   r    )r_   r!   Útest09c>  s~    


zSelectValuesTestCase.test09cc                s  t rtdd td| jj  | jjj}| jjj}| ¡  t	| j
}t	| j |jj}|  |dk	¡ d}|  | |¡ ¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rîtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|dd	ddD } fdd| dd	d¡D }| ¡  | ¡  t rtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|ddddD } fdd| ddd¡D }| ¡  | ¡  t rFtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡ ¡ dd |j|dd	ddD } fdd| dd	d¡D }| ¡  | ¡  t ròtd|  tdt| tdt| |  t|t|¡ |  ||¡ | ¡  dS )zJChecking non-indexed where() w/ ranges, changing step
        (int flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test09d...Nz	t3col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ž  s    z0SelectValuesTestCase.test09d.<locals>.<listcomp>r   r   r   )r   r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   º  s    zLimits:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Ê  s    r   r%   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Ì  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Ü  s    r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   Þ  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   î  s    i,  c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ð  s    )r
   r(   r/   r   r*   r+   r4   r6   r   rm   r^   r_   r`   r   rd   rv   ra   r   rb   rD   rc   r   )r.   r4   r6   r^   Út3colr|   rf   rg   r    )r_   r!   Útest09d   s~    




zSelectValuesTestCase.test09dc                sü  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ dd |j|dd	d
D }fdd| dd	¡D }| ¡  | ¡  t rêtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddddD } fdd| ddd¡D }| ¡  | ¡  t r¢td  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddddD } fdd| ddd¡D }| ¡  | ¡  t rntd  td| td| tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddd
D } fdd| dd¡D }| ¡  | ¡  t r"td  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddd dD }fd!d| ddd ¡D }| ¡  | ¡  t rØtd  tdt| tdt| |  t|t|¡ |  ||¡ d"S )#z4Checking indexed where() with ranges (string flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test10a...r7   z	t1col<=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test10a.<locals>.<listcomp>r   r%   )r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    zLimits:zLength results:z
Should be:z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   .  s    r   r#   )r   r   r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   2  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   F  s    c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   J  s    zSelection results (indexed):zShould look like:z(il<t1col)&(t1col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   `  s    r   c                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   c  s    z	t1col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   w  s    r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   {  s    N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   rn   r|   rf   rg   r    )r^   r_   r!   Útest10a  sŠ    




zSelectValuesTestCase.test10ac                s$  t rtdd td| jj  | jjj}| jjj}t| j	 t| j
|jj}d}|  | |¡t|jgk¡ dd |j|ddd	D }fd
d| dd¡D }| ¡  | ¡  t rÞtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddddD } fdd| ddd¡D }| ¡  | ¡  t rtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddd	D } fdd| dd¡D }| ¡  | ¡  t rJtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddddD }fdd| ddd¡D }| ¡  | ¡  t r td  tdt| tdt| |  t|t|¡ |  ||¡ dS )z1Checking indexed where() with ranges (int flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test10b...z	t3col<=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    z0SelectValuesTestCase.test10b.<locals>.<listcomp>r   r%   )r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ¢  s    zLimits:zLength results:z
Should be:z(il<=t3col)&(t3col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ¶  s    r   )r   r   r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   º  s    z(il<t3col)&(t3col<sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Î  s    r   c                s0   g | ](} |d    k r k rn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   Ñ  s    z	t3col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ä  s    r#   r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   æ  s    N)r
   r(   r/   r   r*   r+   r4   r6   rm   r^   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   r   r|   rf   rg   r    )r^   r_   r!   Útest10b  s    




zSelectValuesTestCase.test10bc                s4  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡}t| j 
d¡ |jj}d}|  | |¡t|jgk¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rîtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|dd	ddD } fdd| dd	d¡D }| ¡  | ¡  t r€td|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddddD } fdd| ddd¡D }| ¡  | ¡  t rZtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|dd	ddD } fdd| dd	d¡D }| ¡  | ¡  t rtd|  tdt| tdt| |  t|t|¡ |  ||¡ dS )zKChecking indexed where() with ranges, changing step (string
        flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test10c...r7   z	t1col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   
  s    z0SelectValuesTestCase.test10c.<locals>.<listcomp>r   r   r   )r   r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    zLimits:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    r   r%   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]      s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   2  s    r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   4  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   F  s    i,  c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   H  s    N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   r^   rn   r|   rf   rg   r    )r_   r!   Útest10có  s    


zSelectValuesTestCase.test10cc                s(  t rtdd td| jj  | jjj}| jjj}t| j	}t| j
 |jj}d}|  | |¡t|jgk¡ dd |j|ddd	d
D } fdd| ddd	¡D }| ¡  | ¡  t râtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|dddd
D } fdd| ddd¡D }| ¡  | ¡  t rtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|dddd
D } fdd| ddd¡D }| ¡  | ¡  t rNtd|  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|dddd
D } fdd| ddd¡D }| ¡  | ¡  t rtd|  tdt| tdt| |  t|t|¡ |  ||¡ dS )z@Checking indexed where() with ranges, changing step (int flavor)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test10d...z	t3col>=slc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   k  s    z0SelectValuesTestCase.test10d.<locals>.<listcomp>r   r   r   )r   r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   m  s    zLimits:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    r   r%   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    r   r   c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]     s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   §  s    i,  c                s    g | ]}|d   kr|d  qS )r   r    )r[   r\   )r_   r    r!   r]   ©  s    N)r
   r(   r/   r   r*   r+   r4   r6   rm   r^   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   r^   r   r|   rf   rg   r    )r_   r!   Útest10dU  s    




zSelectValuesTestCase.test10dc                s   t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ | |¡}d|_|j|dd} fd	d
|D }| ¡  | ¡  t rÜtdt| tdt| |  t|t|¡ |  ||¡ dS )z>Checking selecting values from an Index via read_coordinates()rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test11a...r7   z(il<=t1var1)&(t1var1<=sl)ru   r   )Zfieldc                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   Î  s    z0SelectValuesTestCase.test11a.<locals>.<listcomp>zLength results:z
Should be:N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   rz   ry   Zread_coordinatesrb   rD   rc   )r.   r4   r6   re   r|   Zcoords1rf   rg   r    )r^   r_   r!   Útest11a¶  s.    



zSelectValuesTestCase.test11ac                sê  t rtdd td| jj  | jjj}| jjj}d}xtd| j	d | j
D ]ø}xòt| j
D ]ä}| jrvt | j	¡}n4| jdk	rŠt| j}||kr||; }| j| }n|}t||jd< t||jd< |d |jd< |d |jd< ||jd	< ||jd	< t| j	| d
 |jd< t| j	| d
 |jd< |j ¡  |j ¡  |d
7 }q^W qNW | ¡  | ¡  |jj}|jj}	|jj}
|jj}|  |jj¡ |  |	jj¡ |  |
jj¡ |  |jj¡ t| j d¡ t| j d¡dd | d¡D } fdd|D }|  ¡  |  ¡  t r6td| tdt| tdt| |  !t|t|¡ |  !||¡ dd | d¡D }dd |D }t rtdt| tdt| |  !t|t|¡ |  !||¡ t"| j t"| j|jj}
dd | d¡D } fdd|D }|  ¡  |  ¡  t r0tdt| tdt| |  !t|t|¡ |  !||¡ t| j t| jdd | d¡D } fdd|D }|  ¡  |  ¡  t rŸtdt| tdt| |  !t|t|¡ |  !|  ¡ |  ¡ ¡ dS )z;Checking selecting values after a Table.append() operation.rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test12a...r   r   Nr   r   r   r#   r   r7   c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   	  s    z0SelectValuesTestCase.test12a.<locals>.<listcomp>z(il<=t1var1)&(t1var1<=sl)c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   	  s    zShould look like:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   	  s    zt1var2 == Truec             S   s    g | ]}|d  dkr|d  qS )r   Tr    )r[   r\   r    r    r!   r]   	  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   (	  s    z(il<=t1var3)&(t1var3<=sl)c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   *	  s    c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   <	  s    z(il<=t1var4)&(t1var4<=sl)c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   >	  s    )#r
   r(   r/   r   r*   r+   r4   r6   r   r@   rA   r:   rB   rC   rD   rE   rG   rH   rI   rJ   r`   r   r   r   r   r   ÚindexZdirtyr^   rF   r_   ra   rb   rc   rm   )r.   r4   r6   rT   rU   rV   rW   rX   re   rj   Zt1var3Zt1var4rf   rg   r    )r^   r_   r!   Útest12aØ  s€    

















zSelectValuesTestCase.test12ac                sÌ  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rðtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|dd	ddD } fdd| dd	d¡D }| ¡  | ¡  t rštd  tdt| tdt| |  t|t|¡ |  ||¡ dS )z+Checking repeated queries (checking caches)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test13a...r7   z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   _	  s    z0SelectValuesTestCase.test13a.<locals>.<listcomp>r   r   r#   )r   r   r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   c	  s    zLimits:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   w	  s    c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   {	  s    N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   rn   r|   rf   rg   r    )r^   r_   r!   Útest13aJ	  sL    


zSelectValuesTestCase.test13ac                sÌ  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rðtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|dd	ddD } fdd| dd	d¡D }| ¡  | ¡  t rštd  tdt| tdt| |  t|t|¡ |  ||¡ dS )z9Checking repeated queries, varying step (checking caches)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test13b...r7   z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   	  s    z0SelectValuesTestCase.test13b.<locals>.<listcomp>r   r   r#   )r   r   r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ¢	  s    zLimits:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ¶	  s    c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   º	  s    N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   rn   r|   rf   rg   r    )r^   r_   r!   Útest13b	  sL    


zSelectValuesTestCase.test13bc                sÌ  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rðtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|ddd	dD } fdd| ddd	¡D }| ¡  | ¡  t rštd  tdt| tdt| |  t|t|¡ |  ||¡ dS )z5Checking repeated queries, varying start, stop, step.rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test13c...r7   z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Ý	  s    z0SelectValuesTestCase.test13c.<locals>.<listcomp>r   r#   r   )r   r   r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   à	  s    zLimits:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ô	  s    r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ÷	  s    N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   rn   r|   rf   rg   r    )r^   r_   r!   Útest13cÈ	  sH    


zSelectValuesTestCase.test13cc                sÌ  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ dd |j|dd	d	d
D } fdd| dd	d	¡D }| ¡  | ¡  t rðtd  tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|dd	d	d
D } fdd| dd	d	¡D }| ¡  | ¡  t rštd  tdt| tdt| |  t|t|¡ |  ||¡ dS )zLChecking repeated queries, varying start, stop, step (another
        twist)rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test13d...r7   z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   
  s    z0SelectValuesTestCase.test13d.<locals>.<listcomp>r   r#   )r   r   r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   
  s    zLimits:zLength results:z
Should be:c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   3
  s    c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   6
  s    N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   rn   r|   rf   rg   r    )r^   r_   r!   Útest13d
  sH    


zSelectValuesTestCase.test13dc                sØ  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rðtd  tdt| tdt| |  t|t|¡ |  ||¡ |jj}d}|  | |¡t|j|jgk¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rŽtd  tdt| tdt| |  t|t|¡ |  ||¡ dS )z2Checking repeated queries, with varying condition.rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test13e...r7   z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Y
  s    z0SelectValuesTestCase.test13e.<locals>.<listcomp>r   r%   r#   )r   r   r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ]
  s    zLimits:zLength results:z
Should be:z%(il<=t1col)&(t1col<=sl)&(t2col==True)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   r
  s    c                s<   g | ]4} |d    kr krn q|d dkr|d  qS )r   r   Tr    )r[   r\   )r^   r_   r    r!   r]   v
  s    N)r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   r   )r.   r4   r6   rn   r|   rf   rg   Út2colr    )r^   r_   r!   Útest13eD
  sN    


zSelectValuesTestCase.test13ec                sº  t rtdd td| jj  | jjj}| jjj}|jj	 
¡  |jj	 
¡  t| j d¡t| j d¡|jj}|jj	}|  |dk	¡ d}|  | |¡t|jgk¡ dd |j|d	d
ddD }fdd| d	d
d¡D }| ¡  | ¡  t r td tdt| tdt| |  t|t|¡ |  ||¡ d}|  | |¡t|jgk¡ dd |j|d	d
ddD }fdd| d	d
d¡D }| ¡  | ¡  t rØtd tdt| tdt| |  t|t|¡ |  ||¡ d d}|  | |¡t|jgk¡ dd |j|d	d
ddD } fdd| d	d
d¡D }| ¡  | ¡  t rtd tdt| tdt| |  t|t|¡ |  ||¡ dS )z2Checking repeated queries, with varying condition.rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test13f...r7   Nz%(il<=t1col)&(t1col<=sl)&(t2col==True)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   
  s    z0SelectValuesTestCase.test13f.<locals>.<listcomp>r   r%   r#   )r   r   r   c                s<   g | ]4} |d    kr krn q|d dkr|d  qS )r   r   Tr    )r[   r\   )r^   r_   r    r!   r]   ¡
  s    zLimits:zLength results:z
Should be:z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   Ž
  s    c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   ¶
  s    Tz)(il<=t1col)&(t1col<=sl)&(t2col==constant)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   É
  s    c                s<   g | ]4}|d    kr krn q|d  kr|d  qS )r   r   r    )r[   r\   )Úconstantr^   r_   r    r!   r]   Ë
  s    )r
   r(   r/   r   r*   r+   r4   r6   r`   r   Zremove_indexrE   r^   rF   r_   r   rd   rv   rw   rx   ra   r   rb   rD   rc   )r.   r4   r6   rn   r¥   r|   rf   rg   r    )r§   r^   r_   r!   Útest13f
  st    


 zSelectValuesTestCase.test13fc                s  t rtdd td| jj  | jjj}| jjj}t| j	 
d¡ t| j 
d¡|jj}d}|  | |¡t|jgk¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rðtd  tdt| tdt| |  t|t|¡ |  ||¡ t| j	d
  
d¡t| jd  
d¡  |jj}|  |dk	¡ d}|  | |¡t|jgk¡ dd |j|dd	d
dD } fdd| dd	d
¡D }| ¡  | ¡  t rètd  tdt| tdt| |  t|t|¡ |  ||¡ dS )z1Checking repeated queries, with different limits.rZ   z<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test13g...r7   z(il<=t1col)&(t1col<=sl)c             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]   ì
  s    z0SelectValuesTestCase.test13g.<locals>.<listcomp>r   r%   r#   )r   r   r   c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]   î
  s    zLimits:zLength results:z
Should be:r   Nc             S   s   g | ]}|d  qS )r   r    )r[   r\   r    r    r!   r]     s    c                s0   g | ](} |d    kr krn q|d  qS )r   r    )r[   r\   )r^   r_   r    r!   r]     s    )r
   r(   r/   r   r*   r+   r4   r6   rE   r^   rF   r_   r`   r   rd   rv   rw   rx   ra   r   rb   rD   rc   r   )r.   r4   r6   rn   r|   rf   rg   r¥   r    )r^   r_   r!   Útest13gØ
  sT    


zSelectValuesTestCase.test13g)2r   r   r   r>   r1   r2   r3   r5   rK   r:   rC   rO   r'   r-   rh   ri   rk   rl   ro   rp   rq   rr   rs   rt   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©   Ú__classcell__r    r    )r/   r!   r"   )   s^   	>IHJNNNLNbbbca^gTbb jba"r??=?@Tr"   c               @   s4   e Zd ZeZdZdZed ZeZdZ	eZ
dZeZdS )ÚSV1aTestCaser#   r   r   N)r   r   r   Úsmall_blocksizesrN   r5   rK   Ússr@   rO   rA   r^   r_   r    r    r    r!   r«     s   r«   c               @   s,   e Zd ZeeddZed d Zed ZdS )ÚSV1bTestCaser#   )Úmemlevelr   i   r   N)r   r   r   r   ÚminRowIndexrN   r5   rK   r    r    r    r!   r®      s   r®   c               @   s<   e Zd ZeZdZdZed Zed d ZdZ	dZ
dZdZdS )ÚSV2aTestCaser   r#   r   N)r   r   r   r¬   rN   r5   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   r±   &  s   r±   c               @   s,   e Zd ZeeddZed d Zed ZdS )ÚSV2bTestCaser#   )r¯   r   é   é   N)r   r   r   r   r°   rN   r5   rK   r    r    r    r!   r²   2  s   r²   c               @   s<   e Zd ZeZdZdZed Zed d ZdZ	dZ
dZdZdS )ÚSV3aTestCaser   r   r   r#   r   N)r   r   r   r¬   rN   r5   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   rµ   8  s   rµ   c               @   s    e Zd ZeeddZdZdZdS )ÚSV3bTestCaser#   )r¯   r   é	   N)r   r   r   r   r°   rN   r5   rK   r    r    r    r!   r¶   D  s   r¶   c               @   s4   e Zd ZeZdZed Zed ZdZdZ	dZ
eZdS )ÚSV4aTestCaser%   r   r   r   r#   N)r   r   r   r¬   rN   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   rž   L  s   rž   c               @   s    e Zd ZeeddZdZdZdS )ÚSV4bTestCaser#   )r¯   iô  iè  N)r   r   r   r   r°   rN   r5   rK   r    r    r    r!   r¹   X  s   r¹   c               @   s0   e Zd ZeZed Zed ZdZdZdZ	eZ
dS )ÚSV5aTestCaser   r   r   r#   N)r   r   r   r¬   rN   r­   r@   rO   rA   r^   r_   r    r    r    r!   rº   ^  s   rº   c               @   s   e Zd ZeeddZdS )ÚSV5bTestCaser#   )r¯   N)r   r   r   r   r°   rN   r    r    r    r!   r»   h  s   r»   c               @   s@   e Zd ZeZed Zed d ZdZed Zed Z	dZ
eZdS )ÚSV6aTestCaser   r   r#   r   r   r   N)r   r   r   r¬   rN   r­   r@   rO   ÚcsrA   r^   r_   r    r    r    r!   rŒ   l  s   rŒ   c               @   s   e Zd ZeeddZdS )ÚSV6bTestCaser#   )r¯   N)r   r   r   r   r°   rN   r    r    r    r!   rŸ   w  s   rŸ   c               @   sD   e Zd ZdZeZed Zed d ZdZed Z	e	d Z
dZeZdS )ÚSV7aTestCaser#   r   r   r   r   iöÿÿÿN)r   r   r   r:   r¬   rN   r­   r@   rO   rœ   rA   r^   r_   r    r    r    r!   r¿   {  s   r¿   c               @   s   e Zd ZeeddZdS )ÚSV7bTestCaser#   )r¯   N)r   r   r   r   r°   rN   r    r    r    r!   rÀ     s   rÀ   c               @   sL   e Zd ZdZdZeZed Zed d ZdZ	ed Z
e
d ZdZed ZdS )ÚSV8aTestCaser   r#   r   r   r   r%   N)r   r   r   r:   r5   r¬   rN   r­   r@   rO   rœ   rA   r^   r_   r    r    r    r!   rÁ     s   rÁ   c               @   s   e Zd ZdZeeddZdS )ÚSV8bTestCaser   r#   )r¯   N)r   r   r   r:   r   r°   rN   r    r    r    r!   rÂ     s   rÂ   c               @   sH   e Zd ZdZeZed Zed d ZdZed Z	e	d Z
dZed ZdS )	ÚSV9aTestCaser#   r   r   r   r   r   r%   N)r   r   r   r:   r¬   rN   r­   r@   rO   rœ   rA   r^   r_   r    r    r    r!   rÃ     s   rÃ   c               @   s   e Zd ZeeddZdS )ÚSV9bTestCaser#   )r¯   N)r   r   r   r   r°   rN   r    r    r    r!   rÄ   ©  s   rÄ   c               @   s8   e Zd ZdZeZdZdZed ZeZ	dZ
eZdZeZdS )ÚSV10aTestCaser#   r   r   N)r   r   r   r:   r¬   rN   r5   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   rÅ   ­  s   rÅ   c               @   s    e Zd ZeeddZdZdZdS )ÚSV10bTestCaser#   )r¯   r   é   N)r   r   r   r   r°   rN   r5   rK   r    r    r    r!   rÆ   º  s   rÆ   c            
   @   sL   e Zd Zddddddddddg
ZeZdZdZed ZeZ	dZ
eZdZeZd	S )
ÚSV11aTestCaser#   é   rÇ   r   r   r·   r   r   N)r   r   r   rC   r¬   rN   r5   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   rÈ   À  s   rÈ   c            
   @   sT   e Zd Zddddddddddg
ZdZdZeedd	Zed Z	e	Z
dZe	ZdZe	Zd
S )ÚSV11bTestCaser#   rÉ   rÇ   r   r   r·   r   r   )r¯   N)r   r   r   rC   r5   rK   r   r°   rN   r­   r@   rO   rA   r^   r_   r    r    r    r!   rÊ   Ð  s   rÊ   c            
   @   sL   e Zd Zddddddddddg
ZeZdZdZed ZeZ	dZ
eZdZeZdS )	ÚSV12aTestCaser   r#   r   r   r   r   r·   N)r   r   r   rC   r¬   rN   r5   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   rË   à  s   rË   c            
   @   sT   e Zd Zddddddddddg
ZeeddZdZdZed Z	e	Z
dZe	ZdZe	Zd	S )
ÚSV12bTestCaser   r#   r   r   r   r   r·   )r¯   N)r   r   r   rC   r   r°   rN   r5   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   rÌ   ñ  s   rÌ   c            
   @   sL   e Zd Zddddddddddg
ZeZdZdZed ZeZ	dZ
eZdZeZdS )	ÚSV13aTestCaser   rÉ   rÇ   r   r#   r   r   N)r   r   r   rC   r¬   rN   r5   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   rÍ     s   rÍ   c            
   @   sT   e Zd Zddddddddddg
ZeeddZdZdZed Z	e	Z
dZe	ZdZe	Zd	S )
ÚSV13bTestCaser   rÉ   rÇ   r   r#   )r¯   r%   r   N)r   r   r   rC   r   r°   rN   r5   rK   r­   r@   rO   rA   r^   r_   r    r    r    r!   rÎ     s   rÎ   c            
   @   sT   e Zd Zddddddddddg
ZeZdZdZed ZeZ	dZ
ed	 ZeZd
ZdZdS )ÚSV14aTestCaser#   rÉ   rÇ   r   r   r·   r   r   r   r   iô  N)r   r   r   rC   r¬   rN   r5   rK   r­   r@   rO   rœ   rA   r^   r_   r    r    r    r!   rÏ     s   rÏ   c            
   @   sd   e Zd Zddddddddddg
ZeeddZdZd	Zed
 Z	e	Z
dZdZdZed Ze	e d ZdS )ÚSV14bTestCaser#   rÉ   rÇ   r   r   r·   r   )r¯   r%   r   r   N)r   r   r   rC   r   r°   rN   r5   rK   r­   r@   rO   rA   r^   rœ   r_   r    r    r    r!   rÐ   *  s   rÐ   c               @   sH   e Zd ZdZdZeZed Zed d ZdZ	ed Z
e
d ZdZeZdS )	ÚSV15aTestCaser#   é·   r   r   r   r   iöÿÿÿN)r   r   r   r:   r0   r¬   rN   r­   r@   rO   rœ   rA   r^   r_   r    r    r    r!   rÑ   8  s   rÑ   c               @   sP   e Zd ZdZdZeeddZed Zed d Z	dZ
ed Zed ZdZe	ZdS )	ÚSV15bTestCaser#   i]  )r¯   r   r   r   iöÿÿÿN)r   r   r   r:   r0   r   r°   rN   r­   r@   rO   rœ   rA   r^   r_   r    r    r    r!   rÓ   J  s   rÓ   c                   sl   e Zd ZdZej d¡ e d¡ G dd dejZ	 fddZ
 fddZd	d
 Zdd Zdd Z  ZS )ÚLastRowReuseBuffersiÅ  r#   c               @   s   e Zd Ze ¡ ZdS )zLastRowReuseBuffers.RecordN)r   r   r   r<   ZInt16ColÚid1r    r    r    r!   ÚRecordc  s   rÖ   c                s$   t t|  ¡  t d¡| _d | _d S )Nz.h5)r&   rÔ   r'   ÚtempfileÚmktempÚh5fnamer*   )r.   )r/   r    r!   r'   f  s    zLastRowReuseBuffers.setUpc                s@   | j d k	r| j  ¡  tj | j¡r.t | j¡ tt|  	¡  d S )N)
r*   ÚcloseÚosÚpathÚexistsrÙ   Úremover&   rÔ   ÚtearDown)r.   )r/   r    r!   rß   k  s
    

zLastRowReuseBuffers.tearDownc          	   C   sÔ   t j| jddd| _| jjdd| jt  d¡d}tj 	dd	| j
¡}| |g¡ |jj ¡  xtt| j
D ]f}t 	d| j
d ¡}|| }| d
| ¡}|  t|dkd||||f ¡ |  ||kd|||f ¡ qfW d S )NÚwé@   )Únode_cache_slotsú/Útabler#   )rS   r   i   z	id1 == %szidx--> %s %s %s %sznrow not found: %s != %s, %s)r<   Ú	open_filerÙ   r*   r?   rÖ   r=   r   r:   ÚrandintÚnelemrI   r`   rÕ   rM   r   rz   rd   rD   )r.   ÚtarÕ   rU   ÚnrowÚvalueÚidxr    r    r!   Útest00_lrucacher  s    z#LastRowReuseBuffers.test00_lrucachec          	   C   sÔ   t j| jddd| _| jjdd| jt  d¡d}tj 	dd| j
¡}| |g¡ |jj ¡  xtt| j
D ]f}t 	d| j
d ¡}|| }| d	| ¡}|  t|dkd
||||f ¡ |  ||kd|||f ¡ qfW d S )Nrà   r   )râ   rã   rä   r#   )rS   i   z	id1 == %szidx--> %s %s %s %sznrow not found: %s != %s, %s)r<   rå   rÙ   r*   r?   rÖ   r=   r   r:   ræ   rç   rI   r`   rÕ   rM   r   rz   rd   rD   )r.   rè   rÕ   rU   ré   rê   rë   r    r    r!   Útest01_nocache  s    z"LastRowReuseBuffers.test01_nocachec          	   C   sÔ   t j| jddd| _| jjdd| jt  d¡d}tj 	dd	| j
¡}| |g¡ |jj ¡  xtt| j
D ]f}t 	d| j
d ¡}|| }| d
| ¡}|  t|dkd||||f ¡ |  ||kd|||f ¡ qfW d S )Nrà   iÀÿÿÿ)râ   rã   rä   r#   )rS   r   i   z	id1 == %szidx--> %s %s %s %sznrow not found: %s != %s, %s)r<   rå   rÙ   r*   r?   rÖ   r=   r   r:   ræ   rç   rI   r`   rÕ   rM   r   rz   rd   rD   )r.   rè   rÕ   rU   ré   rê   rë   r    r    r!   Útest02_dictcache  s    z$LastRowReuseBuffers.test02_dictcache)r   r   r   rç   r   r:   r0   r<   ÚIsDescriptionrÖ   r'   rß   rì   rí   rî   rª   r    r    )r/   r!   rÔ   \  s   
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Ó   c               @   s   e Zd ZdZdS )ÚUltraLightITableMixinZ
ultralightN)r   r   r   r)   r    r    r    r!   rð   À  s   rð   c               @   s   e Zd ZdZdS )ÚLightITableMixinZlightN)r   r   r   r)   r    r    r    r!   rñ   Ä  s   rñ   c               @   s   e Zd ZdZdS )ÚMediumITableMixinZmediumN)r   r   r   r)   r    r    r    r!   rò   È  s   rò   c               @   s   e Zd ZdZdS )ÚFullITableMixinZfullN)r   r   r   r)   r    r    r    r!   ró   Ì  s   ró   Z
UltraLightZLightZMediumZFullZNormalZHeavyc              c   sh   xbt D ]Z} xTtt D ]H}d| d tt d |f }d|  |f}tt|tkd}|||fV  qW qW d S )Nz%sI%s%sr   z%sITableMixin)r   )ÚckindsÚnormal_testsÚheavy_testsÚ
testlevelsr   ÚdictÚbool)ZckindZctestZ	classnameÚ
cbasenamesÚ	classdictr    r    r!   Ú
iclassdataÙ  s    
rü   c             c   s   | ]}t |V  qd S )N)Úeval)r[   Zcbaser    r    r!   ú	<genexpr>ç  s    rþ   z%s = class_c               @   s   e Zd ZdZdd ZdS )ÚBuffersizeMultipleChunksizerà   c          	   C   sæ  t j d¡ d}d}|| }t j|fdddgd}t  |¡|d< t jjd	d
|d|d< t j |¡|d< | j dd¡}| jj	|dt
t ¡ t ¡ tjddddd}| |¡ |  d¡ t  |d ¡d }t  |d ¡d }t  ||g¡}	d||f }
trtd|
  | jjjj}t  | |
¡d ¡}t j ||	¡ trRtd td||	f  tr`td |jj ¡  trztd xft|D ]Z}|j|
|| |d | d}t  |d ¡}t j t  |¡|	¡ trtd||	f  qW d S ) Nr   i`®
 iPÃ  )r   Úi8)Úor   )rê   Zf8)Zdtyper   ià±ÿÿihÅÿÿ)Úsizer  rê   rã   Úfoorä   r    )Úshape)r   r  rê   i )Zexpectedrowsr8   r   r#   z((o == %s) | (o == %s))zselecting values: %szselect entire table:zresult: %s	expected: %szindex the column ozselect via chunks)r   r   )r   r:   r0   ZzerosZarangeræ   Zrandnr*   Zcreate_groupr?   rø   r<   ZInt64Colr   rI   rP   ÚuniqueZarrayr
   r(   r+   r  rä   Z
read_whereZtestingZassert_almost_equalr`   r  rM   r   )r.   Únrœ   ZnchunksZarrZnoderä   Zv1Zv2ZresZselectorÚresultrU   r    r    r!   Útest01ð  sN    

z"BuffersizeMultipleChunksize.test01N)r   r   r   Z	open_moder  r    r    r    r!   rÿ   í  s   rÿ   c               @   s   e Zd Zdd ZdS )ÚSideEffectNumPyQuicksortc       
      C   sà   t d}t d¡}t ||¡ t |d¡}|jj}|jj	d d  }t
t |dk¡d }|jddd}|jj	 ¡  t
d	d
 | d¡D }trªt|| }	tdt|	|	 |  t|t|¡ | ¡  tj	 |¡rÜt |¡ d S )Nz
bug-idx.h5z.h5r8   rÇ   r   r6   iª
  )Znewnamer5   c             s   s   | ]}|j V  qd S )N)ré   )r[   Úrr    r    r!   rþ   2  s    z2SideEffectNumPyQuicksort.test01.<locals>.<genexpr>z	path == 6zndiff:)r   r×   rØ   r<   Z	copy_filerå   r+   rä   r`   rÜ   Úsetr   ra   ÚcopyrM   r
   Úsortedr(   rD   rc   rÚ   rÛ   rÝ   rÞ   )
r.   Zbug_fileZtmp_fileZh5r  ZvalsZnpvalsÚtZindexedZdiffsr    r    r!   r  &  s"    
zSideEffectNumPyQuicksort.test01N)r   r   r   r  r    r    r    r!   r	  $  s   r	  c              C   s¢   t  ¡ } d}xt|D ]}xNt D ]D}t|d }|jsNt  |¡}|  |¡ q"tr"t  |¡}|  |¡ q"W |  t  t¡¡ |  t  t	¡¡ |  t  t
¡¡ qW | S )Nr#   r   )r   Z	TestSuiter   rü   rý   r   Z	makeSuiteZaddTestrÔ   rÿ   r	  )ZtheSuiteZniterr  ZcdataÚclass_Zsuite_r    r    r!   ÚsuiteA  s    

r  Ú__main__)ZdefaultTest)\Z
__future__r   r   rÛ   r:   r×   r   r<   r   r   r   r   Ztables.idxutilsr   Ztables.testsr	   Ztables.tests.commonr
   r   r   r   r   ZTestCaserL   Z	six.movesr   Ú	frozensetrw   r0   r¬   r°   rï   r   ZTempFileMixinr"   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ü   Zcnamerú   ZcdictÚtupleZcbasesÚtyper  Úexecrÿ   r	  r  r   ÚsysZ
parse_argvÚargvZprint_versionsÚmainr    r    r    r!   Ú<module>   sŒ   
                      
Q7
