a
    =_                     @   s   d dl mZ d dlmZ d dlmZ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dd Zedkrd dlZeej e  ejdd dS )    )common)verbose)unittesttest_filename)PyTablesTestCasec                       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 )IndexesTestCasec                    s@   t t|   | jjj| _| jjj| _d| _| jjj	j
j| _d S )Nr   )superr   setUpZh5fileroottable1table2ilcolsvar1indexZ	slicesizesl)self	__class__ Alib/python3.9/site-packages/tables/tests/test_index_backcompat.pyr	      s
    zIndexesTestCase.setUpc                 C   sD   | j jj}d| jv r&| |jjd nd| jv r@| |jjd dS )zChecking index version.Z2_0z2.0Z2_1z2.1N)r   r   r   h5fnameassertEqualr   Z
_v_version)r   t1var1r   r   r   test00_version   s
    


zIndexesTestCase.test00_versionc                    s   t jr tdd td| jj  | j}| j}t| j	d t| j
	d|jj}| | dd |dD } fdd|D }|  |  trtd	| td
t| tdt| | t|t| | || dS )zChecking string indexes.
<-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=zRunning %s.test01_string...asciic                 S   s   g | ]}|d  qS r   r   .0pr   r   r   
<listcomp>/       z1IndexesTestCase.test01_string.<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"   1   r#   Should look like:Length results:
Should be:N)r   r   printr   __name__r   r   strr   encoder   r   r   assertIsNotNonewheresortlenr   )r   r   r   r   results1results2r   r$   r   test01_string   s*    


zIndexesTestCase.test01_stringc                 C   s   t jr tdd td| jj  | j}| j}|jj}| 	| dd |
dD }dd |D }trtd| td	| td
t| tdt| | t|t| | || dS )zChecking bool indexes.r   r   zRunning %s.test02_bool...c                 S   s   g | ]}|d  qS )var2r   r   r   r   r   r"   H   r#   z/IndexesTestCase.test02_bool.<locals>.<listcomp>zt1var2 == Truec                 S   s    g | ]}|d  du r|d  qS )r3   Tr   r   r   r   r   r"   I   r#   zSelection results (index):r%   r&   r'   N)r   r   r(   r   r)   r   r   r   r3   r,   r-   r/   r   )r   r   r   Zt1var2r0   r1   r   r   r   test02_bool;   s     



zIndexesTestCase.test02_boolc                    s   t jr tdd td| jj  | j}| j}t| j t| j	|j
j}| | dd |dD } fdd|D }|  |  trtdt| td	t| | t|t| | || d
S )zChecking int indexes.r   r   zRunning %s.test03_int...c                 S   s   g | ]}|d  qS var3r   r   r   r   r   r"   e   r#   z.IndexesTestCase.test03_int.<locals>.<listcomp>(il<=t1col)&(t1col<=sl)c                    s0   g | ](} |d    kr krn q|d  qS r5   r   r   r$   r   r   r"   f   s   r&   r'   N)r   r   r(   r   r)   r   r   intr   r   r   r6   r,   r-   r.   r/   r   r   r   r   Zt1colr0   r1   r   r$   r   
test03_intR   s$    



zIndexesTestCase.test03_intc                    s   t jr tdd td| jj  | j}| j}t| j t| j	|j
j}| | dd |dD } fdd|D }|  |  trtdt| td	t| | t|t| | | |  d
S )zChecking float indexes.r   r   zRunning %s.test04_float...c                 S   s   g | ]}|d  qS var4r   r   r   r   r   r"      r#   z0IndexesTestCase.test04_float.<locals>.<listcomp>r7   c                    s0   g | ](} |d    kr krn q|d  qS r;   r   r   r$   r   r   r"      s   r&   r'   N)r   r   r(   r   r)   r   r   floatr   r   r   r<   r,   r-   r.   r/   r   r9   r   r$   r   test04_floatr   s$    



zIndexesTestCase.test04_float)
r)   
__module____qualname__r	   r   r2   r4   r:   r>   __classcell__r   r   r   r   r      s   	 r   c                   @   s   e Zd ZedZdS )Indexes2_0TestCasezindexes_2_0.h5Nr)   r?   r@   r   r   r   r   r   r   rB      s   rB   c                   @   s   e Zd ZedZdS )Indexes2_1TestCasezindexes_2_1.h5NrC   r   r   r   r   rD      s   rD   c                  C   s>   t  } d}t|D ]$}| t t | t t q| S )N   )r   Z	TestSuiterangeZaddTestZ	makeSuiterB   rD   )ZtheSuiteZniternr   r   r   suite   s    rH   __main__N)ZdefaultTest)Ztables.testsr   Ztables.tests.commonr   r   r   r   ZTestCaseZTestFileMixinr   rB   rD   rH   r)   sysZ
parse_argvargvZprint_versionsmainr   r   r   r   <module>   s    
