
    z%i]d                        d dl Z d dlZd dlZd dlmZ d dlmZ  ej                  ddg      Z ej                  ddg      Z	 G d d	      Z
 G d
 de      Z G d d      Z G d d      Z G d dee j                        Z e j"                  e	d       G d dee j                               Z G d d      Z G d dee j                        Z e j"                  e	d       G d dee j                               Z e j"                  e	d       G d dee j                               Z e j"                  e	d       G d dee j                               Zedk(  r e j2                          yy)     N)support)import_helperoperator	_operator)blocked)freshc                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)Seq1c                     || _         y Nlstselfr   s     F/home/uftp/.pyenv/versions/3.12.0/lib/python3.12/test/test_operator.py__init__zSeq1.__init__   	        c                 ,    t        | j                        S r   lenr   r   s    r   __len__zSeq1.__len__       488}r   c                      | j                   |   S r   r   r   is     r   __getitem__zSeq1.__getitem__       xx{r   c                 4    | j                   |j                   z   S r   r   r   others     r   __add__zSeq1.__add__       xx%))##r   c                      | j                   |z  S r   r   r!   s     r   __mul__zSeq1.__mul__       xx%r   c                      || j                   z  S r   r   r!   s     r   __rmul__zSeq1.__rmul__       txxr   N	__name__
__module____qualname__r   r   r   r#   r&   r)    r   r   r
   r
           $  r   r
   c                   0    e Zd Zd Zd Zd Zd Zd Zd Zy)Seq2c                     || _         y r   r   r   s     r   r   zSeq2.__init__   r   r   c                 ,    t        | j                        S r   r   r   s    r   r   zSeq2.__len__   r   r   c                      | j                   |   S r   r   r   s     r   r   zSeq2.__getitem__!   r   r   c                 4    | j                   |j                   z   S r   r   r!   s     r   r#   zSeq2.__add__#   r$   r   c                      | j                   |z  S r   r   r!   s     r   r&   zSeq2.__mul__%   r'   r   c                      || j                   z  S r   r   r!   s     r   r)   zSeq2.__rmul__'   r*   r   Nr+   r/   r   r   r2   r2      r0   r   r2   c                       e Zd Zd Zy)BadIterablec                     t         r   )ZeroDivisionErrorr   s    r   __iter__zBadIterable.__iter__+   s    r   N)r,   r-   r.   r=   r/   r   r   r:   r:   *   s     r   r:   c                      e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d  Z"d! Z#d" Z$d# Z%d$ Z&d% Z'd& Z(d' Z)d( Z*d) Z+y*)+OperatorTestCasec                    | j                   }t        |j                        }t               }t        |      D ]@  }|j	                  d      rt        ||      }|j                  dv s0|j                  |       B | j                  ||       y )N__)r   r   )	moduleset__all__vars
