o
    GXh                     @   s2   d dl Z G dd de jZedkre   dS dS )    Nc                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )AugAssignTestc                 C   sd   d}|d7 }|d9 }|dC }|d8 }|d }|d; }|dM }|dO }|dN }|d }|  |d d S )N                     @assertEqualselfx r   =/opt/python-3.10.19/usr/lib/python3.10/test/test_augassign.py	testBasic   s   zAugAssignTest.testBasicc                 C   s   |  ttddd d S )Nz	x, b += 3z<test>exec)assertRaisesSyntaxErrorcompile)r   r   r   r   test_with_unpacking   s   z!AugAssignTest.test_with_unpackingc                 C   s   dg}|d  d7  < |d  d9  < |d  dC  < |d  d8  < |d  d  < |d  d;  < |d  dM  < |d  dO  < |d  dN  < |d  d  < |  |d d d S )Nr   r   r   r   r   r   r   r	   r   r   r   r   
testInList   s   zAugAssignTest.testInListc                 C   s   ddi}|d  d7  < |d  d9  < |d  dC  < |d  d8  < |d  d  < |d  d;  < |d  dM  < |d  dO  < |d  dN  < |d  d  < |  |d d d S )Nr   r   r   r   r   r   r   r	   r   r   r   r   
testInDict&   s   zAugAssignTest.testInDictc                 C   s   ddg}|ddg7 }|d9 }|  |g d g d}|}|dd  d9  < |dd  dg7  < |  |g d | ||u  d S )Nr   r   r      )r   r   r   r   r   r   r   r   )r   r   r   )r   r   r   r   r   )r
   
assertTrue)r   r   yr   r   r   testSequences4   s   zAugAssignTest.testSequencesc                    s.  G  fddd G dd d }G fddd G dd d} d	}|}|d
7 }|  |  | ||u | |jd |d}|}|d
7 }| ||u  | |jd d}|}|d
7 }|  | | ||u | |jd |d}| t |d
7 }W d    d S 1 sw   Y  d S )Nc                       s(   e Zd Zdd Zdd Z fddZdS )z2AugAssignTest.testCustomMethods1.<locals>.aug_testc                 S   s
   || _ d S Nval)r   valuer   r   r   __init__F      
z;AugAssignTest.testCustomMethods1.<locals>.aug_test.__init__c                 S   s
   | j | S r   r   r   r   r   r   r   __radd__H   r!   z;AugAssignTest.testCustomMethods1.<locals>.aug_test.__radd__c                        | j | S r   r   r"   aug_testr   r   __add__J      z:AugAssignTest.testCustomMethods1.<locals>.aug_test.__add__N)__name__
__module____qualname__r    r#   r'   r   r%   r   r   r&   E   s    r&   c                   @   s   e Zd Zdd ZdS )z3AugAssignTest.testCustomMethods1.<locals>.aug_test2c                 S   s   | j | | _ | S r   r   r"   r   r   r   __iadd__N   s   z<AugAssignTest.testCustomMethods1.<locals>.aug_test2.__iadd__Nr)   r*   r+   r,   r   r   r   r   	aug_test2M   s    r.   c                       s   e Zd Z fddZdS )z3AugAssignTest.testCustomMethods1.<locals>.aug_test3c                    r$   r   r   r"   	aug_test3r   r   r,   S   r(   z<AugAssignTest.testCustomMethods1.<locals>.aug_test3.__iadd__Nr-   r   r/   r   r   r0   R   s    r0   c                   @   s   e Zd Z	 dZdS )z3AugAssignTest.testCustomMethods1.<locals>.aug_test4Nr-   r   r   r   r   	aug_test4V   s    r1   r   
      r      r      r   )ZassertIsInstancer   r
   r   r   	TypeError)r   r.   r1   r   r   r   )r&   r0   r   testCustomMethods1C   s2   
