U
    ʹh                     @   sF  zd dl ZW n ek
r(   d dlZY nX d dlZzd dlmZ dZW nB ek
r   zd dlmZ dZW n ek
r   dZY nX Y nX ddlm	Z	 ddl
mZmZ dd	d
dgZejdedd ZG dd dejZejjedkdddd ZddddddgZejdedd Zddd d!d"d#gZejd$ed%d& ZdS )'    N)mpzTF   )	shake_256)bytes_to_intint_to_bytes)    bigr   )r   little   )    r   r   )    r	   r   zbytes_in,endian,int_outc                 C   s   t | |}||kstd S N)r   AssertionError)Zbytes_inendianZint_outout r   5./venv/lib/python3.8/site-packages/ecdsa/test_sha3.pytest_bytes_to_int   s    
r   c                   @   s   e Zd Zdd Zdd ZdS )TestBytesToIntc              	   C   s$   |  t tdd W 5 Q R X d S )Nr   middle)assertRaises
ValueErrorr   selfr   r   r   test_bytes_to_int_wrong_endian%   s    z-TestBytesToInt.test_bytes_to_int_wrong_endianc              	   C   s&   |  t tddd W 5 Q R X d S )Nr   r   )	byteorder)r   r   r   r   r   r   r   test_int_to_bytes_wrong_endian)   s    z-TestBytesToInt.test_int_to_bytes_wrong_endianN)__name__
__module____qualname__r   r   r   r   r   r   r   $   s   r   zrequires gmpy or gmpy2)reasonc                   C   s   t tddkstd S )Nr      )r   r   r   r   r   r   r   test_int_to_bytes_with_gmpy.   s    r"   )r   Nr   r   )r   r   r   r   )r   Nr   r!   )r
   Nr	   r   )r
      r	   s      )r   r#   r   s      zint_in,length,endian,bytes_outc                 C   s   t | ||}||kstd S r   )r   r   )Zint_inlengthr   Z	bytes_outr   r   r   r   test_int_to_bytes=   s    r%   )s   Message.    s    x73rO9CNrv.4L%O,:)r   r&   s    F+#;?t>$?Rb'dnv/)   messager&   s    ص-CnQZd&f
FQu)r'      s   ص-CnQ)r'   @   s@   ص-CnQZd&f
FQu0ֺ*Feb%&>e:Fl})s   AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAr&   s    ~03d Z03PAzmsg,olen,ohashc                 C   s   t | |}|t|kstd S r   )r   	bytearrayr   )msgZolenZohashr   r   r   r   test_shake_256l   s    
r,   )Z	unittest2ZunittestImportErrorZpytestZgmpy2r   ZGMPYZgmpyZ_sha3r   Z_compatr   r   ZB2I_VECTORSZmarkZparametrizer   ZTestCaser   Zskipifr"   ZI2B_VECTORSr%   ZSHAKE_256_VECTORSr,   r   r   r   r   <module>   sV   




)