startswithgetattrr-   addassertSetEqual)r   r   
actual_allcomputed_allnamevalues         r   test___all__zOperatorTestCase.test___all__0   s    ;;))*
uN 	'Dt$Hd+E#<<  &	' 	L*5r   c                 ,   | j                   }| j                  t        |j                         | j                  t        |j                  dd       | j	                  |j                  dd             | j	                  |j                  dd             | j	                  |j                  dd             | j	                  |j                  dd             | j                  |j                  dd             | j                  |j                  dd             y 	Ny              ?y               @   r                 ?          @)rB   assertRaises	TypeErrorltassertFalse
assertTruer   r   s     r   test_ltzOperatorTestCase.test_lt<   s    ;;)X[[1)X[["b9Q*+Q,-Q*+Q,-Aq)*As+,r   c                 ,   | j                   }| j                  t        |j                         | j                  t        |j                  dd       | j	                  |j                  dd             | j	                  |j                  dd             | j                  |j                  dd             | j                  |j                  dd             | j                  |j                  dd             | j                  |j                  dd             y rP   )rB   rV   rW   lerY   rZ   r[   s     r   test_lezOperatorTestCase.test_leG   s    ;;)X[[1)X[["b9Q*+Q,-Aq)*As+,Aq)*As+,r   c                 ^   | j                   } G d dt              }| j                  t        |j                         | j                  t
        |j                   |        |              | j                  |j	                  dd             | j                  |j	                  dd             | j                  |j	                  dd             | j                  |j	                  dd             | j                  |j	                  dd             | j                  |j	                  dd             y )	Nc                       e Zd Zd Zy)#OperatorTestCase.test_eq.<locals>.Cc                     t         r   SyntaxErrorr!   s     r   __eq__z*OperatorTestCase.test_eq.<locals>.C.__eq__U       !!r   N)r,   r-   r.   rf   r/   r   r   Crb   T       "r   rh   rQ   r   rR   rS   rT   rU   )rB   objectrV   rW   eqre   rY   rZ   r   r   rh   s      r   test_eqzOperatorTestCase.test_eqR   s    ;;	" 	" 	)X[[1+x{{AC=Q*+Q,-Aq)*As+,Q*+Q,-r   c                 ^   | j                   } G d dt              }| j                  t        |j                         | j                  t
        |j                   |        |              | j                  |j	                  dd             | j                  |j	                  dd             | j                  |j	                  dd             | j                  |j	                  dd             | j                  |j	                  dd             | j                  |j	                  dd             y )	Nc                       e Zd Zd Zy)#OperatorTestCase.test_ne.<locals>.Cc                     t         r   rd   r!   s     r   __ne__z*OperatorTestCase.test_ne.<locals>.C.__ne__c   rg   r   N)r,   r-   r.   rr   r/   r   r   rh   rp   b   ri   r   rh   rQ   r   rR   rS   rT   rU   )rB   rj   rV   rW   nere   rZ   rY   rl   s      r   test_nezOperatorTestCase.test_ne`   s    ;;	" 	" 	)X[[1+x{{AC=Aq)*As+,Q*+Q,-Aq)*As+,r   c                 ,   | j                   }| j                  t        |j                         | j                  t        |j                  dd       | j	                  |j                  dd             | j	                  |j                  dd             | j	                  |j                  dd             | j	                  |j                  dd             | j                  |j                  dd             | j                  |j                  dd             y rP   )rB   rV   rW   gerZ   rY   r[   s     r   test_gezOperatorTestCase.test_gen   s    ;;)X[[1)X[["b9Aq)*As+,Aq)*As+,Q*+Q,-r   c                 ,   | j                   }| j                  t        |j                         | j                  t        |j                  dd       | j	                  |j                  dd             | j	                  |j                  dd             | j                  |j                  dd             | j                  |j                  dd             | j                  |j                  dd             | j                  |j                  dd             y rP   )rB   rV   rW   gtrZ   rY   r[   s     r   test_gtzOperatorTestCase.test_gty   s    ;;)X[[1)X[["b9Aq)*As+,Q*+Q,-Q*+Q,-r   c                 "   | j                   }| j                  t        |j                         | j                  t        |j                  d        | j	                  |j                  d      d       | j	                  |j                  d      d       y )NrQ   )rB   rV   rW   absassertEqualr[   s     r   test_abszOperatorTestCase.test_abs   sf    ;;)X\\2)X\\48b)1-a!,r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j	                  |j                  dd      d       y )N         )rB   rV   rW   rH   r~   r[   s     r   test_addzOperatorTestCase.test_add   R    ;;)X\\2)X\\4>a+Q/r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j	                  |j                  dd      d       y )N   
   )rB   rV   rW   and_r~   r[   s     r   test_bitwise_andz!OperatorTestCase.test_bitwise_and   sR    ;;)X]]3)X]]D$?sC0#6r   c                 \   | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j	                  |j                  dd      d       | j	                  |j                  ddgddg      g d       | j	                  |j                  t        d	d
