a
    ze_                     @   sJ  d dl Z d dlZd dlZd dlmZ ejddgdZejddgdZG dd dZG d	d
 d
e	Z
G dd dZG dd dZG dd dee jZe edG dd dee jZG dd dZG dd dee jZe edG dd dee jZe edG dd dee jZe edG dd dee jZedkrFe   dS )    N)supportoperator	_operator)Zblocked)Zfreshc                   @   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 )Seq1c                 C   s
   || _ d S Nlstselfr    r   (/usr/lib/python3.9/test/test_operator.py__init__   s    zSeq1.__init__c                 C   s
   t | jS r   lenr   r
   r   r   r   __len__   s    zSeq1.__len__c                 C   s
   | j | S r   r   r
   ir   r   r   __getitem__   s    zSeq1.__getitem__c                 C   s   | j |j  S r   r   r
   otherr   r   r   __add__   s    zSeq1.__add__c                 C   s
   | j | S r   r   r   r   r   r   __mul__   s    zSeq1.__mul__c                 C   s
   || j  S r   r   r   r   r   r   __rmul__   s    zSeq1.__rmul__N	__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r   
   s   r   c                   @   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 )Seq2c                 C   s
   || _ d S r   r   r	   r   r   r   r      s    zSeq2.__init__c                 C   s
   t | jS r   r   r   r   r   r   r      s    zSeq2.__len__c                 C   s
   | j | S r   r   r   r   r   r   r      s    zSeq2.__getitem__c                 C   s   | j |j  S r   r   r   r   r   r   r      s    zSeq2.__add__c                 C   s
   | j | S r   r   r   r   r   r   r   !   s    zSeq2.__mul__c                 C   s
   || j  S r   r   r   r   r   r   r   #   s    zSeq2.__rmul__Nr   r   r   r   r   r      s   r   c                   @   s   e Zd Zdd ZdS )BadIterablec                 C   s   t d S r   )ZeroDivisionErrorr   r   r   r   __iter__'   s    zBadIterable.__iter__N)r   r   r   r!   r   r   r   r   r   &   s   r   c                   @   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d Z
dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Z d=d> Z!d?d@ Z"dAdB Z#dCdD Z$dEdF Z%dGdH Z&dIdJ Z'dKdL Z(dMdN Z)dOS )POperatorTestCasec                 C   s   | j }| t|j | t|jdd | |dd | |dd | |dd | |dd | |dd | |dd d S 	Ny              ?y               @   r                 ?          @)moduleassertRaises	TypeErrorltassertFalse
assertTruer
   r   r   r   r   test_lt,   s    zOperatorTestCase.test_ltc                 C   s   | j }| t|j | t|jdd | |dd | |dd | |dd | |dd | |dd | |dd d S r#   )r)   r*   r+   ler-   r.   r/   r   r   r   test_le7   s    zOperatorTestCase.test_lec                 C   s   | j }G dd dt}| t|j | t|j| |  | |dd | |dd | |dd | |dd | |dd | |dd d S )	Nc                   @   s   e Zd Zdd ZdS )z#OperatorTestCase.test_eq.<locals>.Cc                 S   s   t d S r   SyntaxErrorr   r   r   r   __eq__E   s    z*OperatorTestCase.test_eq.<locals>.C.__eq__N)r   r   r   r5   r   r   r   r   CD   s   r6   r$   r   r%   r&   r'   r(   )r)   objectr*   r+   eqr4   r-   r.   r
   r   r6   r   r   r   test_eqB   s    zOperatorTestCase.test_eqc                 C   s   | j }G dd dt}| t|j | t|j| |  | |dd | |dd | |dd | |dd | |dd | |dd d S )	Nc                   @   s   e Zd Zdd ZdS )z#OperatorTestCase.test_ne.<locals>.Cc                 S   s   t d S r   r3   r   r   r   r   __ne__S   s    z*OperatorTestCase.test_ne.<locals>.C.__ne__N)r   r   r   r;   r   r   r   r   r6   R   s   r6   r$   r   r%   r&   r'   r(   )r)   r7   r*   r+   ner4   r.   r-   r9   r   r   r   test_neP   s    zOperatorTestCase.test_nec                 C   s   | j }| t|j | t|jdd | |dd | |dd | |dd | |dd | |dd | |dd d S r#   )r)   r*   r+   ger.   r-   r/   r   r   r   test_ge^   s    zOperatorTestCase.test_gec                 C   s   | j }| t|j | t|jdd | |dd | |dd | |dd | |dd | |dd | |dd d S r#   )r)   r*   r+   gtr.   r-   r/   r   r   r   test_gti   s    zOperatorTestCase.test_gtc                 C   sL   | j }| t|j | t|jd  | |dd | |dd d S )Nr$   )r)   r*   r+   absassertEqualr/   r   r   r   test_abst   s
    zOperatorTestCase.test_absc                 C   s>   | j }| t|j | t|jd d  | |ddd d S )N         )r)   r*   r+   addrD   r/   r   r   r   test_add{   s    zOperatorTestCase.test_addc                 C   s>   | j }| t|j | t|jd d  | |ddd d S )N   
   )r)   r*   r+   and_rD   r/   r   r   r   test_bitwise_and   s    z!OperatorTestCase.test_bitwise_andc                 C   s   | j }| t|j | t|jd d  | |ddd | |ddgddgg d | |td	d
