B
    u9a  ć               @   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 )Néž’’’r   é   g       Ąy              Ąy               Ą)Ś
assertTrueŚassertEqual)Śself© r   ś /usr/lib/python3.7/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 )Nių’’’iš’’’é   )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)Z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__ZunittestZTestCaser   r   Śmainr   r   r   r	   Ś<module>   s   /