g      t        dg            g d       | j	                  |j                  t        d	d
g      t        dg            g d       | j                  t        |j                  dd       y )NpythonpythonrQ   rT   r   r   )rQ   rT   r   r         r   )r   r   r         )rB   rV   rW   concatr~   r
   r2   r[   s     r   test_concatzOperatorTestCase.test_concat   s    ;;)X__5)X__dDAv6A!Q!Q8,Gq!ftQCyA9Mq!ftQCyA9M)X__b"=r   c                 0   | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j                  t        |j                  t               d       | j                  |j                  g dd      d       | j                  |j                  g dd      d       t        d      }| j                  |j                  ||dg|      d       | j                  |j                  i di dgi       d       y )	NrQ   )rQ   rT   rQ   r   rQ   r   r   r   r   nan   rT   )rB   rV   rW   countOfr<   r:   r~   float)r   r   r   s      r   test_countOfzOperatorTestCase.test_countOf   s    ;;)X%5%56)X%5%5tTB+X-=-={}aP))*<a@!D))*<a@!DEl))3R.#>B))2q"a."=qAr   c                    | j                   }g d}| j                  t        |j                  |       | j                  t        |j                  |d        | j	                  |j                  |d             | j                  |g d       y )Nr   r   rT   rQ   rQ   )r   rT   rQ   )rB   rV   rW   delitemassertIsNoner~   r   r   as      r   test_delitemzOperatorTestCase.test_delitem   sm    ;;)X%5%5q9)X%5%5q$?(**1a01I&r   c                     | j                   }| j                  t        |j                  d       | j                  t        |j                  d d        | j	                  |j                  dd      d       y )Nr   rT   )rB   rV   rW   floordivr~   r[   s     r   test_floordivzOperatorTestCase.test_floordiv   sZ    ;;)X%6%6:)X%6%6dC**1a0!4r   c                     | j                   }| j                  t        |j                  d       | j                  t        |j                  d d        | j	                  |j                  dd      d       y )Nr   rT   g      @)rB   rV   rW   truedivr~   r[   s     r   test_truedivzOperatorTestCase.test_truediv   sZ    ;;)X%5%5q9)X%5%5tTB))!Q/5r   c                     | j                   }t        d      }| j                  t        |j                         | j                  t        |j                  |d        | j                  |j	                  |d      d       y )Nr   rT   )rB   rangerV   rW   getitemr~   r   s      r   test_getitemzOperatorTestCase.test_getitem   sa    ;;"I)X%5%56)X%5%5q$?))!Q/3r   c                    | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j                  t        |j                  t               d       | j                  |j                  g dd      d       | j                  t        |j                  g dd       t        d      }| j                  |j                  ||dg|      d       | j                  |j                  i di dgi       d       t        d      }| j                  |j                  |d	      d       | j                  t        |      d
       y )NrQ   r   r   r   r   r   rT   z:leave the iterator at exactly the position after the matchr   v)rB   rV   rW   indexOfr<   r:   r~   
ValueErrorr   iternext)r   r   r   its       r   test_indexOfzOperatorTestCase.test_indexOf   s   ;;)X%5%56)X%5%5tTB+X-=-={}aP)),:A>*h&6&6aHEl))3R.#>B))2q"a."=qANO))"c2A6b3'r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  d        | j	                  |j                  d      d       y )Nr   )rB   rV   rW   invertr~   invr[   s     r   test_invertzOperatorTestCase.test_invert   sM    ;;)X__5)X__d;a"-r   c                 l   | j                   }| j                  t        |j                         | j                  t        |j                  d d       | j	                  |j                  dd      d       | j	                  |j                  dd      d       | j                  t
        |j                  dd       y )N*   r   rQ   r   r   rT   r|   )rB   rV   rW   lshiftr~   r   r[   s     r   test_lshiftzOperatorTestCase.test_lshift   s    ;;)X__5)X__dB?A.3A.2*hooq"=r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  d d       | j	                  |j                  dd      d       y )Nr   r   rT   rQ   )rB   rV   rW   modr~   r[   s     r   test_modzOperatorTestCase.test_mod   sR    ;;)X\\2)X\\4<a+Q/r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j	                  |j                  dd      d       y )Nr   rT   r   )rB   rV   rW   mulr~   r[   s     r   test_mulzOperatorTestCase.test_mul   sR    ;;)X\\2)X\\4>a+R0r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  dd        G d d      }| j	                   |       dz  d       y )Nr   c                       e Zd Zd Zy)'OperatorTestCase.test_matmul.<locals>.Mc                     |dz
  S )NrQ   r/   r!   s     r   