gtdgg d | |td	d
gtdgg d | t|jdd d S )NpyZthonZpythonr$   r'   rF   rG   )r$   r'   rF   rG         rH   )rP   rQ   rH         )r)   r*   r+   concatrD   r   r   r/   r   r   r   test_concat   s     &&zOperatorTestCase.test_concatc                 C   s   | j }| t|j | t|jd d  | t|jt d | |g ddd | |g ddd td}| |||dg|d | |i di dgi d d S )	Nr$   )r$   r'   r$   rF   r$   rG   rF   rP   r   nan   r'   )r)   r*   r+   countOfr    r   rD   floatr
   r   rV   r   r   r   test_countOf   s    zOperatorTestCase.test_countOfc                 C   sV   | j }g d}| t|j| | t|j|d  | ||d | |g d d S )NrG   rF   r'   r$   r$   )rG   r'   r$   )r)   r*   r+   delitemassertIsNonerD   r
   r   ar   r   r   test_delitem   s    zOperatorTestCase.test_delitemc                 C   s@   | j }| t|jd | t|jd d  | |ddd d S )NrP   r'   )r)   r*   r+   floordivrD   r/   r   r   r   test_floordiv   s    zOperatorTestCase.test_floordivc                 C   s@   | j }| t|jd | t|jd d  | |ddd d S )NrP   r'   g      @)r)   r*   r+   truedivrD   r/   r   r   r   test_truediv   s    zOperatorTestCase.test_truedivc                 C   sF   | j }td}| t|j | t|j|d  | ||dd d S )NrL   r'   )r)   ranger*   r+   getitemrD   r_   r   r   r   test_getitem   s
    zOperatorTestCase.test_getitemc                 C   s   | j }| t|j | t|jd d  | t|jt d | |g ddd | t|jg dd td}| |||dg|d | |i di dgi d d S )Nr$   r\   rF   r   rV   rW   r'   )	r)   r*   r+   indexOfr    r   rD   
