U
    g#                     @   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rddlZdd Zejdd 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 )NZrrrrttt   )dataT)r	   Zupdate_after_digest)r   SHA3newdigestassertRaises	TypeErrorupdateassertEqual)selfmsghZdig1Zdig2 r   J/tmp/pip-unpacked-wheel-_q8s9isk/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 ]2}|jd	krJtd
|_|t|j|j|j	f q2||t
d|t
jdd7 }|tt7 }|S )N   )make_hash_tests)ZHashr
   zShortMsgKAT_SHA3-256.txtzKAT SHA-3 256lenc                 S   s   t | S N)int)xr   r   r   <lambda>>       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   Zmddescr
   r#   r   r   )configr   testsZtest_vectorsZ	test_datatvr   r   r   	get_tests6   s(    



r+   __main__c                   C   s   t t S r   )unittestZ	TestSuiter+   r   r   r   r   r    O   r!   r    suite)ZdefaultTest)__doc__r-   binasciir   ZCryptodome.SelfTest.loaderr   ZCryptodome.SelfTest.st_commonr   ZCryptodome.Hashr   r
   ZCryptodome.Util.py3compatr   ZTestCaser   r+   r   r.   mainr   r   r   r   <module>   s   