__matmul__z2OperatorTestCase.test_matmul.<locals>.M.__matmul__   s    qy r   N)r,   r-   r.   r   r/   r   r   Mr      s    !r   r   )   )rB   rV   rW   matmulr~   )r   r   r   s      r   test_matmulzOperatorTestCase.test_matmul   sY    ;;)X__5)X__b"=	! 	! 	r2&r   c                    | j                   }| j                  t        |j                         | j                  t        |j                  d        | j	                  |j                  d      d       | j	                  |j                  d      d       | j	                  |j                  d      d       | j	                  |j                  d      d       y Nr   r   r   )rB   rV   rW   negr~   r[   s     r   test_negzOperatorTestCase.test_neg   s    ;;)X\\2)X\\48a"-b)1-a!,b)1-r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j	                  |j                  dd      d       y )Nr   r   r   )rB   rV   rW   or_r~   r[   s     r   test_bitwise_orz OperatorTestCase.test_bitwise_or  R    ;;)X\\2)X\\4>c3/5r   c                    | j                   }| j                  t        |j                         | j                  t        |j                  d        | j	                  |j                  d      d       | j	                  |j                  d      d       | j	                  |j                  d      d       | j	                  |j                  d      d       y r   )rB   rV   rW   posr~   r[   s     r   test_poszOperatorTestCase.test_pos	  s    ;;)X\\2)X\\48a!,b)2.a!,b)1-r   c                 l   | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j	                  |j                  dd      d       | j                  t        |j                  d       | j                  t        |j                  ddd       y )Nr   r      rQ   rT   )rB   rV   rW   powr~   r[   s     r   test_powzOperatorTestCase.test_pow  s    ;;)X\\2)X\\4>a*D1)X\\15)X\\1a;r   c                 l   | j                   }| j                  t        |j                         | j                  t        |j                  d d       | j	                  |j                  dd      d       | j	                  |j                  dd      d       | j                  t
        |j                  dd       y )Nr   r   rQ   rT   r   r|   )rB   rV   rW   rshiftr~   r   r[   s     r   test_rshiftzOperatorTestCase.test_rshift  s    ;;)X__5)X__dB?A.2A.2*hooq"=r   c                    | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j                  t        |j                  t               d       | j                  |j                  t        d      d             | j                  |j                  t        d      d             y )NrQ   r   rT   r   )	rB   rV   rW   containsr<   r:   rZ   r   rY   r[   s     r   test_containszOperatorTestCase.test_contains"  s    ;;)X%6%67)X%6%6dC+X->->qQ))%(A67**58Q78r   c                 ~   | j                   }t        t        d            }| j                  t        |j
                  |       | j                  t        |j
                  |d d        | j                  |j                  |dd             | j                  |g d       | j                  t        |j
                  |dd       y )Nr   r   rT   )rT   rQ   rT   r   )	rB   listr   rV   rW   setitemr   r~   
IndexErrorr   s      r   test_setitemzOperatorTestCase.test_setitem*  s    ;;qN)X%5%5q9)X%5%5q$E(**1a34I&*h&6&61a@r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j	                  |j                  dd      d       y )Nr   rT   r   )rB   rV   rW   subr~   r[   s     r   test_subzOperatorTestCase.test_sub3  r   r   c                    | j                   } G d dt              }| j                  t        |j                         | j                  t
        |j                   |              | j                  |j	                  d             | j                  |j	                  dg             | j                  |j	                  d             | j                  |j	                  g              y )Nc                       e Zd Zd Zy)&OperatorTestCase.test_truth.<locals>.Cc                     t         r   rd   r   s    r   __bool__z/OperatorTestCase.test_truth.<locals>.C.__bool__<  rg   r   N)r,   r-   r.   r   r/   r   r   rh   r   ;  ri   r   rh   r   r   )rB   rj   rV   rW   truthre   rZ   rY   rl   s      r   
test_truthzOperatorTestCase.test_truth9  s    ;;	" 	" 	)X^^4+x~~qs;q)*s+,*++,r   c                     | j                   }| j                  t        |j                         | j                  t        |j                  d d        | j	                  |j                  dd      d       y )N      r   )rB   rV   rW   xorr~   r[   s     r   test_bitwise_xorz!OperatorTestCase.test_bitwise_xorE  r   r   c                     | j                   }dx}}|d d |dd  z   }| j                  t        |j                         | j	                  |j                  ||             | j                  |j                  ||             y Nxyzpdqr   )rB   rV   rW   is_rZ   rY   r   r   r   bcs        r   test_iszOperatorTestCase.test_isK  sn    ;;AbqEAabEM)X\\2Q*+a*+r   c                     | j                   }dx}}|d d |dd  z   }| j                  t        |j                         | j	                  |j                  ||             | j                  |j                  ||             y r   )rB   rV   rW   is_notrY   rZ   r   s        r   test_is_notzOperatorTestCase.test_is_notS  sn    ;;AbqEAabEM)X__5A./!,-r   c                 z   | j                   } G d d      } |       }d|_        |j                  d      }| j                   ||      d       | j	                  t
        |       | j	                  t
        ||d       | j	                  t
        ||d       |j                  d      }| j	                  t        ||       | j	                  t
        |j                  d       | j	                  t
        |j                          |       }d	|_        d