ValueErrorrY   rZ   r   r   r   test_indexOf   s    zOperatorTestCase.test_indexOfc                 C   s:   | j }| t|j | t|jd  | |dd d S )NrG   )r)   r*   r+   invertrD   invr/   r   r   r   test_invert   s    zOperatorTestCase.test_invertc                 C   sd   | j }| t|j | t|jd d | |ddd | |ddd | t|jdd d S )N*   rP   r$   rL   r   r'   rB   )r)   r*   r+   lshiftrD   rj   r/   r   r   r   test_lshift   s    zOperatorTestCase.test_lshiftc                 C   s>   | j }| t|j | t|jd d | |ddd d S )Nrp   rP   r'   r$   )r)   r*   r+   modrD   r/   r   r   r   test_mod   s    zOperatorTestCase.test_modc                 C   s>   | j }| t|j | t|jd d  | |ddd d S )NrP   r'   rL   )r)   r*   r+   mulrD   r/   r   r   r   test_mul   s    zOperatorTestCase.test_mulc                 C   sJ   | j }| t|j | t|jdd G dd d}| | d d d S )Nrp   c                   @   s   e Zd Zdd ZdS )z'OperatorTestCase.test_matmul.<locals>.Mc                 S   s   |d S )Nr$   r   r   r   r   r   
__matmul__   s    z2OperatorTestCase.test_matmul.<locals>.M.__matmul__N)r   r   r   rw   r   r   r   r   M   s   rx   )   )r)   r*   r+   matmulrD   )r
   r   rx   r   r   r   test_matmul   s
    zOperatorTestCase.test_matmulc                 C   sp   | j }| t|j | t|jd  | |dd | |dd | |dd | |dd d S NrP   rl   r   )r)   r*   r+   negrD   r/   r   r   r   test_neg   s    zOperatorTestCase.test_negc                 C   s>   | j }| t|j | t|jd d  | |ddd d S )NrL   rP   rK   )r)   r*   r+   or_rD   r/   r   r   r   test_bitwise_or   s    z OperatorTestCase.test_bitwise_orc                 C   sp   | j }| t|j | t|jd  | |dd | |dd | |dd | |dd d S r|   )r)   r*   r+   posrD   r/   r   r   r   test_pos   s    zOperatorTestCase.test_posc                 C   sb   | j }| t|j | t|jd d  | |ddd | t|jd | t|jddd d S )NrF   rP      r$   r'   )r)   r*   r+   powrD   r/   r   r   r   test_pow   s    zOperatorTestCase.test_powc                 C   sd   | j }| t|j | t|jd d | |ddd | |ddd | t|jdd d S )Nrp   rP   r$   r'   r   rB   )r)   r*   r+   rshiftrD   rj   r/   r   r   r   test_rshift  s    zOperatorTestCase.test_rshiftc                 C   sj   | j }| t|j | t|jd d  | t|jt d | |tdd | |tdd d S )Nr$   rG   r'   rP   )	r)   r*   r+   containsr    r   r.   rf   r-   r/   r   r   r   test_contains  s    zOperatorTestCase.test_containsc                 C   sr   | j }ttd}| t|j| | t|j|d d  | ||dd | |g d | t|j|dd d S )NrF   r   r'   )r'   r$   r'   rG   )	r)   listrf   r*   r+   setitemr^   rD   
IndexErrorr_   r   r   r   test_setitem  s    zOperatorTestCase.test_setitemc                 C   s>   | j }| t|j | t|jd d  | |ddd d S )NrP   r'   rF   )r)   r*   r+   subrD   r/   r   r   r   test_sub   s    zOperatorTestCase.test_subc                 C   s|   | j }G dd dt}| t|j | t|j|  | |d | |dg | |d | |g  d S )Nc                   @   s   e Zd Zdd ZdS )z&OperatorTestCase.test_truth.<locals>.Cc                 S   s   t d S r   r3   r   r   r   r   __bool__)  s    z/OperatorTestCase.test_truth.<locals>.C.__bool__N)r   r   r   r   r   r   r   r   r6   (  s   r6   rP   r   )r)   r7   r*   r+   truthr4   r.   r-   r9   r   r   r   
test_truth&  s    zOperatorTestCase.test_truthc                 C   s>   | j }| t|j | t|jd d  | |ddd d S )N      rH   )r)   r*   r+   xorrD   r/   r   r   r   test_bitwise_xor2  s    z!OperatorTestCase.test_bitwise_xorc                 C   s\   | j }d }}|d d |dd   }| t|j | ||| | ||| d S NZxyzpdqrF   )r)   r*   r+   is_r.   r-   r
   r   r`   bcr   r   r   test_is8  s    zOperatorTestCase.test_isc                 C   s\   | j }d }}|d d |dd   }| t|j | ||| | ||| d S r   )r)   r*   r+   is_notr-   r.   r   r   r   r   test_is_not@  s    zOperatorTestCase.test_is_notc                 C   s  | j }G dd d}| }d|_|d}| ||d | t| | t||d | jt||dd |d}| t|| | t|jd | t|j | }d	|_d
|_d|_	| |ddd|d | t|jd G dd dt
}| t|d|  | }d|_| |_d|j_|d}| ||d | t||j |dd}| ||d |ddd}| t|| |d}| t|| |d}| t|| | |j_d|jj_|d}| ||d |ddd}| ||d d S )Nc                   @   s   e Zd ZdS )z+OperatorTestCase.test_attrgetter.<locals>.ANr   r   r   r   r   r   r   AJ  s   r   arthurnameZdent)ZsurnameZrankr'   XYZxzy)r   r   r   )r   r   r   c                   @   s   e Zd Zdd ZdS )z+OperatorTestCase.test_attrgetter.<locals>.Cc                 S   s   t d S r   r3   r
   r   r   r   r   __getattr__a  s    z7OperatorTestCase.test_attrgetter.<locals>.C.__getattr__N)r   r   r   r   r   r   r   r   r6   `  s   r6   foothomasz
