
"Ic           @   s  d  d k  Z  d  d k Z d  d k Z d  d k l Z l Z d d4 d     YZ d e f d     YZ d d5 d     YZ	 d	 d
 d d6 d g d7 d e	 d	  e d	  g	 Z d d d d d d d g Z e Z hQ d d d d d d d d8 g f d9 6d d: f d; 6d d d d d d d d  g f d< 6d d= d> d? d@ dA dB dC g f dD 6d e e d d g e e e e g f dE 6d e e dF e e e e g f dG 6d e e e e e e e g f dH 6d dI f dJ 6d dK f dL 6d dM f dN 6d dO f dP 6d dQ f dR 6d dS f dT 6d dU f dV 6d dW f dX 6d dY f dZ 6d d[ f d\ 6d d] f d^ 6d d d d d d d d g f d_ 6d d` f da 6d d d d d& d d d g f db 6d dc dd de df dg dh di g f dj 6d e e e e e e e g f dk 6d dl f dm 6d dn f do 6d dp f dq 6d dr f ds 6d dt du dv dw dx dy dz g f d{ 6d d| f d} 6d d~ d d d d d d g f d 6d d d d d d d d g f d 6d e e e e e e e g f d 6d d f d 6d d f d 6d d f d 6d d f d 6d e e d d g e e e e g f d 6d d f d 6d e e e e e e e g f d 6d e e e e e e e g f d 6d d d g e e e e e e g f d 6d) e e e e e e e g d d	 g e e e e e e g f d 6d e e e e e e e g f d 6d d f d 6d d f d 6d e e d e e e e g f d 6d d f d 6d e e e e e e e g f d 6d d f d 6d d f d 6d d e e e e e e g f d 6d e e e e e e e g f d 6d d f d 6d d f d 6d e e e e e e e g f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6d d f d 6Z d*   Z e   d+ g Z d d d d e e e e d g	 d d d d e e e e d g	 d d d d e e e e d g	 d d d d f d e e e e dg	 e e e e e e e e e g	 e e e e e e e e e g	 e e e e e e e e e g	 e e e e e e e e e g	 dddde e e e dg	 g	 Z d.   Z d/   Z d0 e i f d1     YZ d2   Z e d3 j o e   n d S(	  iN(   t   run_unittestt
   TestFailedt   CoerceNumberc           B   s#   e  Z d    Z d   Z d   Z RS(   c         C   s   | |  _  d  S(   N(   t   arg(   t   selfR   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __init__   s    c         C   s   d t  |  i  S(   Ns   <CoerceNumber %s>(   t   reprR   (   R   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __repr__   s    c         C   s2   t  | t  o |  i | i f S|  i | f Sd  S(   N(   t
   isinstanceR   R   (   R   t   other(    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt
   __coerce__   s    (   t   __name__t
   __module__R   R   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR      s   		t   CoerceToc           B   s   e  Z d    Z d   Z RS(   c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR      s    c         C   s2   t  | t  o |  i | i f S|  i | f Sd  S(   N(   R   R   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR
      s    (   R   R   R   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR      s   	t   MethodNumberc           B   s   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 RS(   c         C   s   | |  _  d  S(   N(   R   (   R   R   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR   !   s    c         C   s   d t  |  i  S(   Ns   <MethodNumber %s>(   R   R   (   R   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR   $   s    c         C   s   |  i  | S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __add__'   s    c         C   s   | |  i  S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __radd__*   s    c         C   s   |  i  | S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __sub__-   s    c         C   s   | |  i  S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __rsub__0   s    c         C   s   |  i  | S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __mul__3   s    c         C   s   | |  i  S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __rmul__6   s    c         C   s   |  i  | S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __div__9   s    c         C   s   | |  i  S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __rdiv__<   s    c         C   s   |  i  | S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __truediv__?   s    c         C   s   | |  i  S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __rtruediv__B   s    c         C   s   |  i  | S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __floordiv__E   s    c         C   s   | |  i  S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __rfloordiv__H   s    c         C   s   |  i  | S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __pow__K   s    c         C   s   | |  i  S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __rpow__N   s    c         C   s   |  i  | S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __mod__Q   s    c         C   s   | |  i  S(   N(   R   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __rmod__T   s    c         C   s   t  |  i |  S(   N(   t   cmpR   (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   __cmp__W   s    (   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    (    (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR       s&   																		i   l    g      @y                i   t   +t   -t   *s   **t   %s   //t   /t   bi   i    g      ?t   eg      @g       g       @g      0@g       @g        g      ?i   i   i   i   i   g      p@i   it   sc          C   s$  xt  t  D]}  t |  } | d d j o t | d t |  <q | d d j o | d | d f } n* | d d j o | d | d f } n xy t d  D]k } t | | d t  oM d d d j o | | d d | | d <q| | d d | | d <q q W| t |  <q Wd  S(   Ni    R'   i   R(   i   R&   i   (   t   sortedt   infix_resultst   rangeR   t   tuple(   t   keyt   valt   rest   i(    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   process_infix_results   s      
 "t   divmodl    l    c         C   s$   t  |   d j  o d Sd |  Sd  S(   Ng{Gz?s   0.0s   %.1f(   t   abs(   t   value(    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   format_float   s    c         C   sV   t  |  t  o! d t |  i  t |  i  f St  |  t  o t |   St |   S(   Ns
   (%s + %sj)(   R   t   complexR5   t   realt   imagt   floatt   str(   R4   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   format_result   s    t   CoercionTestc           B   s,   e  Z d    Z d   Z d   Z d   Z RS(   c   
      B   s  xye  e  D]k\ } } x\e  e  D]N\ } } e | | f } x/e e | d | d  D]\ } } } | e j o, |  i e e d | h | d 6| d 6 n: |  i	 e
 |  e
 e d |   d | | | | f  y e i |  }	 Wn e i j
 o | }	 n X| e j o7 y d | d  UWn e j
 o qpX|  i d  q] d | d  U|  i	 | |	  q] Wq& Wq Wd  S(	   Ni    i   s   a %s bt   aR&   s   %s %s %s == %s faileds   z %s= bs   TypeError not raised(   t	   enumeratet
   candidatesR*   t   zipt   infix_binopst   TEt   assertRaisest	   TypeErrort   evalt   assertEqualsR;   t   copyt   Errort   fail(
   R   t   iaR=   t   ibR&   t   resultst   opR/   t   irest   z(    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   test_infix_binops  s2        c         C   s   x t  t  D] \ } } x t  t  D] \ } } x t D] } t | | } | t j o, |  i t t d | h | d 6| d 6 q9 |  i t	 |  t	 t d |   d | | | | f  q9 Wq& Wq Wd  S(   Ns   %s(a, b)R=   R&   s   %s(%s, %s) == %s failed(
   R>   R?   t   prefix_binopst   prefix_resultsRB   RC   RD   RE   RF   R;   (   R   RJ   R=   RK   R&   RM   R/   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   test_prefix_binops  s        c            s   t  d  }   i t d |  d    i t t d  |  d  d t f   f d     Y}   i t |   |  d  d d	   f d     Y}   i t |   |  d  d  S(
   Ni*   u   fishi    i   t   WackyComparerc              s   e  Z   f d    Z d Z RS(   c            s     i  | d j d |  d S(   Ni*   s   expected evil_coercer, got %ri    (   t   assert_(   t   slfR	   (   R   (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR    5  s    N(   R   R   R    t   Nonet   __hash__(    (   R   (    s/   /mit/python/lib/python2.6/test/test_coercion.pyRT   4  s   t   ClassicWackyComparerc              s   e  Z   f d    Z RS(   c            s     i  | d j d |  d S(   Ni*   s   expected evil_coercer, got %ri    (   RU   (   RV   R	   (   R   (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR    <  s    (   R   R   R    (    (   R   (    s/   /mit/python/lib/python2.6/test/test_coercion.pyRY   ;  s   (    (   R   t   assertNotEqualsR   t   slicet   objectRF   (   R   t   evil_coercerRT   RY   (    (   R   s/   /mit/python/lib/python2.6/test/test_coercion.pyt   test_cmptypes+  s    c         C   sa   d d d     Y} t  d  } y |   d Wn& t t f j
 o d  S|  n X|  d  S(   Nt   Testerc           B   s   e  Z d    Z RS(   c         S   s
   | |  f S(   N(    (   R   R	   (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR
   E  s    (   R   R   R
   (    (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR_   D  s   sF   __coerce__() returning its arguments reverse should raise RuntimeErrori   (    (   R   t   RuntimeErrorRD   (   R   R_   t   exc(    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt!   test_infinite_rec_classic_classesA  s    
(   R   R   RP   RS   R^   Rb   (    (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyR<     s   			c           C   s$   t  i d d t d  t t  d  S(   Nt   ignores+   complex divmod\(\), // and % are deprecateds   test.test_coercion$(   t   warningst   filterwarningst   DeprecationWarningR    R<   (    (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt	   test_mainS  s
    	t   __main__(    (    y       @        (   i   (   i   g      ?(   i    i    (   i    i    (   i    i   (   i    i   y      @        y                y      @        y      @        y                y      ?        y      ?        (   i    i   (   i    i   (   i   i   (   i    i   (   i    i   (   i    i    (   i    i   (   i    i    (   i    i   (   i    i    (   i   i    (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i   i    (   i   i    (   i   i   (   i   i   y      @        y       @        y       @        y      0@        y                y       @        y       @        (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   y      @        y                y      @        y      @        y                y      ?        y      ?        (   i   i    (   i   i    (   i   i   y      @        y               y       @        y      0@        y       @        y                y      ?        (   i   i   y      @        y                y      @        y      @        y                y      ?        y      ?        (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i   (   i   i    (   i   i    (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i   i    (   i   i   (   i    i    (   i   i    (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i    (   i   i    (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i    i   (   i   i   (   i   i    (   l    l    (   g        g       @y      ?        (   y      ?        y                (   i   i    (   l    l    (   l    l    (   g        g       @y      ?        (   y      ?        y                (   l    l    (   g       @g        (   g       @g        (   g      ?g        y       @        (   y       @        y                (   g       @g        y      ?        (   y      ?        y                y      ?        (   y      ?        y                y       @        y      ?        (   y      ?        y                y      ?        (   y      ?        y                (   i   i    (   l    l    (   g        g       @y      ?        (   y      ?        y                (   i   i    (   RG   Rd   t   unittestt   test.test_supportR    R   R   R\   R   R   RW   R?   RA   RD   RB   R*   R1   RQ   RR   R5   R;   t   TestCaseR<   Rg   R   (    (    (    s/   /mit/python/lib/python2.6/test/test_coercion.pyt   <module>   s   ;"""(""""""""""(""(@""""""		$$		Q	