o
    Þý°j�  ã                   @   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rMdd„ Ze jdd� dS 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Ú é   Ú04040404Úpkcs7©r   ÚbÚ
assertTrueÚuhr   ©ÚselfÚpaddedÚback© r   ú˜/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/Cryptodome/SelfTest/Util/test_Padding.pyÚtest1+   s   
zPKCS7_Tests.test1c                 C   óL   t ttdƒƒdƒ}|  |ttdƒƒk¡ t|dƒ}|  |ttdƒƒk¡ d S )NÚ12345678r	   Ú1234567804040404©r   r   r   r   r   r   r   r   r   Útest23   ó   
zPKCS7_Tests.test2c                 C   r   )NÚ123456r	   Ú12345601r   r   r   r   r   Útest39   r   zPKCS7_Tests.test3c                 C   r   )NÚ
1234567890r	   Ú1234567890030303r   r   r   r   r   Útest4?   r   zPKCS7_Tests.test4c                 C   s   |   ttttdƒƒdd¡ d S )NÚ12r	   Ú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 )Nú123456r	   ú123456 z123456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                   @   ó4   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ ZdS )Ú
X923_Testsc                 C   óH   t tdƒddƒ}|  |ttdƒƒk¡ t|ddƒ}|  |tdƒk¡ d S )Nr   r	   Úx923Ú00000004r   r   r   r   r   r   S   ó   zX923_Tests.test1c                 C   óP   t ttdƒƒddƒ}|  |ttdƒƒk¡ t|ddƒ}|  |ttdƒƒk¡ d S )Nr   r	   r4   Ú1234567800000004r   r   r   r   r   r   Y   ó   zX923_Tests.test2c                 C   r7   )Nr   r	   r4   r   r   r   r   r   r   r   _   r9   zX923_Tests.test3c                 C   r7   )Nr    r	   r4   Ú1234567890000003r   r   r   r   r   r"   e   r9   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 )Nr+   r	   r4   r,   z123456    r   r)   r'   r   r   r   r(   k   s   zX923_Tests.testn1N©r.   r/   r0   r   r   r   r"   r(   r   r   r   r   r2   Q   ó    r2   c                   @   r1   )ÚISO7816_Testsc                 C   r3   )Nr   r	   Úiso7816Ú80000000r   r   r   r   r   r   s   r6   zISO7816_Tests.test1c                 C   r7   )Nr   r	   r>   Ú1234567880000000r   r   r   r   r   r   y   r9   zISO7816_Tests.test2c                 C   r7   )Nr   r	   r>   Ú12345680r   r   r   r   r   r      r9   zISO7816_Tests.test3c                 C   r7   )Nr    r	   r>   Ú1234567890800000r   r   r   r   r   r"   …   r9   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(   ‹   s   zISO7816_Tests.testn1Nr;   r   r   r   r   r=   q   r<   r=   c                 C   s,   g }|t tƒ7 }|t tƒ7 }|t tƒ7 }|S ©N)r   r   r2   r=   )ÚconfigÚtestsr   r   r   Ú	get_tests�   s
   rF   Ú__main__c                   C   s   t  tƒ ¡S rC   )ÚunittestÚ	TestSuiterF   r   r   r   r   Ú<lambda>—   s    rJ   Úsuite)ÚdefaultTest)rH   Úbinasciir   r   ÚCryptodome.Util.py3compatÚCryptodome.SelfTest.st_commonr   ÚCryptodome.Util.Paddingr   r   ÚTestCaser   r2   r=   rF   r.   rK   Úmainr   r   r   r   Ú<module>   s   !( þ