child.name)r   r   zchild.child.namezchild.z.childjohnson)r   r   r   )r)   r   
attrgetterrD   r*   r+   AttributeErrorr   r   r   r7   r4   child)r
   r   r   r`   frecordr6   r   r   r   test_attrgetterH  sT    







z OperatorTestCase.test_attrgetterc                 C   s  | j }d}|d}| ||d | t| | t||d | jt||dd |d}| t|| G dd dt}| t|d|  |d	}| t|| | t|j td
d}|d}| ||d
 |d}| t	|| g d}|d}| t
t||g d | t||dg d t
tttd}| |ddd|d | t|ddd| td}	| |d|	d | |tdd|	d G dd dt}
| |d|
dd | |dg d d | |dtd!d"d! d S )#NABCDEr'   r6   rF   )sizerL   c                   @   s   e Zd Zdd ZdS )z+OperatorTestCase.test_itemgetter.<locals>.Cc                 S   s   t d S r   r3   r   r   r   r   r     s    z7OperatorTestCase.test_itemgetter.<locals>.C.__getitem__N)r   r   r   r   r   r   r   r   r6     s   rp   r   val)keyr   Znonkey)ZapplerF   Zbananar'   ZpearrP   Zoranger$   r$   )rF   r'   rP   r$   )r   r   r   r      rP   )2Z105r   ZabcderB   erG   )r   dc                   @   s   e Zd ZdZdS )z+OperatorTestCase.test_itemgetter.<locals>.TzTuple subclassN)r   r   r   __doc__r   r   r   r   T  s   r   r   abcr`   )r`   r   r   d      )r)   
itemgetterrD   r*   r+   r   r7   r4   dictKeyErrorr   mapsortedstrrf   tupleslice)r
   r   r`   r   r6   r   Z	inventoryZgetcountdatatr   r   r   r   test_itemgetter}  sF    






z OperatorTestCase.test_itemgetterc                 C   s  | j }| t|j | t|jd G dd d}| }|d}| t|| |ddd}| ||d | t| | t||d | jt||dd |d	}| ||d
 | t||| |jd	dd}| ||d |jdddd}| ||d d S )Nr   c                   @   s&   e Zd Zdd Zd	ddZdd ZdS )
z-OperatorTestCase.test_methodcaller.<locals>.Ac                 _   s   |d |d  S Nr   r$   r   r
   argskwdsr   r   r   r     s    z1OperatorTestCase.test_methodcaller.<locals>.A.foorp   c                 S   s   |S r   r   r
   r   r   r   r   bar  s    z1OperatorTestCase.test_methodcaller.<locals>.A.barc                  _   s   |d |d fS Nr   r
   r   r   r   r   r   r   baz  s    z1OperatorTestCase.test_methodcaller.<locals>.A.bazN)rp   r   r   r   r   r   r   r   r   r   r   r     s   
