mς
­fIc           @   s:  d  k  Z  d k l Z d  k Z d e  i f d     YZ d e  i f d     YZ d e f d     YZ d e f d	     YZ	 e d
 f   Z
 e d
 e
 f  Z d f  d     YZ d e f d     YZ d e f d     YZ d e f d     YZ d e  i f d     YZ d   Z d   Z e d j o e   n d  S(   N(   s   test_supportt   TestIsInstanceExceptionsc           B   s,   t  Z d   Z d   Z d   Z d   Z RS(   Nc         C   sO   d t  f d     Y} d t  f d     Y} |  i t t |   |     d  S(   Nt   Ic           B   s   t  Z d   Z e e  Z RS(   Nc         C   s   d  S(   N(   t   None(   t   self(    (    t1   /mit/python/lib/python2.4/test/test_isinstance.pyt   getclass   s    (   t   __name__t
   __module__R   t   propertyt	   __class__(    (    (    R   R      s   	t   Cc           B   s   t  Z d   Z e e  Z RS(   Nc         C   s   f  S(   N(    (   R   (    (    R   t   getbases#   s    (   R   R   R   R   t	   __bases__(    (    (    R   R
   "   s   	(   t   objectR   R
   R   t   assertEqualt   Falset
   isinstance(   R   R
   R   (    (    R   t   test_class_has_no_bases   s    c            se   d t  f d     Y  d t  f   d     Y} d t  f d     Y} |  i t t |   |    d  S(   Nt   Ec           B   s   t  Z d   Z e e  Z RS(   Nc         C   s
   t   d  S(   N(   t   RuntimeError(   R   (    (    R   R   -   s    (   R   R   R   R   R   (    (    (    R   R   ,   s   	R   c              s    t  Z   d   Z e e  Z RS(   Nc            s       S(   N(   R   (   R   (   R   (    R   R   2   s    (   R   R   R   R   R	   (    (   R   (    R   R   1   s   R
   c           B   s   t  Z d   Z e e  Z RS(   Nc         C   s   f  S(   N(    (   R   (    (    R   R   7   s    (   R   R   R   R   R   (    (    (    R   R
   6   s   	(   R   R   R   R
   R   t   assertRaisesR   R   (   R   R
   R   R   (    (   R   R   t,   test_bases_raises_other_than_attribute_error+   s    c         C   sI   d f  d     Y} d t f d     Y} |  i t t |   |    d  S(   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   @   s    R
   c           B   s   t  Z d   Z e e  Z RS(   Nc         C   s
   t   d  S(   N(   R   (   R   (    (    R   R   C   s    (   R   R   R   R   R   (    (    (    R   R
   B   s   	(   R   R   R
   R   R   R   R   (   R   R
   R   (    (    R   t"   test_dont_mask_non_attribute_error?   s    c         C   sI   d f  d     Y} d t f d     Y} |  i t t |   |    d  S(   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   L   s    R
   c           B   s   t  Z d   Z e e  Z RS(   Nc         C   s
   t   d  S(   N(   t   AttributeError(   R   (    (    R   R   O   s    (   R   R   R   R   R   (    (    (    R   R
   N   s   	(   R   R   R
   R   R   t	   TypeErrorR   (   R   R
   R   (    (    R   t   test_mask_attribute_errorK   s    (   R   R   R   R   R   R   (    (    (    R   R       s   			t   TestIsSubclassExceptionsc           B   s,   t  Z d   Z d   Z d   Z d   Z RS(   Nc         C   sL   d t  f d     Y} d | f d     Y} |  i t t |   |    d  S(   NR
   c           B   s   t  Z d   Z e e  Z RS(   Nc         C   s
   t   d  S(   N(   R   (   R   (    (    R   R   ]   s    (   R   R   R   R   R   (    (    (    R   R
   \   s   	t   Sc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   a   s    (   R   R
   R   R   R   R   t
   issubclass(   R   R
   R   (    (    R   R   [   s    c         C   sL   d t  f d     Y} d | f d     Y} |  i t t |   |    d  S(   NR
   c           B   s   t  Z d   Z e e  Z RS(   Nc         C   s
   t   d  S(   N(   R   (   R   (    (    R   R   g   s    (   R   R   R   R   R   (    (    (    R   R
   f   s   	R   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   k   s    (   R   R
   R   R   R   R   R   (   R   R
   R   (    (    R   R   e   s    c         C   sF   d f  d     Y} d t f d     Y} |  i t t | |    d  S(   Nt   Bc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   t   s    R
   c           B   s   t  Z d   Z e e  Z RS(   Nc         C   s
   t   d  S(   N(   R   (   R   (    (    R   R   w   s    (   R   R   R   R   R   (    (    (    R   R
   v   s   	(   R   R   R
   R   R   R   R   (   R   R
   R   (    (    R   t-   test_dont_mask_non_attribute_error_in_cls_args   s    c         C   sF   d f  d     Y} d t f d     Y} |  i t t | |    d  S(   NR   c           B   s   t  Z RS(   N(   R   R   (    (    (    R   R   ~   s    R
   c           B   s   t  Z d   Z e e  Z RS(   Nc         C   s
   t   d  S(   N(   R   (   R   (    (    R   R      s    (   R   R   R   R   R   (    (    (    R   R
      s   	(   R   R   R
   R   R   R   R   (   R   R
   R   (    (    R   t$   test_mask_attribute_error_in_cls_arg}   s    (   R   R   R   R   R   R   (    (    (    R   R   Z   s   	
		
t   AbstractClassc           B   s/   t  Z d   Z d   Z e e  Z d   Z RS(   Nc         C   s   | |  _  d  S(   N(   t   basesR   (   R   R!   (    (    R   t   __init__   s    c         C   s   |  i S(   N(   R   R!   (   R   (    (    R   R      s    c         C   s
   t  |   S(   N(   t   AbstractInstanceR   (   R   (    (    R   t   __call__   s    (   R   R   R"   R   R   R   R$   (    (    (    R   R       s   		R#   c           B   s&   t  Z d   Z d   Z e e  Z RS(   Nc         C   s   | |  _  d  S(   N(   t   klassR   (   R   R%   (    (    R   R"      s    c         C   s   |  i S(   N(   R   R%   (   R   (    (    R   R      s    (   R   R   R"   R   R   R	   (    (    (    R   R#      s   		R!   t   Superc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R&   £   s   t   Childc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R'   ¦   s   t   NewSuperc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R(   ͺ   s   t   NewChildc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R)   ­   s   t   TestIsInstanceIsSubclassc           B   sG   t  Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   Nc         C   s¬   |  i t t t   t   |  i t t t   t   |  i t t t   t   |  i t t t   t   |  i t t t   t   |  i t t t   t   d  S(   N(	   R   R   t   TrueR   R&   R   R'   t   AbstractSupert   AbstractChild(   R   (    (    R   t   test_isinstance_normalΊ   s    c         C   sδ   |  i t t t   t   |  i t t t   t   |  i t t t   t   |  i t t t   t   |  i t t t   t   |  i t t t   t   |  i t t t   t   |  i t t t   t   d  S(   N(	   R   R   R+   R   R,   R   R-   R&   R'   (   R   (    (    R   t   test_isinstance_abstractΔ   s    c         C   s   |  i t t t t   |  i t t t t   |  i t t t t   |  i t t t t   |  i t t t t   |  i t t t t   d  S(   N(   R   R   R+   R   R&   R   R,   R'   (   R   (    (    R   t   test_subclass_normalΠ   s    c         C   s³   |  i t t t t   |  i t t t t   |  i t t t t   |  i t t t t   |  i t t t t   |  i t t t t   |  i t t t t   d  S(   N(	   R   R   R+   R   R,   R   R-   R'   R&   (   R   (    (    R   t   test_subclass_abstractΪ   s    c         C   s­  |  i t t t t f   |  i t t t t f   |  i t t t t f   |  i t t t t t f   |  i t t t f    |  i t t t t t f f   |  i t t t t f   |  i t t t t f   |  i t t t t f   |  i t t t t t f   |  i t t t f    |  i t t t t t f f   |  i t t t	 t
 t t	 f f   |  i t t t t t t t f f   d  S(   N(   R   R   R+   R   R'   R&   R   R)   R(   t   intt   longt   floatt   strt   unicodet
   basestring(   R   (    (    R   t   test_subclass_tupleε   s    ""%c         C   s   |  i t t t t t  d  S(   N(   R   R   R   t	   blowstackR   R5   (   R   (    (    R   t   test_subclass_recursion_limitψ   s    c         C   s   |  i t t t d t  d  S(   Nt    (   R   R   R   R9   R   R5   (   R   (    (    R   t   test_isinstance_recursion_limitύ   s    (	   R   R   R.   R/   R0   R1   R8   R:   R<   (    (    (    R   R*   ²   s   	
		
			c         C   sD   | f } x4 t t i   d  D] } | f } |  | |  q  Wd  S(   Ni   (   t
   compare_tot	   tuple_argt   xranget   syst   getrecursionlimitt   cntt   fxnt   arg(   RC   RD   R=   RB   R>   (    (    R   R9     s
    	 	c           C   s   t  i t t t  d  S(   N(   t   test_supportt   run_unittestR    R   R*   (    (    (    R   t	   test_main  s    	t   __main__(   t   unittestt   testRE   R@   t   TestCaseR    R   R   R    R#   R,   R-   R&   R'   R(   R)   R*   R9   RG   R   (   RE   R-   R9   R)   RI   R    R   R(   R@   R,   R*   RG   R#   R'   R&   R    (    (    R   t   ?   s"   		O0	P			