|_        d|_	        | j                   |j                  ddd      |      d       | j	                  t
        |j                  d        G d dt              }| j	                  t        |j                  d       |               |       }d|_         |       |_        d|j                  _        |j                  d      }| j                   ||      d       | j	                  t        ||j                         |j                  dd      }| j                   ||      d       |j                  ddd      }| j	                  t        ||       |j                  d      }| j	                  t        ||       |j                  d      }| j	                  t        ||        |       |j                  _        d|j                  j                  _        |j                  d      }| j                   ||      d       |j                  ddd      }| j                   ||      d       y )Nc                       e Zd Zy)+OperatorTestCase.test_attrgetter.<locals>.ANr,   r-   r.   r/   r   r   Ar  ]      r   r  arthurrL   dent)surnamerankrT   XYZxzy)r
  r  r  )r  r/   r  c                       e Zd Zd Zy)+OperatorTestCase.test_attrgetter.<locals>.Cc                     t         r   rd   r   rL   s     r   __getattr__z7OperatorTestCase.test_attrgetter.<locals>.C.__getattr__t  rg   r   N)r,   r-   r.   r  r/   r   r   rh   r  s  ri   r   rh   foothomasz
child.name)r  r  zchild.child.namezchild.z.childjohnson)r  r  r  )rB   rL   
attrgetterr~   rV   rW   AttributeErrorr  r  r  rj   re   child)r   r   r  r   frecordrh   s          r   test_attrgetterz OperatorTestCase.test_attrgetter[  s   ;;	 	C'1x()Q')Q62)Q6:'.!Q/)X%8%8!<)X%8%89 9,,SS9&A?S)X%8%8.I	" 	" 	+x':':5'A13G C#-1x(.!QWW551346HI.!Q/).!Q/).!Q/& 231y)6HI1>?r   c           	         | j                   }d}|j                  d      }| j                   ||      d       | j                  t        |       | j                  t        ||d       | j                  t        ||d       |j                  d      }| j                  t
        ||        G d dt              }| j                  t        |j                  d       |              |j                  d	      }| j                  t        ||       | j                  t        |j                         t        d
      }|j                  d      }| j                   ||      d
       |j                  d      }| j                  t        ||       g d}|j                  d      }| j                  t        t        ||            g d       | j                  t        ||      g d       t        t        t        t        d                  }| j                   |j                  ddd      |      d       | j                  t        |j                  ddd      |       t        d      }	| j                   |j                  d      |	      d       | j                   |j                  t!        dd            |	      d        G d dt              }
