o
    Þý°jÛ  ã                   @   s€   d Z ddlZddlmZ ddlmZ g d¢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 dS )z*Self-test suite for Cryptodome.Cipher.CASTé    N)Úbchr)ÚCAST))Ú0123456789abcdefÚ238b4fe5847e44b2Ú 0123456712345678234567893456789az128-bit key)r   Úeb6a711a2c02271bÚ01234567123456782345z
80-bit key)r   Ú7ac816d16e9b302eÚ
0123456712z
40-bit keyc                   @   ó   e Zd Zdd„ ZdS )Ú	KeyLengthc                 C   s<   |   ttjtdƒd tj¡ |   ttjtdƒd tj¡ d S )Nr   é   é   )ÚassertRaisesÚ
ValueErrorr   Únewr   ÚMODE_ECB)Úself© r   ú—/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/Cryptodome/SelfTest/Cipher/test_CAST.pyÚrunTest4   s    zKeyLength.runTestN©Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   2   ó    r   c                   @   r   )Ú
TestOutputc                 C   s  t  dt j¡}d}| |¡}tdƒ}|j||d�}|  ||¡ |  |d ¡ |j||d�}|  ||¡ |  |d ¡ ttdƒƒ}|j||d� |  ||¡ |j||d� |  ||¡ | jt	|j|dd� | jt	|j|dd� tdƒ}| jt
|j||d� | jt
|j||d� d S )Ns   4444444444444444s   5555555555555555é   )Úoutputs   0000000000000000é   )r   r   r   ÚencryptÚ	bytearrayÚassertEqualÚdecryptÚ
memoryviewr   Ú	TypeErrorr   )r   ÚcipherÚptÚctr   ÚresÚshorter_outputr   r   r   r   ;   s(   
zTestOutput.runTestNr   r   r   r   r   r   9   r   r   c                 C   s4   ddl m} |tdtƒ}| tƒ ¡ | tƒ ¡ |S )Né   )Úmake_block_testsr   )Úcommonr,   r   Ú	test_dataÚappendr   r   )Úconfigr,   Útestsr   r   r   Ú	get_tests[   s
   r2   Ú__main__c                   C   s   t  tƒ ¡S )N)ÚunittestÚ	TestSuiter2   r   r   r   r   Ú<lambda>d   s    r6   Úsuite)ÚdefaultTest)Ú__doc__r4   ÚCryptodome.Util.py3compatr   ÚCryptodome.Cipherr   r.   ÚTestCaser   r   r2   r   r7   Úmainr   r   r   r   Ú<module>   s   "þ