r   r   r$   r'   rF   )spamr   rp   rP   r   r   r   eggs)r   r
   )r   r   )r)   r*   r+   methodcallerr   rD   )r
   r   r   r`   r   r   r   r   test_methodcaller  s&    

z"OperatorTestCase.test_methodcallerc                 C   s8  | j }G dd dt}| }| ||dd | ||dd | ||dd | ||dd | ||dd | ||dd	 | |	|dd
 | |
|dd | ||dd | ||dd | ||dd | ||dd | ||dd | |||d d S )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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 )z(OperatorTestCase.test_inplace.<locals>.Cc                 S   s   dS )Niaddr   r   r   r   r   __iadd__      z1OperatorTestCase.test_inplace.<locals>.C.__iadd__c                 S   s   dS )Niandr   r   r   r   r   __iand__  r   z1OperatorTestCase.test_inplace.<locals>.C.__iand__c                 S   s   dS )N	ifloordivr   r   r   r   r   __ifloordiv__  r   z6OperatorTestCase.test_inplace.<locals>.C.__ifloordiv__c                 S   s   dS )Nilshiftr   r   r   r   r   __ilshift__  r   z4OperatorTestCase.test_inplace.<locals>.C.__ilshift__c                 S   s   dS )Nimodr   r   r   r   r   __imod__  r   z1OperatorTestCase.test_inplace.<locals>.C.__imod__c                 S   s   dS )Nimulr   r   r   r   r   __imul__  r   z1OperatorTestCase.test_inplace.<locals>.C.__imul__c                 S   s   dS )Nimatmulr   r   r   r   r   __imatmul__  r   z4OperatorTestCase.test_inplace.<locals>.C.__imatmul__c                 S   s   dS )Niorr   r   r   r   r   __ior__  r   z0OperatorTestCase.test_inplace.<locals>.C.__ior__c                 S   s   dS )Nipowr   r   r   r   r   __ipow__  r   z1OperatorTestCase.test_inplace.<locals>.C.__ipow__c                 S   s   dS )Nirshiftr   r   r   r   r   __irshift__  r   z4OperatorTestCase.test_inplace.<locals>.C.__irshift__c                 S   s   dS )Nisubr   r   r   r   r   __isub__  r   z1OperatorTestCase.test_inplace.<locals>.C.__isub__c                 S   s   dS )Nitruedivr   r   r   r   r   __itruediv__  r   z5OperatorTestCase.test_inplace.<locals>.C.__itruediv__c                 S   s   dS )Nixorr   r   r   r   r   __ixor__  r   z1OperatorTestCase.test_inplace.<locals>.C.__ixor__c                 S   s   dS )NrP   r   r   r   r   r   r     r   z4OperatorTestCase.test_inplace.<locals>.C.__getitem__N)r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r6     s   r6   rP   r   r   r   r   r   r   r   r   r   r   r   r   r   )r)   r7   rD   r   r   r   r   r   r   r   r   r   r   r   r   r   iconcat)r
   r   r6   r   r   r   r   test_inplace  s"    zOperatorTestCase.test_inplacec                 C   s8  | j }G dd dt}| |g dd | |tg dd | ||dd | ||tdd | ||tdd | t ||d	 W d    n1 s0    Y  | t ||d
 W d    n1 s0    Y  | t	 ||t	 W d    n1 s*0    Y  d S )Nc                   @   s   e Zd Zdd Zdd ZdS )z,OperatorTestCase.test_length_hint.<locals>.Xc                 S   s
   || _ d S r   )value)r
   r   r   r   r   r     s    z5OperatorTestCase.test_length_hint.<locals>.X.__init__c                 S   s    t | jt u r| jn| jS d S r   )typer   r   r   r   r   __length_hint__  s    z<OperatorTestCase.test_length_hint.<locals>.X.__length_hint__N)r   r   r   r   r   r   r   r   r   r     s   r   r'   r   )r$   r'   rF   rF   rG   r   r   )
r)   r7   rD   length_hintiterNotImplementedr+   r*   rj   LookupError)r
   r   r   r   r   r   test_length_hint  s    
,,z!OperatorTestCase.test_length_hintc                 C   sZ   | j }dd t|D }|D ]8}t||}t|d|d d d }|r| || qd S )Nc                 S   s   g | ]}| d s|qS )_)
startswith).0r   r   r   r   
<listcomp>  r   z<OperatorTestCase.test_dunder_is_original.<locals>.<listcomp>__r  )r)   dirgetattrstripZassertIs)r
   r   namesr   ZorigZdunderr   r   r   test_dunder_is_original  s    
z(OperatorTestCase.test_dunder_is_originalN)*r   r   r   r0   r2   r:   r=   r?   rA   rE   rJ   rN   rU   r[   ra   rc   re   rh   rk   ro   rr   rt   rv   r{   r~   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r   r   r   r   r"   +   sN   
				53!r"   c                   @   s   e Zd ZeZdS )PyOperatorTestCaseN)r   r   r   py_operatorr)   r   r   r   r   r    s   r  zrequires _operatorc                   @   s   e Zd ZeZdS )COperatorTestCaseN)r   r   r   
c_operatorr)   r   r   r   r   r    s   r  c                   @   s,   e Zd Zdd Zdd Zdd Zdd Zd	S )
OperatorPickleTestCasec                 C   s~   t tjd| j t||}W d    n1 s40    Y  t tjd| j t|W  d    S 1 sp0    Y  d S )Nr   )	r   Z	swap_itemsysmodulesr)   pickledumpsmodule2loads)r
   objprotoZpickledr   r   r   copy  s    *zOperatorPickleTestCase.copyc              	   C   sH  | j j}G dd d}| }d|_d|_d|_| |_| |j_d|jj_tt	j
d D ]}| j|d |d	}| ||}| t|t| | |||| |d	d
d}| ||}| t|t| | |||| |d}| ||}| t|t| | |||| W d    qX1 s80    Y  qXd S )Nc                   @   s   e Zd ZdS )z1OperatorPickleTestCase.test_attrgetter.<locals>.ANr   r   r   r   r   r      s   r   r   r   r   Vr$   r  r   r   r   zt.u.v)r)   r   r   r   r   r   uvrf   r  HIGHEST_PROTOCOLsubTestr  rD   repr)r
   r   r   r`   r  r   f2r   r   r   r     s.    

