
    Nc                         d dl Zd dlmc mZ d dlZd dlmZ ej	        
                    dg d          d             Zej	        
                    dg d          d             Zd	 ZdS )
    N)divide_numbersz numerator, denominator, expected))            ?)   r      )32g      ?)gffffff @r   r   )r   g333333@r   c                    t          | |          }||k    }|s[t          j        d|fd||f          dt          j                    v st          j        t                     rt          j        t                     nddt          j                    v st          j        |           rt          j        |           nddt          j                    v st          j        |          rt          j        |          ndt          j        |          dt          j                    v st          j        |          rt          j        |          nddz  }dd	|iz  }t          t          j        |                    d x}}d S )
N==)z9%(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
} == %(py6)sr   	numeratordenominatorexpected)py0py1py2py4py6zassert %(py8)spy8	r   
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)r   r   r   @py_assert3@py_assert5@py_format7@py_format9s          6/home/feoh/src/personal/bitesofpy/110/test_division.pytest_divide_numbers_good_inputsr%      s    #0@@@@=@@@@@@@@@@@=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@#@@@@@@@@@@@@@0@@@@@0@@@@@@@@@@@@@@@@@@=@@@@@=@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    znumerator, denominator))r   s)r'   r   )vwc                     t          j        t                    5  t          | |           d d d            d S # 1 swxY w Y   d S )N)pytestraises
ValueErrorr   )r   r   s     r$   &test_divide_numbers_raises_value_errorr.      s     
z	"	" / /y+.../ / / / / / / / / / / / / / / / / /s   8<<c                  
   d} d}t          | |          }d}||k    }|st          j        d|fd||f          dt          j                    v st          j        t                     rt          j        t                     ndt          j        |           t          j        |          t          j        |          t          j        |          dz  }dd|iz  }t          t          j        |                    d x} x}x}x}}d S )	N
   r   r   )z9%(py6)s
{%(py6)s = %(py0)s(%(py2)s, %(py4)s)
} == %(py9)sr   )r   r   r   r   py9zassert %(py11)spy11r   )@py_assert1r    r!   @py_assert8@py_assert7@py_format10@py_format12s          r$   :test_divide_by_zero_does_not_raise_zero_division_exceptionr8      s    @@@@@@@%@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@r&   )builtinsr   _pytest.assertion.rewrite	assertionrewriter   r+   divisionr   markparametrizer%   r.   r8    r&   r$   <module>rA      s                  # # # # # # ; > > >  > > > 1 4 4 4  / / /
& & & & &r&   