o
    Þý°j#  ã                   @   s’   d Z ddlZddlmZ ddlmZ ddlmZ ddlm	Z
 ddlmZ G dd	„ d	ejƒZi fd
d„ZedkrGddlZdd„ Zejdd� dS dS )z,Self-test suite for Cryptodome.Hash.SHA3_256é    N)Úhexlify)Úload_test_vectors)Úlist_test_cases)ÚSHA3_256)Úbc                   @   s   e Zd Zdd„ ZdS )ÚAPITestc                 C   s˜   t dƒ}tj|d d… d�}| ¡ }|  t|j|dd … ¡ tj|d� ¡ }tj|d d… dd�}|  | ¡ |¡ | |dd … ¡ |  | ¡ |¡ d S )NÚrrrrttté   )ÚdataT)r
   Úupdate_after_digest)r   ÚSHA3ÚnewÚdigestÚassertRaisesÚ	TypeErrorÚupdateÚassertEqual)ÚselfÚmsgÚhÚdig1Údig2© r   ú™/root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/Cryptodome/SelfTest/Hash/test_SHA3_256.pyÚtest_update_after_digest$   s   z APITest.test_update_after_digestN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   "   s    r   c                 C   sŽ   ddl m} g }tdddddd„ iƒpg }g }|D ]}|jd	kr%td
ƒ|_| t|jƒ|j|j	f¡ q||t
d|t
jdd�7 }|ttƒ7 }|S )Né   )Úmake_hash_tests)ÚHashr   zShortMsgKAT_SHA3-256.txtzKAT SHA-3 256Úlenc                 S   s   t | ƒS ©N)Úint)Úxr   r   r   Ú<lambda>>   s    zget_tests.<locals>.<lambda>r   Ú r   z2.16.840.1.101.3.4.2.8)Údigest_sizeÚoid)Úcommonr   r   r!   r   r   Úappendr   ÚmdÚdescr   r'   r   r   )Úconfigr   ÚtestsÚtest_vectorsÚ	test_dataÚtvr   r   r   Ú	get_tests6   s(   
ýý


þr2   Ú__main__c                   C   s   t  tƒ ¡S r"   )ÚunittestÚ	TestSuiter2   r   r   r   r   r%   O   s    r%   Úsuite)ÚdefaultTest)Ú__doc__r4   Úbinasciir   ÚCryptodome.SelfTest.loaderr   ÚCryptodome.SelfTest.st_commonr   ÚCryptodome.Hashr   r   ÚCryptodome.Util.py3compatr   ÚTestCaser   r2   r   r6   Úmainr   r   r   r   Ú<module>   s   ý