z&OperatorPickleTestCase.test_attrgetterc              	   C   s   | j j}d}ttjd D ]}| j|d |d}| ||}| t|t| | |||| |ddd}| ||}| t|t| | |||| W d    q1 s0    Y  qd S )Nr   r$   r  r'   r   rG   )	r)   r   rf   r  r"  r#  r  rD   r$  )r
   r   r`   r  r   r%  r   r   r   r   :  s    z&OperatorPickleTestCase.test_itemgetterc              	   C   sN  | j j}G dd d}| }ttjd D ]}| j|d |d}| ||}| t|t| | |||| |ddd}| ||}| t|t| | |||| |ddd	}| ||}| t|t| | |||| |d
ddd}| ||}| |||| W d    q*1 s>0    Y  q*d S )Nc                   @   s&   e Zd Zdd Zd	ddZdd ZdS )
z3OperatorPickleTestCase.test_methodcaller.<locals>.Ac                 _   s   |d |d  S r   r   r   r   r   r   r   L  s    z7OperatorPickleTestCase.test_methodcaller.<locals>.A.foorp   c                 S   s   |S r   r   r   r   r   r   r   N  s    z7OperatorPickleTestCase.test_methodcaller.<locals>.A.barc                  _   s   |d |d fS r   r   r   r   r   r   r   P  s    z7OperatorPickleTestCase.test_methodcaller.<locals>.A.bazN)rp   r   r   r   r   r   r   K  s   
r   r$   r  r   r   r'   rP   r   r   r   r   r   )	r)   r   rf   r  r"  r#  r  rD   r$  )r
   r   r   r`   r  r   r%  r   r   r   r   I  s(    z(OperatorPickleTestCase.test_methodcallerN)r   r   r   r  r   r   r   r   r   r   r   r    s   r  c                   @   s   e Zd ZeZeZdS )PyPyOperatorPickleTestCaseN)r   r   r   r  r)   r  r   r   r   r   r&  h  s   r&  c                   @   s   e Zd ZeZeZdS )PyCOperatorPickleTestCaseN)r   r   r   r  r)   r  r  r   r   r   r   r'  l  s   r'  c                   @   s   e Zd ZeZeZdS )CPyOperatorPickleTestCaseN)r   r   r   r  r)   r  r  r   r   r   r   r(  q  s   r(  c                   @   s   e Zd ZeZeZdS )CCOperatorPickleTestCaseN)r   r   r   r  r)   r  r   r   r   r   r)  v  s   r)  __main__)Zunittestr  r  testr   Zimport_fresh_moduler  r  r   r7   r   r   r"   ZTestCaser  Z
skipUnlessr  r  r&  r'  r(  r)  r   mainr   r   r   r   <module>   s2      g
Q