"z AugAssignTest.testCustomMethods1c                    sh  g  G  fddd}| }|d  d|  |d7 }|d  d|  |d8 }|d  d|  |d9 }|d  d|  |d }|d  d|  |d }|d  d|  |d }|d  d|  |d; }|d  d|  |dC }|dB  d|B  |dO }|d@  d|@  |dM }|dA  d|A  |dN }|d?  d|?  |dL }|d>  d|>  |dK }|   d  d S )Nc                       s  e Zd Z fddZ fddZ fddZ fddZ fd	d
Z fddZ fddZ	 fddZ
 fddZ fddZ fddZ fddZ fddZ fddZ fddZ fdd Z fd!d"Z fd#d$Z fd%d&Z fd'd(Z fd)d*Z fd+d,Z fd-d.Z fd/d0Z fd1d2Z fd3d4Z fd5d6Z fd7d8Z fd9d:Z fd;d<Z  fd=d>Z! fd?d@Z" fdAdBZ# fdCdDZ$ fdEdFZ% fdGdHZ& fdIdJZ' fdKdLZ( fdMdNZ)dOS )Pz1AugAssignTest.testCustomMethods2.<locals>.testallc                         d d S )Nz__add__ calledappendr"   outputr   r   r'   z   r(   z9AugAssignTest.testCustomMethods2.<locals>.testall.__add__c                    r8   )Nz__radd__ calledr9   r"   r;   r   r   r#   |   r(   z:AugAssignTest.testCustomMethods2.<locals>.testall.__radd__c                         d | S )Nz__iadd__ calledr9   r"   r;   r   r   r,   ~      
