mò
­fIc           @   sÁ  d  k  Z  d k l Z d k l Z d  k Z d  k Z d  k Z d  k Z d e	 f d „  ƒ  YZ
 d „  Z d e  i f d „  ƒ  YZ d e f d	 „  ƒ  YZ d
 e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ e ƒ  Z d e  i f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d „  Z d  e  i f d! „  ƒ  YZ d" e  i f d# „  ƒ  YZ d$ e  i f d% „  ƒ  YZ  d& e  i f d' „  ƒ  YZ! d( e  i f d) „  ƒ  YZ" d* e  i f d+ „  ƒ  YZ# d, e# f d- „  ƒ  YZ$ d. e# f d/ „  ƒ  YZ% d0 e# f d1 „  ƒ  YZ& d2 e# f d3 „  ƒ  YZ' d4 e# f d5 „  ƒ  YZ( d6 e  i f d7 „  ƒ  YZ) d8 e) f d9 „  ƒ  YZ* d: e) f d; „  ƒ  YZ+ d< e) f d= „  ƒ  YZ, d> e) f d? „  ƒ  YZ- d@ e) f dA „  ƒ  YZ. dB e) f dC „  ƒ  YZ/ dD e  i f dE „  ƒ  YZ0 dF e0 f dG „  ƒ  YZ1 dH e0 f dI „  ƒ  YZ2 dJ e0 f dK „  ƒ  YZ3 dL e0 f dM „  ƒ  YZ4 dN e0 f dO „  ƒ  YZ5 dP e  i f dQ „  ƒ  YZ6 dR „  Z7 dS f  dT „  ƒ  YZ8 dU f  dV „  ƒ  YZ9 dW f  dX „  ƒ  YZ: dY f  dZ „  ƒ  YZ; d[ f  d\ „  ƒ  YZ< d] f  d^ „  ƒ  YZ= d_ f  d` „  ƒ  YZ> da k? l@ Z@ lA ZA db „  ZB dc e  i f dd „  ƒ  YZC d  de „ ZE eF df j o eE dg eG ƒ n d  S(h   N(   s   test_support(   s   proxyt   PassThruc           B   s   t  Z RS(   N(   t   __name__t
   __module__(    (    (    t*   /mit/python/lib/python2.4/test/test_set.pyR    	   s   c           c   s   t  ‚ d Vd  S(   Ni   (   R    (    (    (    R   t   check_pass_thru   s    t   TestJointOpsc           B   sÅ   t  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 RS(   Nc         C   sG   d |  _ } d |  _ d |  _ |  i | ƒ |  _ t i | ƒ |  _ d  S(   Nt
   simsalabimt
   madagascart4   abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ(	   t   selft   wordt	   otherwordt   letterst   thetypet   st   dictt   fromkeyst   d(   R	   R
   (    (    R   t   setUp   s
    		c         C   s   |  i t |  i g  d ƒ d  S(   Ni   (   R	   t   assertRaisest	   TypeErrorR   (   R	   (    (    R   t   test_new_or_init   s    c         C   sd   t  |  i ƒ } t  |  i ƒ } |  i | | ƒ |  i t |  i	 t
 ƒ  ƒ |  i t |  i	 g  g ƒ d  S(   N(   t   sortedR	   R   t   actualR   t   expectedt   assertEqualR   R    R   R   R   (   R	   R   R   (    (    R   t   test_uniquification   s
    c         C   s&   |  i t |  i ƒ t |  i ƒ ƒ d  S(   N(   R	   R   t   lenR   R   (   R	   (    (    R   t   test_len$   s    c         C   s   x3 |  i D]( } |  i | |  i j | |  i j ƒ q
 W|  i t |  i i g  g ƒ |  i	 t
 |  i ƒ g ƒ } |  i |  i	 |  i ƒ | j ƒ d  S(   N(   R	   R   t   cR   R   R   R   R   t   __contains__R   t	   frozensett   assert_(   R	   R   R   (    (    R   t   test_contains'   s    
 &c         C   s­  |  i i |  i ƒ } x@ |  i D]5 } |  i | | j | |  i j p | |  i j ƒ q W|  i |  i |  i	 |  i
 ƒ ƒ |  i t | ƒ |  i	 ƒ |  i t |  i i t ƒ  ƒ |  i t |  i i g  g ƒ xÞ t t t i t t t t f D]¾ } |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d	 ƒ ƒ qç Wd  S(
   Nt   abcbat   cdct   abcdt   efgfet   abcefgt   ccbt   abct   eft   abcef(   R	   R   t   unionR   t   uR   R   R   R   R   R
   t   typeR   R    R   R   t   setR   R   R   t   strt   unicodet   listt   tuplet   C(   R	   R   R3   R,   (    (    R   t
   test_union.   s    
 3 ...c         C   sŽ   |  i i |  i ƒ } |  i |  i t |  i ƒ B| ƒ |  i |  i t |  i ƒ B| ƒ y |  i |  i BWn t j
 o n X|  i	 d ƒ d  S(   Ns(   s|t did not screen-out general iterables(
   R	   R   R+   R   t   iR   R.   R   R   t   fail(   R	   R5   (    (    R   t   test_or<   s      c         C   s‘  |  i i |  i ƒ } x@ |  i D]5 } |  i | | j | |  i j o | |  i j ƒ q W|  i |  i |  i	 |  i
 ƒ ƒ |  i t | ƒ |  i	 ƒ |  i t |  i i t ƒ  ƒ xÞ t t t i t t t t f D]¾ } |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ qË Wd  S(	   NR"   R#   t   ccR%   t    R'   t   bcR)   (   R	   R   t   intersectionR   R5   R   R   R   R   R   R
   R-   R   R    R   R.   R   R   R   R/   R0   R1   R2   R3   (   R	   R   R5   R3   (    (    R   t   test_intersectionG   s    
 3 ...c         C   sŽ   |  i i |  i ƒ } |  i |  i t |  i ƒ @| ƒ |  i |  i t |  i ƒ @| ƒ y |  i |  i @Wn t j
 o n X|  i	 d ƒ d  S(   Ns(   s&t did not screen-out general iterables(
   R	   R   R;   R   R5   R   R.   R   R   R6   (   R	   R5   (    (    R   t   test_andT   s      c         C   s­  |  i i |  i ƒ } x@ |  i D]5 } |  i | | j | |  i j o | |  i j ƒ q W|  i |  i |  i	 |  i
 ƒ ƒ |  i t | ƒ |  i	 ƒ |  i t |  i i t ƒ  ƒ |  i t |  i i g  g ƒ xÞ t t t i t t t t f D]¾ } |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ qç Wd  S(	   NR"   R#   t   abR%   R(   R'   t   aR)   (   R	   R   t
   differenceR   R5   R   R   R   R   R   R
   R-   R   R    R   R   R.   R   R   R   R/   R0   R1   R2   R3   (   R	   R   R5   R3   (    (    R   t   test_difference_   s    
 3 ...c         C   sŽ   |  i i |  i ƒ } |  i |  i t |  i ƒ | ƒ |  i |  i t |  i ƒ | ƒ y |  i |  i Wn t j
 o n X|  i	 d ƒ d  S(   Ns(   s-t did not screen-out general iterables(
   R	   R   R@   R   R5   R   R.   R   R   R6   (   R	   R5   (    (    R   t   test_subm   s      c         C   sª  |  i i |  i ƒ } x= |  i D]2 } |  i | | j | |  i j | |  i j Aƒ q W|  i |  i |  i	 |  i
 ƒ ƒ |  i t | ƒ |  i	 ƒ |  i t |  i i t ƒ  ƒ |  i t |  i i g  g ƒ xÞ t t t i t t t t f D]¾ } |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d ƒ ƒ |  i |  i	 d ƒ i | d ƒ ƒ t d	 ƒ ƒ qä Wd  S(
   NR"   R#   t   abdR%   R&   R'   R?   R)   R*   (   R	   R   t   symmetric_differenceR   R5   R   R   R   R   R   R
   R-   R   R    R   R   R.   R   R   R   R/   R0   R1   R2   R3   (   R	   R   R5   R3   (    (    R   t   test_symmetric_differencex   s    
 0 ...c         C   sŽ   |  i i |  i ƒ } |  i |  i t |  i ƒ A| ƒ |  i |  i t |  i ƒ A| ƒ y |  i |  i AWn t j
 o n X|  i	 d ƒ d  S(   Ns(   s^t did not screen-out general iterables(
   R	   R   RD   R   R5   R   R.   R   R   R6   (   R	   R5   (    (    R   t   test_xor†   s      c         C   s¬   |  i |  i t |  i ƒ ƒ |  i |  i t |  i ƒ ƒ |  i |  i |  i j t ƒ |  i |  i t |  i ƒ ƒ |  i |  i t |  i ƒ ƒ |  i |  i |  i j t	 ƒ d  S(   N(
   R	   R   R   R.   R
   R   t   Falset   assertNotEqualR   t   True(   R	   (    (    R   t   test_equality‘   s    c         C   sG   t  t d d d d d g ƒ } |  i | ƒ } |  i t | ƒ d ƒ d  S(   Nt   abcdeft   bcdt   bdcbt   fedt   fedccbai   (   t   mapR   t   tR	   R   R   R   R   (   R	   R   RQ   (    (    R   t   test_setOfFrozensets™   s    c         C   s    |  i t |  i i |  i ƒ d  S(   N(   R	   R   R   R   t   __cmp__(   R	   (    (    R   t   test_comparež   s    c         C   sC  t  |  i d d d g ƒ \ } } } |  i | | j  ƒ |  i | | j ƒ |  i | | j ƒ |  i | | j ƒ |  i | | j ƒ |  i | | j  ƒ |  i | | j ƒ |  i | | j ƒ |  i | | j ƒ |  i t d ƒ i	 d ƒ ƒ |  i t d ƒ i
 d ƒ ƒ |  i t d ƒ i	 d ƒ ƒ |  i t d ƒ i
 d ƒ ƒ d  S(   NR>   t   abcdet   defR?   R(   t   cbs(   RP   R	   R   t   pt   qt   rR    t   failIfR.   t   issubsett
   issuperset(   R	   RY   RX   RZ   (    (    R   t   test_sub_and_super¡   s    $c         C   sÂ   x» d D]³ } t i |  i | ƒ } t i | ƒ } |  i |  i | d |  i | f ƒ t	 |  i ƒ t
 t f j oJ d |  i _ t i |  i ƒ } t i | ƒ } |  i |  i i | i ƒ q q Wd  S(   Ni    i   i   s   %s != %si
   (   i    i   i   (   R5   t   picklet   dumpsR	   R   RX   t   loadst   dupR   R-   R.   R   t   x(   R	   R5   RX   Rb   (    (    R   t   test_pickling±   s     #c            s°   d f  ‡  d †  ƒ  Y‰  ˆ  d ƒ } |  i | g ƒ } t i | ƒ } |  i t	 | ƒ t	 | ƒ ƒ x | D] } | } qf W|  i t	 | ƒ t	 | ƒ ƒ |  i | i d | i ƒ d  S(   Nt   Tracerc              s)   t  Z d „  Z d „  Z d  ‡  d † Z RS(   Nc         C   s   | |  _  d  S(   N(   t   valueR	   (   R	   Rf   (    (    R   t   __init__¾   s    c         C   s   |  i S(   N(   R	   Rf   (   R	   (    (    R   t   __hash__À   s    c            s   ˆ  |  i d ƒ S(   Ni   (   Re   R	   Rf   (   R	   t   memo(   Re   (    R   t   __deepcopy__Â   s    (   R   R   Rg   Rh   t   NoneRj   (    (   Re   (    R   Re   ½   s   		i
   i   (   Re   RQ   R	   R   R   t   copyt   deepcopyRb   RH   t   idt   elemt   newtR   Rf   (   R	   Ro   R   RQ   Rb   Re   Rp   (    (   Re   R   t   test_deepcopy¼   s     
c            sk   d f  d „  ƒ  Y‰  t ‡  d †  t d ƒ Dƒ ƒ } x2 | D]* } | | _ | | _ t | g ƒ | _ q9 Wd  S(   Nt   Ac           B   s   t  Z RS(   N(   R   R   (    (    (    R   Rr   Ï   s   c         #   s   x |  ] } ˆ  ƒ  Vq Wd  S(   N(   t   [outmost-iterable]R5   Rr   (   Rs   R5   (   Rr   (    R   t   <generator expression>Ñ   s    iè  (   Rr   R.   t   xrangeR   Ro   t   cyclet   sub(   R	   Rr   Ro   R   (    (   Rr   R   t   test_gcÍ   s     		c         C   sv   d |  i f d „  ƒ  Y} | ƒ  } t ƒ  } | i | ƒ |  i | | j ƒ | i | ƒ | i | ƒ | i	 | ƒ d  S(   Nt   Hc           B   s   t  Z d „  Z RS(   Nc         C   s
   t  |  ƒ S(   N(   Rn   R	   (   R	   (    (    R   Rh   Ú   s    (   R   R   Rh   (    (    (    R   Ry   Ù   s   (
   R	   R   Ry   R   R.   t   ft   addR    t   removet   discard(   R	   Ry   R   Rz   (    (    R   t   test_subclass_with_custom_hash×   s    		(   R   R   R   R   R   R   R!   R4   R7   R<   R=   RA   RB   RE   RF   RJ   RR   RT   R^   Rd   Rq   Rx   R~   (    (    (    R   R      s*   																				
t   TestSetc           B   s¹   t  Z 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(   Nc         C   s‘   |  i ƒ  } | i |  i ƒ |  i | t |  i ƒ ƒ | i |  i ƒ |  i | t |  i ƒ ƒ |  i t	 | i | d ƒ |  i t	 | i d ƒ d  S(   Ni   i   (
   R	   R   R   Rg   R
   R   R.   R   R   R   (   R	   R   (    (    R   t	   test_initç   s    c         C   sD   |  i t d ƒ ƒ } |  i | ƒ } |  i t | ƒ t | ƒ ƒ d  S(   Ni   (   R	   R   t   rangeR   RQ   RH   Rn   (   R	   R   RQ   (    (    R   t   test_constructor_identityð   s    c         C   s   |  i t t |  i ƒ d  S(   N(   R	   R   R   t   hashR   (   R	   (    (    R   t	   test_hashõ   s    c         C   s@   |  i i ƒ  |  i |  i t ƒ  ƒ |  i t |  i ƒ d ƒ d  S(   Ni    (   R	   R   t   clearR   R.   R   (   R	   (    (    R   t
   test_clearø   s    c         C   sE   |  i i ƒ  } |  i |  i | ƒ |  i t |  i ƒ t | ƒ ƒ d  S(   N(   R	   R   Rl   Rb   R   RH   Rn   (   R	   Rb   (    (    R   t	   test_copyý   s    c         C   su   |  i i d ƒ |  i d |  i j ƒ |  i i ƒ  } |  i i d ƒ |  i |  i | ƒ |  i t |  i i g  ƒ d  S(   Nt   Q(	   R	   R   R{   R    Rl   Rb   R   R   R   (   R	   Rb   (    (    R   t   test_add  s    c         C   só   |  i i d ƒ |  i d |  i j ƒ |  i t |  i i d ƒ |  i t |  i i g  ƒ |  i t |  i	 ƒ g ƒ } |  i |  i |  i	 ƒ | j ƒ | i |  i |  i	 ƒ ƒ |  i |  i |  i	 ƒ | j ƒ |  i t |  i i |  i |  i	 ƒ ƒ d  S(   NR?   Rˆ   (
   R	   R   R|   R    R   t   KeyErrorR   R   R   R
   (   R	   R   (    (    R   t   test_remove
  s    c         C   sÞ   |  i i d ƒ |  i d |  i j ƒ |  i i d ƒ |  i t |  i i g  ƒ |  i t |  i ƒ g ƒ } |  i |  i |  i ƒ | j ƒ | i |  i |  i ƒ ƒ |  i |  i |  i ƒ | j ƒ | i |  i |  i ƒ ƒ d  S(   NR?   Rˆ   (	   R	   R   R}   R    R   R   R   R   R
   (   R	   R   (    (    R   t   test_discard  s    c         C   s_   xB t  t |  i ƒ ƒ D]+ } |  i i ƒ  } |  i | |  i j ƒ q W|  i t	 |  i i ƒ d  S(   N(
   Ru   R   R	   R   R5   t   popRo   R    R   RŠ   (   R	   R5   Ro   (    (    R   t   test_pop   s
     c         C   s"  |  i i |  i ƒ } |  i | d  ƒ x. |  i |  i D] } |  i	 | |  i j ƒ q6 W|  i
 t |  i i t ƒ  ƒ |  i
 t |  i i g  g ƒ x d
 d d d f D]y \ } } xj t t t i t t t t f D]J } |  i d	 ƒ } |  i | i | | ƒ ƒ d  ƒ |  i | t | ƒ ƒ qÌ Wq¡ Wd  S(   NR#   R$   R%   R&   R'   R(   R)   R*   R"   (   s   cdcs   abcd(   s   efgfes   abcefg(   s   ccbs   abc(   s   efs   abcef(   R	   R   t   updateR   t   retvalR   Rk   R
   R   R    R   R    R   R   RX   RY   R.   R   R   R   R/   R0   R1   R2   R3   R   (   R	   R   R3   RY   RX   R   R   (    (    R   t   test_update&  s       c         C   sM   |  i t |  i ƒ O_ x. |  i |  i D] } |  i | |  i j ƒ q) Wd  S(   N(   R	   R   R.   R   R
   R   R    (   R	   R   (    (    R   t   test_ior3  s     c         C   s\  |  i i |  i ƒ } |  i | d  ƒ xh |  i |  i D]V } | |  i j o* | |  i j o |  i	 | |  i j ƒ q6 |  i	 | |  i j ƒ q6 W|  i
 t |  i i t ƒ  ƒ |  i
 t |  i i g  g ƒ x d	 d
 d d f D]y \ } } xj t t t i t t t t f D]J } |  i d ƒ } |  i | i | | ƒ ƒ d  ƒ |  i | t | ƒ ƒ qWqÛ Wd  S(   NR#   R   R%   R9   R'   R:   R)   R"   (   s   cdcR   (   s   efgfeR9   (   s   ccbs   bc(   s   efR9   (   R	   R   t   intersection_updateR   R   R   Rk   R
   R   R    R   R    R   R   RX   RY   R.   R   R   R   R/   R0   R1   R2   R3   R   (   R	   R   R3   RY   RX   R   R   (    (    R   t   test_intersection_update8  s         c         C   s‡   |  i t |  i ƒ M_ xh |  i |  i D]V } | |  i j o* | |  i j o |  i | |  i j ƒ q) |  i | |  i j ƒ q) Wd  S(   N(   R	   R   R.   R   R
   R   R    (   R	   R   (    (    R   t	   test_iandH  s      c         C   sx  |  i i |  i ƒ } |  i | d  ƒ xh |  i |  i D]V } | |  i j o* | |  i j o |  i	 | |  i j ƒ q6 |  i	 | |  i j ƒ q6 W|  i
 t |  i i t ƒ  ƒ |  i
 t |  i i g  g ƒ |  i
 t |  i i g  g ƒ x d	 d
 d d f D]y \ } } xj t t t i t t t t f D]J } |  i d ƒ } |  i | i | | ƒ ƒ d  ƒ |  i | t | ƒ ƒ q"Wq÷ Wd  S(   NR#   R>   R%   R(   R'   R?   R)   R"   (   s   cdcs   ab(   s   efgfes   abc(   s   ccbR?   (   s   efs   abc(   R	   R   t   difference_updateR   R   R   Rk   R
   R   R    R   R    R   R   t   symmetric_difference_updateRX   RY   R.   R   R   R   R/   R0   R1   R2   R3   R   (   R	   R   R3   RY   RX   R   R   (    (    R   t   test_difference_updateP  s"        c         C   s‡   |  i t |  i ƒ 8_ xh |  i |  i D]V } | |  i j o* | |  i j o |  i | |  i j ƒ q) |  i | |  i j ƒ q) Wd  S(   N(   R	   R   R.   R   R
   R   R    (   R	   R   (    (    R   t	   test_isuba  s      c         C   sY  |  i i |  i ƒ } |  i | d  ƒ xe |  i |  i D]S } | |  i j | |  i j Ao |  i	 | |  i j ƒ q6 |  i	 | |  i j ƒ q6 W|  i
 t |  i i t ƒ  ƒ |  i
 t |  i i g  g ƒ x d
 d d d f D]y \ } } xj t t t i t t t t f D]J } |  i d	 ƒ } |  i | i | | ƒ ƒ d  ƒ |  i | t | ƒ ƒ qWqØ Wd  S(   NR#   RC   R%   R&   R'   R?   R)   R*   R"   (   s   cdcs   abd(   s   efgfes   abcefg(   s   ccbR?   (   s   efs   abcef(   R	   R   R—   R   R   R   Rk   R
   R   R    R   R    R   R   RX   RY   R.   R   R   R   R/   R0   R1   R2   R3   R   (   R	   R   R3   RY   RX   R   R   (    (    R   t    test_symmetric_difference_updatei  s        c         C   s„   |  i t |  i ƒ N_ xe |  i |  i D]S } | |  i j | |  i j Ao |  i | |  i j ƒ q) |  i | |  i j ƒ q) Wd  S(   N(   R	   R   R.   R   R
   R   R    (   R	   R   (    (    R   t	   test_ixory  s     c         C   sœ   |  i i ƒ  } | | O} |  i | |  i ƒ | | M} |  i | |  i ƒ | | 8} |  i | |  i ƒ  ƒ |  i i ƒ  } | | N} |  i | |  i ƒ  ƒ d  S(   N(   R	   R   Rl   RQ   R   R   (   R	   RQ   (    (    R   t   test_inplace_on_self  s    



c         C   sT   |  i d ƒ } t | ƒ } |  i t | ƒ t | ƒ ƒ d  } |  i t	 t | ƒ d  S(   Nt   gallahad(
   R	   R   R   t   proxyRX   R   R/   Rk   R   t   ReferenceError(   R	   RX   R   (    (    R   t   test_weakref  s
    (   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   ä   s(   																			t   SetSubclassc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R¡   ”  s   t   TestSetSubclassc           B   s   t  Z e Z RS(   N(   R   R   R¡   R   (    (    (    R   R¢   —  s   t   TestFrozenSetc           B   sM   t  Z e Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 RS(   Nc         C   s?   |  i |  i ƒ } | i |  i ƒ |  i | t |  i ƒ ƒ d  S(   N(   R	   R   R
   R   Rg   R   R   R.   (   R	   R   (    (    R   R€     s    c         C   sD   |  i t d ƒ ƒ } |  i | ƒ } |  i t | ƒ t | ƒ ƒ d  S(   Ni   (   R	   R   R   R   RQ   R   Rn   (   R	   R   RQ   (    (    R   R‚   ¢  s    c         C   s2   |  i t |  i d ƒ ƒ t |  i d ƒ ƒ ƒ d  S(   Nt   abcdebt   ebecda(   R	   R   Rƒ   R   (   R	   (    (    R   R„   §  s    c         C   s2   |  i i ƒ  } |  i t |  i ƒ t | ƒ ƒ d  S(   N(   R	   R   Rl   Rb   R   Rn   (   R	   Rb   (    (    R   R‡   «  s    c         C   s•   t  d ƒ t d ƒ d g } |  i | ƒ } |  i t | ƒ ƒ } |  i | | ƒ |  i	 t
 | ƒ t
 | ƒ ƒ h  } d | | <|  i | | d ƒ d  S(   Ni
   t   abcdefgt   applei*   (   R   R1   t   seqR	   R   t   key1t   reversedt   key2R   RH   Rn   R   (   R	   R   R¨   R«   R©   (    (    R   t   test_frozen_as_dictkey¯  s    
c         C   s/   |  i d ƒ } |  i t | ƒ t | ƒ ƒ d  S(   Nt   abcdcda(   R	   R   Rz   R   Rƒ   (   R	   Rz   (    (    R   t   test_hash_caching¹  s    c   	      C   sÌ   d } t ƒ  } | i } g  } t | ƒ D] } | | d d | >f q) ~ } x^ t	 d | ƒ D]L } | t
 t g  } | D]" \ } } | | @o | | qx qx ~ ƒ ƒ ƒ q^ W|  i t | ƒ d | ƒ d  S(   Ni   i   i   (   t   nR.   t
   hashvaluesR{   t   addhashvaluet   _[1]R   R5   t	   elemmasksRu   Rƒ   R   t   et   mR	   R   R   (	   R	   R5   R±   Rµ   R¯   R²   R³   R°   R´   (    (    R   t   test_hash_effectiveness½  s    		5 J(   R   R   R   R   R€   R‚   R„   R‡   R¬   R®   R¶   (    (    (    R   R£   š  s   					
	t   FrozenSetSubclassc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R·   Æ  s   t   TestFrozenSetSubclassc           B   s)   t  Z e Z d „  Z d „  Z d „  Z RS(   Nc         C   sD   |  i t d ƒ ƒ } |  i | ƒ } |  i t | ƒ t | ƒ ƒ d  S(   Ni   (   R	   R   R   R   RQ   RH   Rn   (   R	   R   RQ   (    (    R   R‚   Ì  s    c         C   s2   |  i i ƒ  } |  i t |  i ƒ t | ƒ ƒ d  S(   N(   R	   R   Rl   Rb   RH   Rn   (   R	   Rb   (    (    R   R‡   Ñ  s    c         C   s/   |  i ƒ  } |  i | ƒ } |  i | | ƒ d  S(   N(   R	   R   R   RQ   R   (   R	   R   RQ   (    (    R   t   test_nested_empty_constructorÕ  s    (   R   R   R·   R   R‚   R‡   R¹   (    (    (    R   R¸   É  s   		t   TestBasicOpsc           B   s³   t  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(   Nc         C   s4   |  i d  j	 o  |  i t |  i ƒ |  i ƒ n d  S(   N(   R	   t   reprRk   R   R.   (   R	   (    (    R   t	   test_reprâ  s    c         C   s€   z^ t  t i d ƒ } | |  i I| i ƒ  t  t i d ƒ } |  i | i ƒ  t	 |  i ƒ ƒ Wd  | i ƒ  t
 i t i ƒ Xd  S(   Nt   wbt   rb(   t   opent   test_supportt   TESTFNt   foR	   R.   t   closeR   t   readR»   t   osR|   (   R	   RÂ   (    (    R   t
   test_printæ  s    
# 
c         C   s    |  i t |  i ƒ |  i ƒ d  S(   N(   R	   R   R   R.   t   length(   R	   (    (    R   t   test_lengthñ  s    c         C   s   |  i |  i |  i ƒ d  S(   N(   R	   R   R.   (   R	   (    (    R   t   test_self_equalityô  s    c         C   s   |  i |  i |  i ƒ d  S(   N(   R	   R   R.   Rb   (   R	   (    (    R   t   test_equivalent_equality÷  s    c         C   s    |  i |  i i ƒ  |  i ƒ d  S(   N(   R	   R   R.   Rl   Rb   (   R	   (    (    R   R‡   ú  s    c         C   s'   |  i |  i B} |  i | |  i ƒ d  S(   N(   R	   R.   t   resultR   Rb   (   R	   RË   (    (    R   t   test_self_unioný  s    c         C   s$   |  i t B} |  i | |  i ƒ d  S(   N(   R	   R.   t	   empty_setRË   R   Rb   (   R	   RË   (    (    R   t   test_empty_union  s    c         C   s$   t  |  i B} |  i | |  i ƒ d  S(   N(   RÍ   R	   R.   RË   R   Rb   (   R	   RË   (    (    R   t   test_union_empty  s    c         C   s'   |  i |  i @} |  i | |  i ƒ d  S(   N(   R	   R.   RË   R   Rb   (   R	   RË   (    (    R   t   test_self_intersection	  s    c         C   s!   |  i t @} |  i | t ƒ d  S(   N(   R	   R.   RÍ   RË   R   (   R	   RË   (    (    R   t   test_empty_intersection  s    c         C   s!   t  |  i @} |  i | t  ƒ d  S(   N(   RÍ   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_intersection_empty  s    c         C   s$   |  i |  i A} |  i | t ƒ d  S(   N(   R	   R.   RË   R   RÍ   (   R	   RË   (    (    R   t   test_self_symmetric_difference  s    c         C   s$   |  i t A} |  i | |  i ƒ d  S(   N(   R	   R.   RÍ   RË   R   (   R	   RË   (    (    R   t   checkempty_symmetric_difference  s    c         C   s$   |  i |  i } |  i | t ƒ d  S(   N(   R	   R.   RË   R   RÍ   (   R	   RË   (    (    R   t   test_self_difference  s    c         C   s$   |  i t } |  i | |  i ƒ d  S(   N(   R	   R.   RÍ   RË   R   Rb   (   R	   RË   (    (    R   t   test_empty_difference!  s    c         C   s!   t  |  i } |  i | t  ƒ d  S(   N(   RÍ   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_empty_difference_rev%  s    c         C   s.   x' |  i D] } |  i | |  i j ƒ q
 Wd  S(   N(   R	   R.   t   vR    t   values(   R	   RØ   (    (    R   t   test_iteration)  s    
 c         C   sH   t  i |  i ƒ } t  i | ƒ } |  i |  i | d |  i | f ƒ d  S(   Ns   %s != %s(   R_   R`   R	   R.   RX   Ra   Rl   R   (   R	   RX   Rl   (    (    R   Rd   -  s    (   R   R   R¼   RÆ   RÈ   RÉ   RÊ   R‡   RÌ   RÎ   RÏ   RÐ   RÑ   RÒ   RÓ   RÔ   RÕ   RÖ   R×   RÚ   Rd   (    (    (    R   Rº   à  s&   																		t   TestBasicOpsEmptyc           B   s   t  Z d „  Z RS(   Nc         C   sL   d |  _ g  |  _ t |  i ƒ |  _ t |  i ƒ |  _ d |  _ d |  _ d  S(   Ns	   empty seti    s   set([])(   R	   t   caseRÙ   R.   Rb   RÇ   R»   (   R	   (    (    R   R   6  s    			(   R   R   R   (    (    (    R   RÛ   5  s   t   TestBasicOpsSingletonc           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   sO   d |  _ d g |  _ t |  i ƒ |  _ t |  i ƒ |  _ d |  _ d |  _ d  S(   Ns   unit set (number)i   i   s   set([3])(   R	   RÜ   RÙ   R.   Rb   RÇ   R»   (   R	   (    (    R   R   A  s    		c         C   s   |  i d |  i j ƒ d  S(   Ni   (   R	   t
   failUnlessR.   (   R	   (    (    R   t   test_inI  s    c         C   s   |  i d |  i j ƒ d  S(   Ni   (   R	   RÞ   R.   (   R	   (    (    R   t   test_not_inL  s    (   R   R   R   Rß   Rà   (    (    (    R   RÝ   @  s   		t   TestBasicOpsTuplec           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   sO   d |  _ d g |  _ t |  i ƒ |  _ t |  i ƒ |  _ d |  _ d |  _ d  S(   Ns   unit set (tuple)i    t   zeroi   s   set([(0, 'zero')])(   i    s   zero(   R	   RÜ   RÙ   R.   Rb   RÇ   R»   (   R	   (    (    R   R   R  s    		c         C   s   |  i d |  i j ƒ d  S(   Ni    Râ   (   i    s   zero(   R	   RÞ   R.   (   R	   (    (    R   Rß   Z  s    c         C   s   |  i d |  i j ƒ d  S(   Ni	   (   R	   RÞ   R.   (   R	   (    (    R   Rà   ]  s    (   R   R   R   Rß   Rà   (    (    (    R   Rá   Q  s   		t   TestBasicOpsTriplec           B   s   t  Z d „  Z RS(   Nc         C   sX   d |  _ d d t i g |  _ t |  i ƒ |  _ t |  i ƒ |  _ d |  _ d  |  _	 d  S(   Ns
   triple seti    Râ   i   (
   R	   RÜ   t   operatorR{   RÙ   R.   Rb   RÇ   Rk   R»   (   R	   (    (    R   R   c  s    		(   R   R   R   (    (    (    R   Rã   b  s   c           c   s   t  ‚ t Vd  S(   N(   R   RI   (    (    (    R   t   baditerm  s    c           c   s   t  Vd  S(   N(   RI   (    (    (    R   t   gooditerq  s    t   TestExceptionPropagationc           B   s    t  Z d  Z d „  Z d „  Z RS(   s?   SF 628246:  Set constructor should not trap iterator TypeErrorsc         C   s   |  i t t t ƒ  ƒ d  S(   N(   R	   R   R   R.   Rå   (   R	   (    (    R   t   test_instanceWithExceptionw  s    c         C   sm   t  d d d g ƒ t  d ƒ t  h  d d <d d <d d <ƒ t  t d ƒ ƒ t  d ƒ t  t ƒ  ƒ d  S(	   Ni   i   i   t   onet   twot   threeR(   (   i   i   i   (   R.   Ru   Ræ   (   R	   (    (    R   t   test_instancesWithoutExceptionz  s    
%
(   R   R   t   __doc__Rè   Rì   (    (    (    R   Rç   t  s    	t   TestSetOfSetsc           B   s   t  Z d „  Z RS(   Nc         C   s~   t  d g ƒ } t | g ƒ } | i ƒ  } |  i t | ƒ t  ƒ | i	 | ƒ | i
 | ƒ |  i | t ƒ  ƒ | i | ƒ d  S(   Ni   (   R   t   innerR.   t   outerR   t   elementR	   R   R-   R{   R|   R}   (   R	   Rð   Rñ   Rï   (    (    R   t   test_constructor†  s    (   R   R   Rò   (    (    (    R   Rî   …  s   t   TestBinaryOpsc           B   s   t  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(   Nc         C   s   t  d ƒ |  _  d  S(   Ni   i   i   (   i   i   i   (   R.   R	   (   R	   (    (    R   R   “  s    c         C   s8   |  i |  i t h  d d <d d <d d <ƒ ƒ d  S(   Ni   i   i   i   i   i   (   R	   R   R.   (   R	   (    (    R   t   test_eq–  s    c         C   s0   |  i t d g ƒ B} |  i | t d ƒ ƒ d  S(   Ni   i   i   (   i   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_union_subset™  s    c         C   sE   |  i t d d d d g ƒ B} |  i | t d d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_union_superset  s    c         C   sE   |  i t d d d g ƒ B} |  i | t d d d d d g ƒ ƒ d  S(   Ni   i   i   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_union_overlap¡  s    c         C   s<   |  i t d g ƒ B} |  i | t d d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_union_non_overlap¥  s    c         C   s-   |  i t d ƒ @} |  i | t d ƒ ƒ d  S(   Ni   i   (   i   i   (   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_intersection_subset©  s    c         C   sB   |  i t d d d d g ƒ @} |  i | t d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_intersection_superset­  s    c         C   s9   |  i t d d d g ƒ @} |  i | t d g ƒ ƒ d  S(   Ni   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_intersection_overlap±  s    c         C   s*   |  i t d g ƒ @} |  i | t ƒ d  S(   Ni   (   R	   R.   RË   R   RÍ   (   R	   RË   (    (    R   t   test_intersection_non_overlapµ  s    c         C   s0   |  i t d ƒ A} |  i | t d g ƒ ƒ d  S(   Ni   i   i   (   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_sym_difference_subset¹  s    c         C   s0   |  i t d ƒ A} |  i | t d g ƒ ƒ d  S(   Ni   i   i   i   (   i   i   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_sym_difference_superset½  s    c         C   s9   |  i t d ƒ A} |  i | t d d d d g ƒ ƒ d  S(   Ni   i   i   i   i   (   i   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_sym_difference_overlapÁ  s    c         C   s<   |  i t d g ƒ A} |  i | t d d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   RË   R   (   R	   RË   (    (    R   t   test_sym_difference_non_overlapÅ  s    c         C   sx   t  d ƒ t  d ƒ } } |  i t t | | ƒ |  i t | | ƒ d ƒ |  i t t | d ƒ |  i t t d | ƒ d  S(   NR?   t   bi    i   R(   (   R.   R?   R  R	   R   R   t   cmpR   (   R	   R?   R  (    (    R   t   test_cmpÉ  s
    (   R   R   R   Rô   Rõ   Rö   R÷   Rø   Rù   Rú   Rû   Rü   Rý   Rþ   Rÿ   R   R  (    (    (    R   Ró   ’  s   														t   TestUpdateOpsc           B   sÅ   t  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 RS(   Nc         C   s   t  d ƒ |  _  d  S(   Ni   i   i   (   i   i   i   (   R.   R	   (   R	   (    (    R   R   Ù  s    c         C   s5   |  i t d g ƒ O_ |  i |  i t d ƒ ƒ d  S(   Ni   i   i   (   i   i   i   (   R	   R.   R   (   R	   (    (    R   Rõ   Ü  s    c         C   sJ   |  i t d d d d g ƒ O_ |  i |  i t d d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   R   (   R	   (    (    R   Rö   à  s    !c         C   sJ   |  i t d d d g ƒ O_ |  i |  i t d d d d d g ƒ ƒ d  S(   Ni   i   i   i   i   (   R	   R.   R   (   R	   (    (    R   R÷   ä  s    c         C   sA   |  i t d g ƒ O_ |  i |  i t d d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   R   (   R	   (    (    R   Rø   è  s    c         C   sK   |  i i t d d d g ƒ ƒ |  i |  i t d d d d d g ƒ ƒ d  S(   Ni   i   i   i   i   (   R	   R.   R   R   (   R	   (    (    R   t   test_union_method_callì  s    c         C   s2   |  i t d ƒ M_ |  i |  i t d ƒ ƒ d  S(   Ni   i   (   i   i   (   i   i   (   R	   R.   R   (   R	   (    (    R   Rù   ð  s    c         C   sG   |  i t d d d d g ƒ M_ |  i |  i t d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   R   (   R	   (    (    R   Rú   ô  s    !c         C   s>   |  i t d d d g ƒ M_ |  i |  i t d g ƒ ƒ d  S(   Ni   i   i   (   R	   R.   R   (   R	   (    (    R   Rû   ø  s    c         C   s/   |  i t d g ƒ M_ |  i |  i t ƒ d  S(   Ni   (   R	   R.   R   RÍ   (   R	   (    (    R   Rü   ü  s    c         C   s?   |  i i t d d d g ƒ ƒ |  i |  i t d g ƒ ƒ d  S(   Ni   i   i   (   R	   R.   R“   R   (   R	   (    (    R   t   test_intersection_method_call   s    c         C   s5   |  i t d ƒ N_ |  i |  i t d g ƒ ƒ d  S(   Ni   i   i   (   i   i   (   R	   R.   R   (   R	   (    (    R   Rý     s    c         C   s5   |  i t d ƒ N_ |  i |  i t d g ƒ ƒ d  S(   Ni   i   i   i   (   i   i   i   i   (   R	   R.   R   (   R	   (    (    R   Rþ     s    c         C   s>   |  i t d ƒ N_ |  i |  i t d d d d g ƒ ƒ d  S(   Ni   i   i   i   i   (   i   i   i   (   R	   R.   R   (   R	   (    (    R   Rÿ     s    c         C   sA   |  i t d g ƒ N_ |  i |  i t d d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   R   (   R	   (    (    R   R     s    c         C   sH   |  i i t d d d g ƒ ƒ |  i |  i t d d d d g ƒ ƒ d  S(   Ni   i   i   i   i   (   R	   R.   R—   R   (   R	   (    (    R   t   test_sym_difference_method_call  s    c         C   s5   |  i t d ƒ 8_ |  i |  i t d g ƒ ƒ d  S(   Ni   i   i   (   i   i   (   R	   R.   R   (   R	   (    (    R   t   test_difference_subset  s    c         C   s2   |  i t d ƒ 8_ |  i |  i t g  ƒ ƒ d  S(   Ni   i   i   i   (   i   i   i   i   (   R	   R.   R   (   R	   (    (    R   t   test_difference_superset  s    c         C   s8   |  i t d ƒ 8_ |  i |  i t d d g ƒ ƒ d  S(   Ni   i   i   i   i   (   i   i   i   (   R	   R.   R   (   R	   (    (    R   t   test_difference_overlap   s    c         C   s>   |  i t d g ƒ 8_ |  i |  i t d d d g ƒ ƒ d  S(   Ni   i   i   i   (   R	   R.   R   (   R	   (    (    R   t   test_difference_non_overlap$  s    c         C   sB   |  i i t d d d g ƒ ƒ |  i |  i t d d g ƒ ƒ d  S(   Ni   i   i   i   i   (   R	   R.   R–   R   (   R	   (    (    R   t   test_difference_method_call(  s    (   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  Ø  s*   																				t
   TestMutatec           B   s†   t  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(   Nc         C   s(   d d d g |  _ t |  i ƒ |  _ d  S(   NR?   R  R   (   R	   RÙ   R.   (   R	   (    (    R   R   /  s    c         C   s-   |  i i d ƒ |  i |  i t d ƒ ƒ d  S(   NR   R(   (   R	   R.   R{   R   (   R	   (    (    R   t   test_add_present3  s    c         C   s-   |  i i d ƒ |  i |  i t d ƒ ƒ d  S(   NR   R$   (   R	   R.   R{   R   (   R	   (    (    R   t   test_add_absent7  s    c         C   sg   t  ƒ  } d } x> |  i D]3 } | i | ƒ | d 7} |  i t | ƒ | ƒ q W|  i | |  i  ƒ d  S(   Ni    i   (	   R.   t   tmpt   expected_lenR	   RÙ   RØ   R{   R   R   (   R	   R  R  RØ   (    (    R   t   test_add_until_full;  s    	
 
c         C   s-   |  i i d ƒ |  i |  i t d ƒ ƒ d  S(   NR  t   ac(   R	   R.   R|   R   (   R	   (    (    R   t   test_remove_presentD  s    c         C   s;   y! |  i i d ƒ |  i d ƒ Wn t j
 o n Xd  S(   NR   s7   Removing missing element should have raised LookupError(   R	   R.   R|   R6   t   LookupError(   R	   (    (    R   t   test_remove_absentH  s
    c         C   sZ   t  |  i ƒ } xD |  i D]9 } |  i i | ƒ | d 8} |  i t  |  i ƒ | ƒ q Wd  S(   Ni   (   R   R	   R.   R  RÙ   RØ   R|   R   (   R	   R  RØ   (    (    R   t   test_remove_until_emptyO  s    
 
c         C   s-   |  i i d ƒ |  i |  i t d ƒ ƒ d  S(   NR   R>   (   R	   R.   R}   R   (   R	   (    (    R   t   test_discard_presentV  s    c         C   s-   |  i i d ƒ |  i |  i t d ƒ ƒ d  S(   NR   R(   (   R	   R.   R}   R   (   R	   (    (    R   t   test_discard_absentZ  s    c         C   s*   |  i i ƒ  |  i t |  i ƒ d ƒ d  S(   Ni    (   R	   R.   R…   R   R   (   R	   (    (    R   R†   ^  s    c         C   su   h  } x" |  i o d  | |  i i ƒ  <q	 W|  i t | ƒ t |  i ƒ ƒ x$ |  i D] } |  i	 | | j ƒ qT Wd  S(   N(
   t   poppedR	   R.   Rk   R   R   R   RÙ   RØ   RÞ   (   R	   R  RØ   (    (    R   RŽ   b  s     

 c         C   s0   |  i i f  ƒ |  i |  i t |  i ƒ ƒ d  S(   N(   R	   R.   R   R   RÙ   (   R	   (    (    R   t   test_update_empty_tuplej  s    c         C   s0   |  i i d ƒ |  i |  i t |  i ƒ ƒ d  S(   NR?   (   R?   (   R	   R.   R   R   RÙ   (   R	   (    (    R   t   test_update_unit_tuple_overlapn  s    c         C   s7   |  i i d ƒ |  i |  i t |  i d g ƒ ƒ d  S(   NR?   t   z(   R?   R  (   R	   R.   R   R   RÙ   (   R	   (    (    R   t"   test_update_unit_tuple_non_overlapr  s    (   R   R   R   R  R  R  R  R  R  R  R  R†   RŽ   R  R  R  (    (    (    R   R  .  s   														t   TestSubsetsc           B   se   t  Z h  d d <d d <Z h  d d <d d <d d <d d <d d <d d <Z d	 „  Z RS(
   Ns   <=R\   s   >=R]   s   ==s   !=t   <t   >c         C   s#  |  i } |  i } x
d	 D]} | |  i j } t d | d t	 ƒ  ƒ } |  i | | ƒ | t i j o6 t | t i | ƒ } | | ƒ } |  i | | ƒ n t i | } t d | d t	 ƒ  ƒ } |  i | | ƒ | t i j o6 t | t i | ƒ } | | ƒ } |  i | | ƒ q q Wd  S(
   Ns   !=s   ==R   s   <=R!  s   >=Rc   t   y(   s   !=s   ==R   s   <=R!  s   >=(   R	   t   leftRc   t   rightR"  RÜ   t   casesR   t   evalt   localsRË   R   R  t   case2methodt   getattrt   methodt   reverset   rcase(   R	   RÜ   R   RË   R"  Rc   R,  R*  (    (    R   t   test_issubset†  s$    		 (   R   R   R(  R+  R-  (    (    (    R   R  x  s   <t   TestSubsetEqualEmptyc           B   s&   t  Z e ƒ  Z e ƒ  Z d Z d Z RS(   Ns
   both emptys   ==s   <=s   >=(   s   ==s   <=s   >=(   R   R   R.   R#  R$  t   nameR%  (    (    (    R   R.  ž  s   		t   TestSubsetEqualNonEmptyc           B   s8   t  Z e d d g ƒ Z e d d g ƒ Z d Z d Z RS(   Ni   i   s
   equal pairs   ==s   <=s   >=(   s   ==s   <=s   >=(   R   R   R.   R#  R$  R/  R%  (    (    (    R   R0  ¦  s   t   TestSubsetEmptyNonEmptyc           B   s/   t  Z e ƒ  Z e d d g ƒ Z d Z d Z RS(   Ni   i   s   one empty, one non-emptys   !=R   s   <=(   s   !=R   s   <=(   R   R   R.   R#  R$  R/  R%  (    (    (    R   R1  ®  s   	t   TestSubsetPartialc           B   s5   t  Z e d g ƒ Z e d d g ƒ Z d Z d Z RS(   Ni   i   s&   one a non-empty proper subset of others   !=R   s   <=(   s   !=R   s   <=(   R   R   R.   R#  R$  R/  R%  (    (    (    R   R2  ¶  s   t   TestSubsetNonOverlapc           B   s2   t  Z e d g ƒ Z e d g ƒ Z d Z d Z RS(   Ni   i   s   neither empty, neither containss   !=(   R   R   R.   R#  R$  R/  R%  (    (    (    R   R3  ¾  s   t   TestOnlySetsInBinaryOpsc           B   s†   t  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(   Nc         C   st   |  i |  i |  i j t ƒ |  i |  i |  i j t ƒ |  i |  i |  i j t ƒ |  i |  i |  i j t ƒ d  S(   N(   R	   R   t   otherR.   RG   RI   (   R	   (    (    R   t
   test_eq_neÈ  s    c            s´   ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ d  S(	   Nc              s   ˆ  i ˆ  i j  S(   N(   R	   R.   R5  (    (   R	   (    R   t   <lambda>Ð  s    c              s   ˆ  i ˆ  i j S(   N(   R	   R.   R5  (    (   R	   (    R   R7  Ñ  s    c              s   ˆ  i ˆ  i j S(   N(   R	   R.   R5  (    (   R	   (    R   R7  Ò  s    c              s   ˆ  i ˆ  i j S(   N(   R	   R.   R5  (    (   R	   (    R   R7  Ó  s    c              s   ˆ  i ˆ  i j  S(   N(   R	   R5  R.   (    (   R	   (    R   R7  Õ  s    c              s   ˆ  i ˆ  i j S(   N(   R	   R5  R.   (    (   R	   (    R   R7  Ö  s    c              s   ˆ  i ˆ  i j S(   N(   R	   R5  R.   (    (   R	   (    R   R7  ×  s    c              s   ˆ  i ˆ  i j S(   N(   R	   R5  R.   (    (   R	   (    R   R7  Ø  s    (   R	   R   R   (   R	   (    (   R	   R   t   test_ge_gt_le_ltÏ  s    c         C   s=   y |  i |  i O_ Wn t j
 o n X|  i d ƒ d  S(   Ns   expected TypeError(   R	   R.   R5  R   R6   (   R	   (    (    R   t   test_update_operatorÚ  s
    c         C   sA   |  i o |  i i |  i ƒ n |  i t |  i i |  i ƒ d  S(   N(   R	   t   otherIsIterableR.   R   R5  R   R   (   R	   (    (    R   R‘   â  s    
c            sm   ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i o ˆ  i i ˆ  i ƒ n ˆ  i t ˆ  i i ˆ  i ƒ d  S(   Nc              s   ˆ  i ˆ  i BS(   N(   R	   R.   R5  (    (   R	   (    R   R7  é  s    c              s   ˆ  i ˆ  i BS(   N(   R	   R5  R.   (    (   R	   (    R   R7  ê  s    (   R	   R   R   R:  R.   R+   R5  (   R	   (    (   R	   R   R4   è  s
    
c         C   s=   y |  i |  i M_ Wn t j
 o n X|  i d ƒ d  S(   Ns   expected TypeError(   R	   R.   R5  R   R6   (   R	   (    (    R   t!   test_intersection_update_operatorð  s
    c         C   sA   |  i o |  i i |  i ƒ n |  i t |  i i |  i ƒ d  S(   N(   R	   R:  R.   R“   R5  R   R   (   R	   (    (    R   R”   ø  s
    
		c            sm   ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i o ˆ  i i ˆ  i ƒ n ˆ  i t ˆ  i i ˆ  i ƒ d  S(   Nc              s   ˆ  i ˆ  i @S(   N(   R	   R.   R5  (    (   R	   (    R   R7    s    c              s   ˆ  i ˆ  i @S(   N(   R	   R5  R.   (    (   R	   (    R   R7    s    (   R	   R   R   R:  R.   R;   R5  (   R	   (    (   R	   R   R<      s
    
c         C   s=   y |  i |  i N_ Wn t j
 o n X|  i d ƒ d  S(   Ns   expected TypeError(   R	   R.   R5  R   R6   (   R	   (    (    R   t#   test_sym_difference_update_operator  s
    c         C   sA   |  i o |  i i |  i ƒ n |  i t |  i i |  i ƒ d  S(   N(   R	   R:  R.   R—   R5  R   R   (   R	   (    (    R   t   test_sym_difference_update  s
    
		c            sm   ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i o ˆ  i i ˆ  i ƒ n ˆ  i t ˆ  i i ˆ  i ƒ d  S(   Nc              s   ˆ  i ˆ  i AS(   N(   R	   R.   R5  (    (   R	   (    R   R7    s    c              s   ˆ  i ˆ  i AS(   N(   R	   R5  R.   (    (   R	   (    R   R7    s    (   R	   R   R   R:  R.   RD   R5  (   R	   (    (   R	   R   t   test_sym_difference  s
    
c         C   s=   y |  i |  i 8_ Wn t j
 o n X|  i d ƒ d  S(   Ns   expected TypeError(   R	   R.   R5  R   R6   (   R	   (    (    R   t   test_difference_update_operator   s
    c         C   sA   |  i o |  i i |  i ƒ n |  i t |  i i |  i ƒ d  S(   N(   R	   R:  R.   R–   R5  R   R   (   R	   (    (    R   R˜   (  s
    
		c            sm   ˆ  i t ‡  d †  ƒ ˆ  i t ‡  d †  ƒ ˆ  i o ˆ  i i ˆ  i ƒ n ˆ  i t ˆ  i i ˆ  i ƒ d  S(   Nc              s   ˆ  i ˆ  i S(   N(   R	   R.   R5  (    (   R	   (    R   R7  1  s    c              s   ˆ  i ˆ  i S(   N(   R	   R5  R.   (    (   R	   (    R   R7  2  s    (   R	   R   R   R:  R.   R@   R5  (   R	   (    (   R	   R   RA   0  s
    
(   R   R   R6  R8  R9  R‘   R4   R;  R”   R<   R<  R=  R>  R?  R˜   RA   (    (    (    R   R4  Æ  s   													t   TestOnlySetsNumericc           B   s   t  Z d „  Z RS(   Nc         C   s%   t  d ƒ |  _  d |  _ t |  _ d  S(   Ni   i   i   i   (   i   i   i   (   R.   R	   R5  RG   R:  (   R	   (    (    R   R   ;  s    	(   R   R   R   (    (    (    R   R@  :  s   t   TestOnlySetsDictc           B   s   t  Z d „  Z RS(   Nc         C   s7   t  d ƒ |  _  h  d d <d d <|  _ t |  _ d  S(   Ni   i   i   i   (   i   i   i   (   R.   R	   R5  RI   R:  (   R	   (    (    R   R   C  s    (   R   R   R   (    (    (    R   RA  B  s   t   TestOnlySetsOperatorc           B   s   t  Z d „  Z RS(   Nc         C   s(   t  d ƒ |  _  t i |  _ t |  _ d  S(   Ni   i   i   (   i   i   i   (   R.   R	   Rä   R{   R5  RG   R:  (   R	   (    (    R   R   K  s    (   R   R   R   (    (    (    R   RB  J  s   t   TestOnlySetsTuplec           B   s   t  Z d „  Z RS(   Nc         C   s%   t  d ƒ |  _  d |  _ t |  _ d  S(   Ni   i   i   i   i   (   i   i   i   (   i   i   i   (   R.   R	   R5  RI   R:  (   R	   (    (    R   R   S  s    	(   R   R   R   (    (    (    R   RC  R  s   t   TestOnlySetsStringc           B   s   t  Z d „  Z RS(   Nc         C   s%   t  d ƒ |  _  d |  _ t |  _ d  S(   Ni   i   i   R(   (   i   i   i   (   R.   R	   R5  RI   R:  (   R	   (    (    R   R   [  s    	(   R   R   R   (    (    (    R   RD  Z  s   t   TestOnlySetsGeneratorc           B   s   t  Z d „  Z RS(   Nc         C   s1   d „  } t d ƒ |  _ | ƒ  |  _ t |  _ d  S(   Nc          c   s%   x t  d d d ƒ D]
 }  |  Vq Wd  S(   Ni    i
   i   (   Ru   R5   (   R5   (    (    R   t   gend  s     i   i   i   (   i   i   i   (   RF  R.   R	   R5  RI   R:  (   R	   RF  (    (    R   R   c  s    	(   R   R   R   (    (    (    R   RE  b  s   t   TestCopyingc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s–   |  i i ƒ  } t | ƒ } | i ƒ  t |  i ƒ } | i ƒ  |  i t	 | ƒ t	 | ƒ ƒ x5 t
 t	 | ƒ ƒ D]! } |  i | | | | j ƒ qm Wd  S(   N(   R	   R.   Rl   Rb   R1   t   dup_listt   sortt   set_listR   R   R   R5   RÞ   (   R	   R5   RJ  Rb   RH  (    (    R   R‡   o  s     c         C   s–   t  i |  i ƒ } t | ƒ } | i ƒ  t |  i ƒ } | i ƒ  |  i	 t
 | ƒ t
 | ƒ ƒ x2 t t
 | ƒ ƒ D] } |  i	 | | | | ƒ qp Wd  S(   N(   Rl   Rm   R	   R.   Rb   R1   RH  RI  RJ  R   R   R   R5   (   R	   R5   RJ  Rb   RH  (    (    R   t   test_deep_copyw  s     (   R   R   R‡   RK  (    (    (    R   RG  m  s   	t   TestCopyingEmptyc           B   s   t  Z d „  Z RS(   Nc         C   s   t  ƒ  |  _  d  S(   N(   R.   R	   (   R	   (    (    R   R   ƒ  s    (   R   R   R   (    (    (    R   RL  ‚  s   t   TestCopyingSingletonc           B   s   t  Z d „  Z RS(   Nc         C   s   t  d g ƒ |  _  d  S(   Nt   hello(   R.   R	   (   R	   (    (    R   R   ‰  s    (   R   R   R   (    (    (    R   RM  ˆ  s   t   TestCopyingTriplec           B   s   t  Z d „  Z RS(   Nc         C   s   t  d d d  g ƒ |  _  d  S(   NRâ   i    (   R.   Rk   R	   (   R	   (    (    R   R     s    (   R   R   R   (    (    (    R   RO  Ž  s   t   TestCopyingTuplec           B   s   t  Z d „  Z RS(   Nc         C   s   t  d g ƒ |  _  d  S(   Ni   i   (   i   i   (   R.   R	   (   R	   (    (    R   R   •  s    (   R   R   R   (    (    (    R   RP  ”  s   t   TestCopyingNestedc           B   s   t  Z d „  Z RS(   Nc         C   s   t  d d f g ƒ |  _  d  S(   Ni   i   i   i   (   i   i   (   i   i   (   R.   R	   (   R	   (    (    R   R   ›  s    (   R   R   R   (    (    (    R   RQ  š  s   t   TestIdentitiesc           B   s5   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s"   t  d ƒ |  _ t  d ƒ |  _ d  S(   Nt   abracadabrat   alacazam(   R.   R	   R?   R  (   R	   (    (    R   R   ¡  s    c         C   s¼   |  i |  i } } |  i | | | j  ƒ |  i | | | j  ƒ |  i | | @| j  ƒ |  i | | @| j  ƒ |  i | | B| j ƒ |  i | | B| j ƒ |  i | | A| | Bj  ƒ d  S(   N(   R	   R?   R  R    (   R	   R?   R  (    (    R   t   test_binopsVsSubsets¥  s    c         C   sˆ   |  i |  i } } |  i | | @| | @ƒ |  i | | B| | Bƒ |  i | | A| | Aƒ | | j o |  i | | | | ƒ n d  S(   N(   R	   R?   R  R   RH   (   R	   R?   R  (    (    R   t   test_commutativity¯  s    c         C   sï   |  i |  i } } |  i | | | | @B| | B| | Bƒ |  i | | @| | AB| | Bƒ |  i | | | B| | Bƒ |  i | | | B| | Bƒ |  i | | | | @B| ƒ |  i | | | | @B| ƒ |  i | | | | B| | Aƒ d  S(   N(   R	   R?   R  R   (   R	   R?   R  (    (    R   t   test_summations·  s    ( c         C   sm   |  i |  i t ƒ  } } } |  i | | | @| ƒ |  i | | | @| ƒ |  i | | @| | A@| ƒ d  S(   N(   R	   R?   R  R.   Râ   R   (   R	   R?   R  Râ   (    (    R   t   test_exclusionÂ  s    (   R   R   R   RU  RV  RW  RX  (    (    (    R   RR     s
   		
		c         c   s   x |  D]
 } | Vq Wd S(   s   Regular generatorN(   t   seqnR5   (   RY  R5   (    (    R   t   RË  s      t   Gc           B   s    t  Z d  Z d „  Z d „  Z RS(   s   Sequence using __getitem__c         C   s   | |  _  d  S(   N(   RY  R	   (   R	   RY  (    (    R   Rg   Ò  s    c         C   s   |  i | S(   N(   R	   RY  R5   (   R	   R5   (    (    R   t   __getitem__Ô  s    (   R   R   Rí   Rg   R\  (    (    (    R   R[  Ð  s    	t   Ic           B   s)   t  Z d  Z d „  Z d „  Z d „  Z RS(   s    Sequence using iterator protocolc         C   s   | |  _  d |  _ d  S(   Ni    (   RY  R	   R5   (   R	   RY  (    (    R   Rg   Ù  s    	c         C   s   |  S(   N(   R	   (   R	   (    (    R   t   __iter__Ü  s    c         C   sF   |  i t |  i ƒ j o
 t ‚ n |  i |  i } |  i d 7_ | S(   Ni   (   R	   R5   R   RY  t   StopIterationRØ   (   R	   RØ   (    (    R   t   nextÞ  s
     
(   R   R   Rí   Rg   R^  R`  (    (    (    R   R]  ×  s    		t   Igc           B   s    t  Z d  Z d „  Z d „  Z RS(   s9   Sequence using iterator protocol defined with a generatorc         C   s   | |  _  d |  _ d  S(   Ni    (   RY  R	   R5   (   R	   RY  (    (    R   Rg   æ  s    	c         c   s   x |  i D]
 } | Vq
 Wd  S(   N(   R	   RY  t   val(   R	   Rb  (    (    R   R^  é  s    
 (   R   R   Rí   Rg   R^  (    (    (    R   Ra  ä  s    	t   Xc           B   s    t  Z d  Z d „  Z d „  Z RS(   s    Missing __getitem__ and __iter__c         C   s   | |  _  d |  _ d  S(   Ni    (   RY  R	   R5   (   R	   RY  (    (    R   Rg   ï  s    	c         C   sF   |  i t |  i ƒ j o
 t ‚ n |  i |  i } |  i d 7_ | S(   Ni   (   R	   R5   R   RY  R_  RØ   (   R	   RØ   (    (    R   R`  ò  s
     
(   R   R   Rí   Rg   R`  (    (    (    R   Rc  í  s    	t   Nc           B   s    t  Z d  Z d „  Z d „  Z RS(   s   Iterator missing next()c         C   s   | |  _  d |  _ d  S(   Ni    (   RY  R	   R5   (   R	   RY  (    (    R   Rg   ú  s    	c         C   s   |  S(   N(   R	   (   R	   (    (    R   R^  ý  s    (   R   R   Rí   Rg   R^  (    (    (    R   Rd  ø  s    	t   Ec           B   s)   t  Z d  Z d „  Z d „  Z d „  Z RS(   s   Test propagation of exceptionsc         C   s   | |  _  d |  _ d  S(   Ni    (   RY  R	   R5   (   R	   RY  (    (    R   Rg     s    	c         C   s   |  S(   N(   R	   (   R	   (    (    R   R^    s    c         C   s   d d d  S(   Ni   i    (    (   R	   (    (    R   R`    s    (   R   R   Rí   Rg   R^  R`  (    (    (    R   Re     s    		t   Sc           B   s)   t  Z d  Z d „  Z d „  Z d „  Z RS(   s   Test immediate stopc         C   s   d  S(   N(    (   R	   RY  (    (    R   Rg     s    c         C   s   |  S(   N(   R	   (   R	   (    (    R   R^    s    c         C   s
   t  ‚ d  S(   N(   R_  (   R	   (    (    R   R`    s    (   R   R   Rí   Rg   R^  R`  (    (    (    R   Rf  
  s    		(   s   chains   imapc         C   s(   t  t d „  t t t |  ƒ ƒ ƒ ƒ ƒ S(   s    Test multiple tiers of iteratorsc         C   s   |  S(   N(   Rc   (   Rc   (    (    R   R7    s    N(   t   chaint   imapRZ  Ra  R[  RY  (   RY  (    (    R   t   L  s     t   TestVariousIteratorArgsc           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc      	   C   sé   xâ t  t f D]Ô } xË d d t d ƒ d	 t d d d ƒ f D]¢ } xN t t t t	 t
 t f D]4 } |  i t | | | ƒ ƒ ƒ t | | ƒ ƒ ƒ qZ W|  i t | t | ƒ ƒ |  i t | t | ƒ ƒ |  i t | t | ƒ ƒ q; Wq Wd  S(
   Nt   123R9   iè  t   dof1.2iÐ  i˜  i   (   Rl  f1.2(   R.   R   t   consR   Ru   R   R[  R]  Ra  Rf  Ri  RZ  t   gR	   R   R   R   R   Rc  Rd  t   ZeroDivisionErrorRe  (   R	   Rm  Rn  R   (    (    R   Rò     s     (  2c         C   s  t  d ƒ } x d d t d ƒ d t d d d	 ƒ d
 f D]Ô } xË | i | i | i | i f D]« } xW t
 t t t t f D]@ } | | ƒ } | t
 | ƒ ƒ } |  i t | ƒ t | ƒ ƒ qx W|  i t | t | ƒ ƒ |  i t | t | ƒ ƒ |  i t | t | ƒ ƒ q\ Wq7 Wd  S(   Nt   novemberRk  R9   iè  Rl  f1.2iÐ  i˜  i   t   december(   s   dof1.2(   R.   R   R   Ru   t   dataR+   R;   R@   RD   t   methR[  R]  Ra  Ri  RZ  Rn  R   R   R	   R   R   R   R   Rc  Rd  Ro  Re  (   R	   R   Rn  R   R   Rs  Rr  (    (    R   t   test_inline_methods#  s    +    c         C   sQ  xJd d t  d ƒ d t d d d ƒ d	 f D]} xd D]} xŒ t t t t t t	 f D]r } t d ƒ } | i ƒ  } t | | ƒ t | | ƒ ƒ ƒ t | | ƒ | | ƒ ƒ |  i t | ƒ t | ƒ ƒ qW W|  i t t t d ƒ | ƒ t | ƒ ƒ |  i t t t d ƒ | ƒ t | ƒ ƒ |  i t t t d ƒ | ƒ t | ƒ ƒ q8 Wq+ Wd  S(   NRk  R9   iè  Rl  f1.2iÐ  i˜  i   Rq  R   R“   R–   R—   t   january(   s   dof1.2(   s   updates   intersection_updates   difference_updates   symmetric_difference_update(   R   Ru   Rr  t   methnameR[  R]  Ra  Rf  Ri  RZ  Rn  R.   R   Rl   RQ   R)  R1   R	   R   R   R   R   Rc  Rd  Ro  Re  (   R	   Rr  Rv  Rn  R   RQ   (    (    R   t   test_inplace_methods/  s    +    (((   R   R   Rò   Rt  Rw  (    (    (    R   Rj    s   			c         C   s  d  k  } d k l } t t t t t t t	 t
 t t t t t t t t t t t t t t t t t t t t t t  t! f } t# i$ | Œ  |  os t& | d ƒ oc d  k' } d  g d } xA t* t+ | ƒ ƒ D]- } t# i$ | Œ  | i- ƒ  | i. ƒ  | | <qÆ W| GHn d  S(   N(   s	   test_setst   gettotalrefcounti   (/   t   syst   testt	   test_setsR   R¢   R£   R¸   Rî   Rç   RÛ   RÝ   Rá   Rã   Ró   R  R  R.  R0  R1  R2  R3  R@  RA  RB  RC  RD  RE  RL  RM  RO  RP  RQ  RR  Rj  t   test_classesRÀ   t   run_unittestt   verboset   hasattrt   gcRk   t   countsRu   R   R5   t   collectRx  (   R~  R€  R  R{  R|  Ry  R5   (    (    R   t	   test_main@  s    	c"	 
t   __main__R~  (H   t   unittestRz  RÀ   t   weakrefRž   Rä   Rl   R_   RÅ   t	   ExceptionR    R   t   TestCaseR   R   R.   R¡   R¢   R£   R   R·   R¸   RÍ   Rº   RÛ   RÝ   Rá   Rã   Rå   Ræ   Rç   Rî   Ró   R  R  R  R.  R0  R1  R2  R3  R4  R@  RA  RB  RC  RD  RE  RG  RL  RM  RO  RP  RQ  RR  RZ  R[  R]  Ra  Rc  Rd  Re  Rf  t	   itertoolsRg  Rh  Ri  Rj  Rk   Rƒ  R   RI   (>   RÀ   RÝ   Rg  R.  R…  R2  Rá   R¸   RC  Ræ   RÍ   Rä   R  R1  R4  R    RO  R¢   RL  R¡   RB  Rå   RA  R  Rƒ  Rç   RÛ   RP  Ró   Rã   Re  Rî   R[  R]  RD  RR  Ri  R£   R  Rj  Rf  R   Rž   R   Rc  Rl   Rh  RM  RE  R   R3  R_   R·   Rd  RZ  R0  RG  Rº   RÅ   RQ  Ra  R@  (    (    R   t   ?   s|   						Ô°,	U		FVJ&t+		
		(1