o
    e4                     @   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 Crypto.Cipher.CAST    N)bchr)CAST))0123456789abcdefZ238b4fe5847e44b2Z 0123456712345678234567893456789az128-bit key)r   Zeb6a711a2c02271bZ01234567123456782345z
80-bit key)r   Z7ac816d16e9b302eZ
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   PD:\Projects\ConvertPro\env\Lib\site-packages\Crypto/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   Zencrypt	bytearrayassertEqualZdecrypt
memoryviewr	   	TypeErrorr
   )r   cipherptctr   resZ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
   r)   __main__c                   C   s   t t S )N)unittestZ	TestSuiter)   r   r   r   r   <lambda>d   s    r,   suite)ZdefaultTest)__doc__r+   ZCrypto.Util.py3compatr   ZCrypto.Cipherr   r%   ZTestCaser   r   r)   r   r-   mainr   r   r   r   <module>   s   "