z:AugAssignTest.testCustomMethods2.<locals>.testall.__iadd__c                    r8   )Nz__sub__ calledr9   r"   r;   r   r   __sub__   r(   z9AugAssignTest.testCustomMethods2.<locals>.testall.__sub__c                    r8   )Nz__rsub__ calledr9   r"   r;   r   r   __rsub__   r(   z:AugAssignTest.testCustomMethods2.<locals>.testall.__rsub__c                    r=   )Nz__isub__ calledr9   r"   r;   r   r   __isub__   r>   z:AugAssignTest.testCustomMethods2.<locals>.testall.__isub__c                    r8   )Nz__mul__ calledr9   r"   r;   r   r   __mul__   r(   z9AugAssignTest.testCustomMethods2.<locals>.testall.__mul__c                    r8   )Nz__rmul__ calledr9   r"   r;   r   r   __rmul__   r(   z:AugAssignTest.testCustomMethods2.<locals>.testall.__rmul__c                    r=   )Nz__imul__ calledr9   r"   r;   r   r   __imul__   r>   z:AugAssignTest.testCustomMethods2.<locals>.testall.__imul__c                    r8   )Nz__matmul__ calledr9   r"   r;   r   r   
__matmul__   r(   z<AugAssignTest.testCustomMethods2.<locals>.testall.__matmul__c                    r8   )Nz__rmatmul__ calledr9   r"   r;   r   r   __rmatmul__   r(   z=AugAssignTest.testCustomMethods2.<locals>.testall.__rmatmul__c                    r=   )Nz__imatmul__ calledr9   r"   r;   r   r   __imatmul__   r>   z=AugAssignTest.testCustomMethods2.<locals>.testall.__imatmul__c                    r=   )Nz__floordiv__ calledr9   r"   r;   r   r   __floordiv__   r>   z>AugAssignTest.testCustomMethods2.<locals>.testall.__floordiv__c                    r=   )Nz__ifloordiv__ calledr9   r"   r;   r   r   __ifloordiv__   r>   z?AugAssignTest.testCustomMethods2.<locals>.testall.__ifloordiv__c                    r=   )Nz__rfloordiv__ calledr9   r"   r;   r   r   __rfloordiv__   r>   z?AugAssignTest.testCustomMethods2.<locals>.testall.__rfloordiv__c                    r=   )Nz__truediv__ calledr9   r"   r;   r   r   __truediv__   r>   z=AugAssignTest.testCustomMethods2.<locals>.testall.__truediv__c                    r=   )Nz__rtruediv__ calledr9   r"   r;   r   r   __rtruediv__   r>   z>AugAssignTest.testCustomMethods2.<locals>.testall.__rtruediv__c                    r=   )Nz__itruediv__ calledr9   r"   r;   r   r   __itruediv__   r>   z>AugAssignTest.testCustomMethods2.<locals>.testall.__itruediv__c                    r8   )Nz__mod__ calledr9   r"   r;   r   r   __mod__   r(   z9AugAssignTest.testCustomMethods2.<locals>.testall.__mod__c                    r8   )Nz__rmod__ calledr9   r"   r;   r   r   __rmod__   r(   z:AugAssignTest.testCustomMethods2.<locals>.testall.__rmod__c                    r=   )Nz__imod__ calledr9   r"   r;   r   r   __imod__   r>   z:AugAssignTest.testCustomMethods2.<locals>.testall.__imod__c                    r8   )Nz__pow__ calledr9   r"   r;   r   r   __pow__   r(   z9AugAssignTest.testCustomMethods2.<locals>.testall.__pow__c                    r8   )Nz__rpow__ calledr9   r"   r;   r   r   __rpow__   r(   z:AugAssignTest.testCustomMethods2.<locals>.testall.__rpow__c                    r=   )Nz__ipow__ calledr9   r"   r;   r   r   __ipow__   r>   z:AugAssignTest.testCustomMethods2.<locals>.testall.__ipow__c                    r8   )Nz__or__ calledr9   r"   r;   r   r   __or__   r(   z8AugAssignTest.testCustomMethods2.<locals>.testall.__or__c                    r8   )Nz__ror__ calledr9   r"   r;   r   r   __ror__   r(   z9AugAssignTest.testCustomMethods2.<locals>.testall.__ror__c                    r=   )Nz__ior__ calledr9   r"   r;   r   r   __ior__   r>   z9AugAssignTest.testCustomMethods2.<locals>.testall.__ior__c                    r8   )Nz__and__ calledr9   r"   r;   r   r   __and__   r(   z9AugAssignTest.testCustomMethods2.<locals>.testall.__and__c                    r8   )Nz__rand__ calledr9   r"   r;   r   r   __rand__   r(   z:AugAssignTest.testCustomMethods2.<locals>.testall.__rand__c                    r=   )Nz__iand__ calledr9   r"   r;   r   r   __iand__   r>   z:AugAssignTest.testCustomMethods2.<locals>.testall.__iand__c                    r8   )Nz__xor__ calledr9   r"   r;   r   r   __xor__   r(   z9AugAssignTest.testCustomMethods2.<locals>.testall.__xor__c                    r8   )Nz__rxor__ calledr9   r"   r;   r   r   __rxor__   r(   z:AugAssignTest.testCustomMethods2.<locals>.testall.__rxor__c                    r=   )Nz__ixor__ calledr9   r"   r;   r   r   __ixor__   r>   z:AugAssignTest.testCustomMethods2.<locals>.testall.__ixor__c                    r8   )Nz__rshift__ calledr9   r"   r;   r   r   
__rshift__   r(   z<AugAssignTest.testCustomMethods2.<locals>.testall.__rshift__c                    r8   )Nz__rrshift__ calledr9   r"   r;   r   r   __rrshift__   r(   z=AugAssignTest.testCustomMethods2.<locals>.testall.__rrshift__c                    r=   )Nz__irshift__ calledr9   r"   r;   r   r   __irshift__   r>   z=AugAssignTest.testCustomMethods2.<locals>.testall.__irshift__c                    r8   )Nz__lshift__ calledr9   r"   r;   r   r   
__lshift__   r(   z<AugAssignTest.testCustomMethods2.<locals>.testall.__lshift__c                    r8   )Nz__rlshift__ calledr9   r"   r;   r   r   __rlshift__   r(   z=AugAssignTest.testCustomMethods2.<locals>.testall.__rlshift__c                    r=   )Nz__ilshift__ calledr9   r"   r;   r   r   __ilshift__   r>   z=AugAssignTest.testCustomMethods2.<locals>.testall.__ilshift__N)*r)   r*   r+   r'   r#   r,   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   r   r;   r   r   testally   sP    rc   r   a  __add__ called
__radd__ called
__iadd__ called
__sub__ called
__rsub__ called
__isub__ called
__mul__ called
__rmul__ called
__imul__ called
__matmul__ called
__rmatmul__ called
__imatmul__ called
__truediv__ called
__rtruediv__ called
__itruediv__ called
__floordiv__ called
__rfloordiv__ called
__ifloordiv__ called
__mod__ called
__rmod__ called
__imod__ called
__pow__ called
__rpow__ called
__ipow__ called
__or__ called
__ror__ called
__ior__ called
__and__ called
__rand__ called
__iand__ called
__xor__ called
__rxor__ called
__ixor__ called
__rshift__ called
__rrshift__ called
__irshift__ called
__lshift__ called
__rlshift__ called
__ilshift__ called
)r
   
splitlines)Z	test_selfrc   r   r   r;   r   testCustomMethods2v   sZ   m(z AugAssignTest.testCustomMethods2N)
r)   r*   r+   r   r   r   r   r   r7   re   r   r   r   r   r      s    3r   __main__)ZunittestZTestCaser   r)   mainr   r   r   r   <module>   s     A