B
    18\                 @   s2   d Z ddlZG dd dejZedkr.e  dS )zFTest compiler changes for unary ops (+, -, ~) introduced in Python 2.2    Nc               @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )UnaryOpTestCasec             C   sT   |  ddk | dd | dd |  ddk |  ddk |  ddk d S )Nr      g       y              y               )
assertTrueassertEqual)self r   S/oak/stanford/groups/akundaje/marinovg/programs/Python-3.7.3/Lib/test/test_unary.pytest_negative   s    zUnaryOpTestCase.test_negativec             C   sL   |  dd |  dd |  dd |  dd |  dd |  dd d S )Nr   r   g       @y               @)r   )r   r   r   r	   test_positive   s    zUnaryOpTestCase.test_positivec             C   s8   |  ddk | dd | dd |  ddk d S )Nr   r   r   )r   r   )r   r   r   r	   test_invert   s    zUnaryOpTestCase.test_invertc             C   sJ   d}|  td| dk |  td| dk |  td| dk d S )NZ 99999999999999999999999999999999+l   >g--; -l>g--; ~l    >g--; )r   eval)r   Zninesr   r   r	   test_no_overflow   s    z UnaryOpTestCase.test_no_overflowc             C   s4   |  dd |  dd |  dd |  dd d S )Nii   )r   )r   r   r   r	   test_negation_of_exponentiation#   s    z/UnaryOpTestCase.test_negation_of_exponentiationc             C   sR   x0dD ](}|  tt|d  |  tt|d  qW |  ttd |  ttd d S )N)r   r   r   zb'a'z'a'z~2jz~2.0)assertRaises	TypeErrorr   )r   opr   r   r	   test_bad_types+   s
    
zUnaryOpTestCase.test_bad_typesN)	__name__
__module____qualname__r
   r   r   r   r   r   r   r   r   r	   r      s   r   __main__)__doc__unittestTestCaser   r   mainr   r   r   r	   <module>   s   /