B
    _£eΒ  γ               @   s   d dl Z d dlmZ d dlT d dlmZ d dlmZm	Z	 G dd de j
ZG dd	 d	e j
ZG d
d de j
Zi fddZedkrdd Ze jdd dS )ι    N)Ϊ	unhexlify)Ϊ*)Ϊlist_test_cases)ΪpadΪunpadc               @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )ΪPKCS7_Testsc             C   sj   t tdd}|  |ttdk‘ t tddd}|  |ttdk‘ t|d}|  |tdk‘ d S )NΪ ι   Z04040404Zpkcs7)r   ΪbΪ
assertTrueΪuhr   )ΪselfΪpaddedΪback© r   ϊd/var/www/html/afkarena_new/venv/lib/python3.7/site-packages/Cryptodome/SelfTest/Util/test_Padding.pyΪtest1+   s    
zPKCS7_Tests.test1c             C   sL   t ttdd}|  |ttdk‘ t|d}|  |ttdk‘ d S )NΪ12345678r	   Z1234567804040404)r   r   r
   r   r   )r   r   r   r   r   r   Ϊtest23   s    
zPKCS7_Tests.test2c             C   sL   t ttdd}|  |ttdk‘ t|d}|  |ttdk‘ d S )NΪ123456r	   Ϊ12345601)r   r   r
   r   r   )r   r   r   r   r   r   Ϊtest39   s    
zPKCS7_Tests.test3c             C   sL   t ttdd}|  |ttdk‘ t|d}|  |ttdk‘ d S )NΪ
1234567890r	   Z1234567890030303)r   r   r
   r   r   )r   r   r   r   r   r   Ϊtest4?   s    
zPKCS7_Tests.test4c             C   s   |   ttttddd‘ d S )NZ12r	   Zpkcs8)ΪassertRaisesΪ
ValueErrorr   r   r
   )r   r   r   r   Ϊtestn1E   s    zPKCS7_Tests.testn1c             C   s,   |   tttdd‘ |   tttdd‘ d S )Nz   r	   r   )r   r   r   r
   )r   r   r   r   Ϊtestn2H   s    zPKCS7_Tests.testn2c             C   s@   |   tttdd‘ |   tttdd‘ |   tttdd‘ d S )Nz123456r	   z123456 z123456)r   r   r   r
   )r   r   r   r   Ϊtestn3L   s    zPKCS7_Tests.testn3N)
Ϊ__name__Ϊ
__module__Ϊ__qualname__r   r   r   r   r   r   r   r   r   r   r   r   )   s   r   c               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )Ϊ
X923_Testsc             C   sH   t tddd}|  |ttdk‘ t|dd}|  |tdk‘ d S )Nr   r	   Ϊx923Z00000004)r   r
   r   r   r   )r   r   r   r   r   r   r   S   s    zX923_Tests.test1c             C   sP   t ttddd}|  |ttdk‘ t|dd}|  |ttdk‘ d S )Nr   r	   r#   Z1234567800000004)r   r   r
   r   r   )r   r   r   r   r   r   r   Y   s    zX923_Tests.test2c             C   sP   t ttddd}|  |ttdk‘ t|dd}|  |ttdk‘ d S )Nr   r	   r#   r   )r   r   r
   r   r   )r   r   r   r   r   r   r   _   s    zX923_Tests.test3c             C   sP   t ttddd}|  |ttdk‘ t|dd}|  |ttdk‘ d S )Nr   r	   r#   Z1234567890000003)r   r   r
   r   r   )r   r   r   r   r   r   r   e   s    zX923_Tests.test4c             C   s\   |   tttddd‘ |   tttddd‘ |   tttddd‘ |   tttddd‘ d S )Nz123456r	   r#   z123456 z123456    r   )r   r   r   r
   )r   r   r   r   r   k   s    zX923_Tests.testn1N)r   r    r!   r   r   r   r   r   r   r   r   r   r"   Q   s
   r"   c               @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )ΪISO7816_Testsc             C   sH   t tddd}|  |ttdk‘ t|dd}|  |tdk‘ d S )Nr   r	   Ϊiso7816Z80000000)r   r
   r   r   r   )r   r   r   r   r   r   r   s   s    zISO7816_Tests.test1c             C   sP   t ttddd}|  |ttdk‘ t|dd}|  |ttdk‘ d S )Nr   r	   r%   Z1234567880000000)r   r   r
   r   r   )r   r   r   r   r   r   r   y   s    zISO7816_Tests.test2c             C   sP   t ttddd}|  |ttdk‘ t|dd}|  |ttdk‘ d S )Nr   r	   r%   Z12345680)r   r   r
   r   r   )r   r   r   r   r   r   r      s    zISO7816_Tests.test3c             C   sP   t ttddd}|  |ttdk‘ t|dd}|  |ttdk‘ d S )Nr   r	   r%   Z1234567890800000)r   r   r
   r   r   )r   r   r   r   r   r   r      s    zISO7816_Tests.test4c             C   s0   |   tttddd‘ |   tttddd‘ d S )Nu   123456Βr	   r%   r   )r   r   r   r
   )r   r   r   r   r      s    zISO7816_Tests.testn1N)r   r    r!   r   r   r   r   r   r   r   r   r   r$   q   s
   r$   c             C   s,   g }|t t7 }|t t7 }|t t7 }|S )N)r   r   r"   r$   )ΪconfigΪtestsr   r   r   Ϊ	get_tests   s
    r(   Ϊ__main__c               C   s   t  t ‘S )N)ΪunittestZ	TestSuiter(   r   r   r   r   Ϊ<lambda>   σ    r+   Ϊsuite)ZdefaultTest)r*   Ϊbinasciir   r   ZCryptodome.Util.py3compatZCryptodome.SelfTest.st_commonr   ZCryptodome.Util.Paddingr   r   ZTestCaser   r"   r$   r(   r   r-   Ϊmainr   r   r   r   Ϊ<module>"   s   ( 