;
หโ"Ic               @   s|   d  Z  d d l Z d d l m Z d d l Z d d l m Z Gd   d e j  Z d   Z	 e
 d k o e j   n d S(	   u   Unit tests for abc.py.i    N(   u   support(   u
   isabstractc             B   sh   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
 S(   c             C   sK   t  j d    } |  j | j d  d   } |  j t | d  d  d  S(   Nc             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   foo   s    c             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   bar   s    u   __isabstractmethod__TF(   u   abcu   abstractmethodu   assertEqualu   __isabstractmethod__u   Trueu   hasattru   False(   u   selfu   foou   bar(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   test_abstractmethod_basics   s    	c             C   s   t  j d    } |  j | j d
  d   } |  j t | d  d  Gd   d d t  j } Gd   d |  } |  j |   j d	  d  S(   Nc             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   foo   s    c             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   bar   s    u   __isabstractmethod__c             B   s    |  Ee  Z e j d     Z d S(   c             S   s   d S(   Ni   (    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   foo   s    N(   u   __name__u
   __module__u   abcu   abstractpropertyu   foo(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   C   s   
u   Cu	   metaclassc                s#   |  Ee  Z e   f d     Z   S(   c                s
   t    j S(   N(   u   superu   foo(   u   self(   u	   __class__(    u*   /mit/python/lib/python3.0/test/test_abc.pyu   foo!   s    (   u   __name__u
   __module__u   propertyu   foo(   u
   __locals__(    (   u	   __class__u*   /mit/python/lib/python3.0/test/test_abc.pyu   D    s   
u   Di   TF(	   u   abcu   abstractpropertyu   assertEqualu   __isabstractmethod__u   Trueu   hasattru   Falseu   ABCMetau   foo(   u   selfu   foou   baru   Cu   D(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   test_abstractproperty_basics   s    	c                sZ  xSt  j t  j g D]?  G  f d   d d t  j } |  j | j d h  |  j t |  |  j t	 |   Gd   d |  } |  j | j d h  |  j t |  |  j t	 |   Gd   d |  } |  j | j t
    |   |  j t	 |   G  f d	   d
 |  } |  j | j d h  |  j t |  |  j t	 |   q Wd  S(   Nc                s&   |  Ee  Z   d     Z d   Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   foo(   s    c             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   bar*   s    N(   u   __name__u
   __module__u   foou   bar(   u
   __locals__(   u   abstractthing(    u*   /mit/python/lib/python3.0/test/test_abc.pyu   C'   s   
u   Cu	   metaclassu   fooc             B   s   |  Ee  Z d    Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   bar/   s    N(   u   __name__u
   __module__u   bar(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   D.   s   
u   Dc             B   s   |  Ee  Z d    Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   foo4   s    N(   u   __name__u
   __module__u   foo(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   E3   s   
u   Ec                s   |  Ee  Z   d     Z d S(   c             S   s   d  S(   N(    (   u   self(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   bar9   s    N(   u   __name__u
   __module__u   bar(   u
   __locals__(   u   abstractthing(    u*   /mit/python/lib/python3.0/test/test_abc.pyu   F8   s   
u   Fu   bar(   u   abcu   abstractmethodu   abstractpropertyu   ABCMetau   assertEqualu   __abstractmethods__u   assertRaisesu	   TypeErroru   assert_u
   isabstractu   setu   failIf(   u   selfu   Cu   Du   Eu   F(    (   u   abstractthingu*   /mit/python/lib/python3.0/test/test_abc.pyu   test_abstractmethod_integration%   s$     c             C   sP   Gd   d  } Gd   d  } |  j  t | |   |  j  t | |   d  S(   Nc             B   s   |  Ee  Z e j Z d  S(   N(   u   __name__u
   __module__u   abcu   ABCMetau   __metaclass__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   A@   s   
u   Ac             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   OldstyleClassB   s   
u   OldstyleClass(   u   assertFalseu
   issubclass(   u   selfu   Au   OldstyleClass(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   test_subclass_oldstyle_class?   s    c             C   s   Gd   d d t  j } Gd   d t  } |   } |  j t | |  d  |  j t | | f  d  |  j t | |  d  |  j t | | f  d  | j |  |  j t | |  d	  |  j t | | f  d	  |  j t | |  d	  |  j t | | f  d	  Gd   d |  } |   } |  j t | |  d	  |  j t | | f  d	  |  j t | |  d	  |  j t | | f  d	  d  S(
   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   AH   s   
u   Au	   metaclassc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   BJ   s   
u   Bc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   CV   s   
u   CFT(	   u   abcu   ABCMetau   objectu   assertEqualu
   issubclassu   Falseu
   isinstanceu   registeru   True(   u   selfu   Au   Bu   bu   Cu   c(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   test_registration_basicsG   s$    		c             C   sญ   Gd   d d t  j } Gd   d  } |   } |  j t | |  d  |  j t | | f  d  | j |  |  j t | |  d  |  j t | | f  d  d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   A_   s   
u   Au	   metaclassc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   Ba   s   
u   BFT(   u   abcu   ABCMetau   assertEqualu
   isinstanceu   Falseu   registeru   True(   u   selfu   Au   Bu   b(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   test_isinstance_invalidation^   s    	c             C   sf  Gd   d d t  j } | j t  |  j t d |  d
  |  j t d | f  d
  |  j t t |  d
  |  j t t | f  d
  Gd   d |  } | j t  Gd   d t  } |  j t d	 |  d
  |  j t d	 | f  d
  |  j t t |  d
  |  j t t | f  d
  |  j t | |  d
  |  j t | | f  d
  d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   Ak   s   
u   Au	   metaclassi*   c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   Br   s   
u   Bc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   Cu   s   
 u   Cu    T(	   u   abcu   ABCMetau   registeru   intu   assertEqualu
   isinstanceu   Trueu
   issubclassu   str(   u   selfu   Au   Bu   C(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   test_registration_builtinsj   s    c             C   sร   Gd   d d t  j } | j |  Gd   d |  } |  j t | j |  Gd   d t  } | j |  | j |  Gd   d	 |  } | j |  |  j t | j |  | j |  d  S(
   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   A~   s   
u   Au	   metaclassc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   A1   s   
u   A1c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   B   s   
u   Bc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   C   s   
u   C(   u   abcu   ABCMetau   registeru   assertRaisesu   RuntimeErroru   object(   u   selfu   Au   A1u   Bu   C(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   test_registration_edge_cases}   s    c             C   sด  Gd   d d t  j } |  j t | |   |  j t | | f   Gd   d d t  j } |  j t | |   |  j t | | f   |  j t | |   |  j t | | f   Gd   d d t  j } | j |  Gd   d	 |  } |  j t | |   |  j t | | f   Gd
   d |  } | j |  |  j t | |   |  j t | | f   |  j t | |   |  j t | | f   |  j t | |   |  j t | | f   |  j t | |   |  j t | | f   |  j t | |   |  j t | | f   | j t  Gd   d t  } |  j t | |   |  j t | | f   |  j t d |   |  j t d | f   d  S(   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   A   s   
u   Au	   metaclassc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   B   s   
u   Bc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   C   s   
u   Cc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   B1   s   
u   B1c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   C1    s   
u   C1c             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   MyIntฎ   s   
u   MyInti*   (   u   abcu   ABCMetau
   failUnlessu
   issubclassu   failIfu   registeru   intu
   isinstance(   u   selfu   Au   Bu   Cu   B1u   C1u   MyInt(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu    test_registration_transitiveness   s>    c                sy   Gd   d d t  j } G  f d   d t    Gd   d |    } |  j   j d  |   |  j   j d	  d  S(
   Nc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   Aถ   s   
u   Au	   metaclassc                s&   |  Ee  Z d  Z    f d   Z   S(   i    c                s     j  d 7_  t   j |   S(   Ni   (   u   counteru   superu   __new__(   u   cls(   u   Bu	   __class__(    u*   /mit/python/lib/python3.0/test/test_abc.pyu   __new__บ   s    (   u   __name__u
   __module__u   counteru   __new__(   u
   __locals__(   u   B(   u	   __class__u*   /mit/python/lib/python3.0/test/test_abc.pyu   Bธ   s   
u   Bc             B   s   |  Ee  Z d  S(   N(   u   __name__u
   __module__(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   Cฝ   s   
u   Ci    i   (   u   abcu   ABCMetau   objectu   assertEqualu   counter(   u   selfu   Au   C(    (   u   Bu*   /mit/python/lib/python3.0/test/test_abc.pyu   test_all_new_methods_are_calledต   s    N(   u   __name__u
   __module__u   test_abstractmethod_basicsu   test_abstractproperty_basicsu   test_abstractmethod_integrationu   test_subclass_oldstyle_classu   test_registration_basicsu   test_isinstance_invalidationu   test_registration_builtinsu   test_registration_edge_casesu    test_registration_transitivenessu   test_all_new_methods_are_called(   u
   __locals__(    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   TestABC   s   
									'u   TestABCc               C   s   t  j t  d  S(   N(   u   supportu   run_unittestu   TestABC(    (    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu	   test_mainฤ   s    u   __main__(   u   __doc__u   unittestu   testu   supportu   abcu   inspectu
   isabstractu   TestCaseu   TestABCu	   test_mainu   __name__u   main(    (    (    u*   /mit/python/lib/python3.0/test/test_abc.pyu   <module>   s   ท	