o
    Zb|                     @   s   d 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 ddlm	Z	 ddlm
Z
 dd	lmZ dd
lmZ ddlZddlZG dd dejZedkrSe  dS dS )z!Fuzz tests for the parser module.    )absolute_import)division)print_function)parser)	testutils)example)given)settings)
strategiesNc                   @   s   e Zd Zeddeejddededededed	ed
edededededededededededededededdd ZdS )ParserFuzzTesti'  )Zmax_examples   )Zmin_sizeTruez"test\t\t\a\\a"z "test\t\t\a\\a"   z"(1, 2)"z(1, 2)z(1,                   2)z(1,       2) za,b,c,dz	(a,b,c,d)z	[a,b,c,d]z	{a,b,c,d}ztest:(a,b,c,d)z{test:(a,b,c,d)}z{test:a,b,c,d}z{test:a,b:(c,d)}z0,#zA#00000   ze[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[0z1c                 C   s>  zt |}W n ty   d|v rY d S   ty&   t|dkr%Y d S  w zt|}t|}W n
 ty=   Y d S w t	||}dt
dd |D  |d |d d|d	d
   d|d  d|d  }d|v r|t||d 7 }t|tjs||d7 }d|vr| ||||||f d S d S )N d      c                 s   s    | ]}|  V  qd S )N)isspace).0c r   ED:\Projects\ConvertPro\env\Lib\site-packages\fire\parser_fuzz_test.py	<genexpr>Q   s    z;ParserFuzzTest.testDefaultParseValueFuzz.<locals>.<genexpr>"'   ,r   :\r   0{)r   ZDefaultParseValue	TypeErrorMemoryErrorlensixZ	text_typeUnicodeDecodeErrorLevenshteindistancesumcountindex
isinstanceZstring_typesassertLessEqual)selfvalueresultZuvalueZuresultr'   Zmax_distancer   r   r   testDefaultParseValueFuzz!   sR   

z(ParserFuzzTest.testDefaultParseValueFuzzN)	__name__
__module____qualname__r	   r   sttextr   r0   r   r   r   r   r      s2    :r   __main__)__doc__Z
__future__r   r   r   firer   r   
hypothesisr   r   r	   r
   r4   r&   r$   ZBaseTestCaser   r1   mainr   r   r   r   <module>   s    C