| j                   |j                  d       |
d            d       | j                   |j                  d      g d       d       | j                   |j                  d      t        d!d"            d!       y )#NABCDErT   rh   r   )sizer   c                       e Zd Zd Zy)+OperatorTestCase.test_itemgetter.<locals>.Cc                     t         r   rd   r  s     r   r   z7OperatorTestCase.test_itemgetter.<locals>.C.__getitem__  rg   r   N)r,   r-   r.   r   r/   r   r   rh   r"    ri   r   r   rL   val)keyr%  nonkey)appler   bananarT   pearr   orangerQ   rQ   )r   rT   r   rQ   )r-  r)  r'  r+     r   )2105r  abcder|   er   )r   dc                       e Zd ZdZy)+OperatorTestCase.test_itemgetter.<locals>.TzTuple subclassN)r,   r-   r.   __doc__r/   r   r   Tr7    s    r   r9  r   abcr   )r   r   r   d      )rB   
itemgetterr~   rV   rW   r   rj   re   dictKeyErrorr   mapsortedstrr   tupleslice)r   r   r   r  rh   r5  	inventorygetcountdatatr9  s              r   test_itemgetterz OperatorTestCase.test_itemgetter  s   ;;"1s#)Q')Q1-)Q2#*a+	" 	" 	+x':':2'>D')Q*)X%8%89UO&1u%)(Aq) N	&&q)c(I67F	x8E	G CU2Y'(4,,Qr!4T:<LM)X%8%8C%CTJ 'N0,,R03S99,,U1a[9!<jI	 	 	/,,Q/%93?/,,Q/@#F/,,Q/c3@#Fr   c                 $   | j                   }| j                  t        |j                         | j                  t        |j                  d        G d d      } |       }|j                  d      }| j                  t        ||       |j                  ddd      }| j                   ||      d       | j                  t        |       | j                  t        ||d       | j                  t        ||d       |j                  d	      }| j                   ||      d
       | j                  t        |||       |j                  d	d      }| j                   ||      d       |j                  ddd      }| j                   ||      d       y )Nr   c                        e Zd Zd ZddZd Zy)-OperatorTestCase.test_methodcaller.<locals>.Ac                     |d   |d   z   S Nr   rQ   r/   r   argskwdss      r   r  z1OperatorTestCase.test_methodcaller.<locals>.A.foo      Awa((r   c                     |S r   r/   r   r  s     r   barz1OperatorTestCase.test_methodcaller.<locals>.A.bar      r   c                      |d   |d   fS NrL   r   r/   rP  rQ  s     r   bazz1OperatorTestCase.test_methodcaller.<locals>.A.baz      F|T&\11r   Nr   r,   r-   r.   r  rU  rZ  r/   r   r   r  rL        )2r   r  r  rQ   rT   r   )spamrU  r   r   r  rZ  r_  eggs)rL   r   )r_  ra  )rB   rV   rW   methodcallerr   r~   )r   r   r  r   r  s        r   test_methodcallerz"OperatorTestCase.test_methodcaller  s^   ;;)X%:%:;)X%:%:B?	2 	2 C!!%(*a+!!%A.1q!)Q')Q1-)Q2!!%(1r")Q1-!!%1!-1q!!!%f6!B1/0r   c                     | j                   } G d dt              } |       }| j                  |j                  |d      d       | j                  |j	                  |d      d       | j                  |j                  |d      d       | j                  |j                  |d      d       | j                  |j                  |d      d       | j                  |j                  |d      d	       | j                  |j                  |d      d
       | j                  |j                  |d      d       | j                  |j                  |d      d       | j                  |j                  |d      d       | j                  |j                  |d      d       | j                  |j                  |d      d       | j                  |j                  |d      d       | j                  |j!                  ||      d       y )Nc                   `    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zy)(OperatorTestCase.test_inplace.<locals>.Cc                      y)Niaddr/   r!   s     r   __iadd__z1OperatorTestCase.test_inplace.<locals>.C.__iadd__      6r   c                      y)Niandr/   r!   s     r   __iand__z1OperatorTestCase.test_inplace.<locals>.C.__iand__  rj  r   c                      y)N	ifloordivr/   r!   s     r   __ifloordiv__z6OperatorTestCase.test_inplace.<locals>.C.__ifloordiv__  s    ;r   c                      y)Nilshiftr/   r!   s     r   __ilshift__z4OperatorTestCase.test_inplace.<locals>.C.__ilshift__      9r   c                      y)Nimodr/   r!   s     r   __imod__z1OperatorTestCase.test_inplace.<locals>.C.__imod__  rj  r   c                      y)Nimulr/   r!   s     r   __imul__z1OperatorTestCase.test_inplace.<locals>.C.__imul__  rj  r   c                      y)Nimatmulr/   r!   s     r   __imatmul__z4OperatorTestCase.test_inplace.<locals>.C.__imatmul__  rt  r   c                      y)Niorr/   r!   s     r   __ior__z0OperatorTestCase.test_inplace.<locals>.C.__ior__  s    5r   c                      y)Nipowr/   r!   s     r   __ipow__z1OperatorTestCase.test_inplace.<locals>.C.__ipow__  rj  r   c                      y)Nirshiftr/   r!   s     r   __irshift__z4OperatorTestCase.test_inplace.<locals>.C.__irshift__  rt  r   c                      y)Nisubr/   r!   s     r   __isub__z1OperatorTestCase.test_inplace.<locals>.C.__isub__  rj  r   c                      y)Nitruedivr/   r!   s     r   __itruediv__z5OperatorTestCase.test_inplace.<locals>.C.__itruediv__  s    :r   c                      y)Nixorr/   r!   s     r   __ixor__z1OperatorTestCase.test_inplace.<locals>.C.__ixor__  rj  r   c                      y)Nr   r/   r!   s     r   r   z4OperatorTestCase.test_inplace.<locals>.C.__getitem__  s    r   N)r,   r-   r.   ri  rm  rp  rs  rw  rz  r}  r  r  r  r  r  r  r   r/   r   r   rh   rf    s,    99><99<89<9=92r   rh   r   rh  rl  ro  rr  rv  ry  r|  r  r  r  r  r  r  )rB   rj   r~   rh  rl  ro  rr  rv  ry  r|  r  r  r  r  r  r  iconcat)r   r   rh   r   s       r   test_inplacezOperatorTestCase.test_inplace  s   ;;	3 	3 CAq16:Aq16:++Aq1;?))Aq19=Aq16:Aq16:))Aq19=Aq159Aq16:))Aq19=Aq16:**Aq1:>Aq16:))Aq16:r   c                 b   | j                   } G d dt              }| j                  |j                  g d      d       | j                  |j                  t	        g d            d       | j                  |j                   |d            d       | j                  |j                   |t
              d      d       | j                  |j                   |t              d      d       | j                  t              5  |j                   |d	             d d d        | j                  t              5  |j                   |d
             d d d        | j                  t              5  |j                   |t                     d d d        y # 1 sw Y   xxY w# 1 sw Y   OxY w# 1 sw Y   y xY w)Nc                       e Zd Zd Zd Zy),OperatorTestCase.test_length_hint.<locals>.Xc                     || _         y r   )rM   )r   rM   s     r   r   z5OperatorTestCase.test_length_hint.<locals>.X.__init__  s	    "
r   c                 h    t        | j                        t         u r| j                  | j                  S r   )typerM   r   s    r   __length_hint__z<OperatorTestCase.test_length_hint.<locals>.X.__length_hint__  s'    

#t+**$::%r   N)r,   r-   r.   r   r  r/   r   r   r
  r    s    #&r   r
  rT   r   )rQ   rT   r   r   r   r   r:  )
rB   rj   r~   length_hintr   NotImplementedrW   rV   r   LookupError)r   r   r
  s      r   test_length_hintz!OperatorTestCase.test_length_hint  s[   ;;	& 	& 	--b!4a8--d9o>B--ad3Q7--a.?CQG--a	lB?Dy) 	+  5*	+z* 	(  2'	({+ 	1  ;0	1 	1		+ 	+	( 	(	1 	1s$   >F3F(F%FF"%F.c           	      Z   | j                   }d }| j                  |j                  |      di f       | j                  |j                  |dd      di f       | j                  |j                  |dd      ddddf       | j                  |j                  |dddd      ddddf       y )	Nc                  
    | |fS r   r/   )rP  kwargss     r   funcz(OperatorTestCase.test_call.<locals>.func  s    $,#6r   r/   r   rQ   )r   rQ   rT   r   )r   obj)rB   r~   call)r   r   r  s      r   	test_callzOperatorTestCase.test_call  s    ;;6t,r2h7tQ2VRLAtqa8Aa01	3tQQA> !"45	7r   c                    | j                   }t        |      D cg c]  }|j                  d      r| }}|D ]E  }t        ||      }t        |d|j	                  d      z   dz   d       }|s4| j                  ||       G y c c}w )N_rA   )rB   dirrF   rG   stripassertIs)r   r   rL   namesorigdunders         r   test_dunder_is_originalz(OperatorTestCase.test_dunder_is_original$  s    ;;"%h-L$ts7KLL 	,D8T*DXtdjjo'='DdKFfd+		, Ms
   BBN),r,   r-   r.   rN   r\   r_   rm   rt   rw   rz   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  rI  rc  r  r  r  r  r/   r   r   r?   r?   /   s    
6	-	-.-	.	.-07>B'564(.>01'.6.<>9A0
-6,.3@j1Gf16;B12
7,r   r?   c                       e Zd ZeZy)PyOperatorTestCaseN)r,   r-   r.   py_operatorrB   r/   r   r   r  r  .  s    Fr   r  zrequires _operatorc                       e Zd ZeZy)COperatorTestCaseN)r,   r-   r.   
c_operatorrB   r/   r   r   r  r  1  s    Fr   r  c                   $    e Zd Zd Zd Zd Zd Zy)OperatorPickleTestCasec                 j   t        j                  t        j                  d| j                        5  t        j                  ||      }d d d        t        j                  t        j                  d| j                        5  t        j                        cd d d        S # 1 sw Y   WxY w# 1 sw Y   y xY w)Nr   )	r   	swap_itemsysmodulesrB   pickledumpsmodule2loads)r   r  protopickleds       r   copyzOperatorPickleTestCase.copy7  s    s{{JD 	/ll3.G	/s{{JE 	)<<(	) 	)	/ 	/	) 	)s   B>B)B&)B2c                    | j                   j                  } G d d      } |       }d|_        d|_        d|_         |       |_         |       |j
                  _        d|j
                  j                  _        t        t        j                  dz         D ]4  }| j                  |      5   |d	      }| j                  ||      }| j                  t        |      t        |             | j                   ||       ||              |d	d
d      }| j                  ||      }| j                  t        |      t        |             | j                   ||       ||              |d      }| j                  ||      }| j                  t        |      t        |             | j                   ||       ||             d d d        7 y # 1 sw Y   CxY w)Nc                       e Zd Zy)1OperatorPickleTestCase.test_attrgetter.<locals>.ANr  r/   r   r   r  r  ?  r  r   r  r
  r  r  VrQ   r  r  r  r  zt.u.v)rB   r  r  r  r  rH  ur   r   r  HIGHEST_PROTOCOLsubTestr  r~   repr)r   r  r  r   r  r  f2s          r   r  z&OperatorPickleTestCase.test_attrgetter=  s   [[++
	 	Cc622Q67 	.EE* .sOYYq%(  b473  A!-sC-YYq%(  b473  A!-w'YYq%(  b473  A!-. .	.. .s   ,DGG	c                 8   | j                   j                  }d}t        t        j                  dz         D ]  }| j                  |      5   |d      }| j                  ||      }| j                  t        |      t        |             | j                   ||       ||              |ddd      }| j                  ||      }| j                  t        |      t        |             | j                   ||       ||             d d d         y # 1 sw Y   xY w)Nr  rQ   r  rT   r   r   )	rB   r=  r   r  r  r  r  r~   r  )r   r=  r   r  r  r  s         r   rI  z&OperatorPickleTestCase.test_itemgetterY  s    [[++
622Q67 
	.EE* 	.qMYYq%(  b473  A!-q!Q'YYq%(  b473  A!-	. 	.
	.	. 	.s   
B;DD	c                    | j                   j                  } G d d      } |       }t        t        j                  dz         D ]q  }| j                  |      5   |d      }| j                  ||      }| j                  t        |      t        |             | j                   ||       ||              |ddd      }| j                  ||      }| j                  t        |      t        |             | j                   ||       ||              |dd	      }| j                  ||      }| j                  t        |      t        |             | j                   ||       ||              |d
dd      }| j                  ||      }| j                   ||       ||             d d d        t y # 1 sw Y   xY w)Nc                        e Zd Zd ZddZd Zy)3OperatorPickleTestCase.test_methodcaller.<locals>.Ac                     |d   |d   z   S rN  r/   rO  s      r   r  z7OperatorPickleTestCase.test_methodcaller.<locals>.A.fook  rR  r   c                     |S r   r/   rT  s     r   rU  z7OperatorPickleTestCase.test_methodcaller.<locals>.A.barm  rV  r   c                      |d   |d   fS rX  r/   rY  s     r   rZ  z7OperatorPickleTestCase.test_methodcaller.<locals>.A.bazo  r[  r   Nr\  r]  r/   r   r   r  r  j  r^  r   r  rQ   r  rU  r  rT   r   r`  rZ  ra  r_  r  )	rB   rb  r   r  r  r  r  r~   r  )r   rb  r  r   r  r  r  s          r   rc  z(OperatorPickleTestCase.test_methodcallerh  s   {{//	2 	2 C622Q67 	.EE* . 'YYq%(  b473  A!- 1-YYq%(  b473  A!- !,YYq%(  b473  A!- V&AYYq%(  A!-%. .	.. .s   EF::G	N)r,   r-   r.   r  r  rI  rc  r/   r   r   r  r  6  s    ).8..r   r  c                       e Zd ZeZeZy)PyPyOperatorPickleTestCaseN)r,   r-   r.   r  rB   r  r/   r   r   r  r    s    FGr   r  c                       e Zd ZeZeZy)PyCOperatorPickleTestCaseN)r,   r-   r.   r  rB   r  r  r/   r   r   r  r    s    FGr   r  c                       e Zd ZeZeZy)CPyOperatorPickleTestCaseN)r,   r-   r.   r  rB   r  r  r/   r   r   r  r    s    FGr   r  c                       e Zd ZeZeZy)CCOperatorPickleTestCaseN)r,   r-   r.   r  rB   r  r/   r   r   r  r    s    FGr   r  __main__)unittestr  r  testr   test.supportr   import_fresh_moduler  r  r
   rj   r2   r:   r?   TestCaser  
skipUnlessr  r  r  r  r  r  r,   mainr/   r   r   <module>r     s     
  & 0m//
9DG.]..z6A]D
    6     
}, },~)8+<+<  Z!56((*;*;  7O. O.b!79J9J  Z!56 68I8I  7 Z!56 68I8I  7 Z!565x7H7H  7
 zHMMO r   