U
    ¤�©jý  ã                   @   s~   d dl Z d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZ dd„ Zeje je j dd�Zedd	�ZG d
d„ dejƒZdS )é    N)ÚgivenÚsettings)ÚContentlineÚContentlinesÚ
Parametersc                  K   s   t  t jf ddi| —Ž¡S )NZblacklist_categories)ÚCcÚCs)ÚstÚtextÚ
characters)Úkw© r   úK/tmp/pip-unpacked-wheel-g40nyxg1/icalendar/tests/hypothesis/test_fuzzing.pyÚprintable_characters
   s    r   é   ©Zmin_sizez\;:")Zblacklist_charactersc                	   @   sD   e Zd Zeeje ee ee	¡e	¡dd�d�e
dd�dd„ ƒƒZdS )	ÚTestFuzzingr   r   )Úlinesiè  )Zmax_examplesc              	   C   sv   t ƒ }|D ]F\}}}ztf |Ž}W n tk
r:   Y q
Y nX | t |||¡¡ q
| d¡ t  | ¡ ¡|ksrt‚d S )NÚ )	r   r   Ú	TypeErrorÚappendr   Z
from_partsZ	from_icalZto_icalÚAssertionError)Úselfr   ZclÚkeyÚparamsÚvaluer   r   r   Ú	test_main   s    

zTestFuzzing.test_mainN)Ú__name__Ú
__module__Ú__qualname__r   r	   ÚlistsZtuplesr   Zdictionariesr   r   r   r   r   r   r   r      s
   ÿr   )ÚstringZunittestZhypothesis.strategiesZ
strategiesr	   Z
hypothesisr   r   Zicalendar.parserr   r   r   r   r
   Úascii_lettersÚdigitsr   r   ZTestCaser   r   r   r   r   Ú<module>   s   
