ó
üÌoLc           @   s,  e  d  k r¦ d d l Z d d l Z e j j e j j e ƒ ƒ d Z e j j e ƒ \ Z Z	 e	 d k oƒ e j j e ƒ d d k Z
 e
 r£ e j j d e ƒ n  n e  j d ƒ Z
 e
 rÚ d d l m Z m Z m Z n d d l m Z m Z m Z d d l Z d d	 l m Z d
 e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d e j f d „  ƒ  YZ d f  d „  ƒ  YZ d e e j f d „  ƒ  YZ d e e j f d „  ƒ  YZ d e e j f d „  ƒ  YZ d f  d „  ƒ  YZ d e e j f d „  ƒ  YZ d e e j f d „  ƒ  YZ e  d  k r(e j ƒ  n  d S(   t   __main__iÿÿÿÿNi    t   testsi   t   pygames   pygame.tests.(   t   test_not_implementedt   unordered_equalityt   unittest(   t   spritet   SpriteModuleTestc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR      s   t   SpriteCollideTestc           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/  t  j ƒ  |  _ t  j ƒ  |  _ t  j |  j ƒ |  _ t  j |  j ƒ |  _ t  j |  j ƒ |  _ t j	 d t j
 d ƒ |  j _ t j	 d t j
 d ƒ |  j _ t j	 d	 t j
 d ƒ |  j _ |  j j j ƒ  |  j _ |  j j j ƒ  |  j _ |  j j j ƒ  |  j _ |  j j j d d ƒ |  j j j d d ƒ d  S(
   Ni2   i
   i    i(   i    id   (   i2   i
   (   i
   i
   (   i
   i
   (   R   t   AbstractGroupt   agt   ag2t   Spritet   s1t   s2t   s3R   t   Surfacet   SRCALPHAt   imaget   get_rectt   rectt   move_ip(   t   self(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   setUp    s    c         C   s8   |  j  t j |  j |  j d t d d  ƒ|  j g ƒ d  S(   Nt   dokillt   collided(   t   assertEqualR   t   spritecollideR   R   t   Falset   NoneR   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt0   test_spritecollide__works_if_collided_cb_is_None1   s    c         C   s2   |  j  t j |  j |  j d t ƒ|  j g ƒ d  S(   NR   (   R   R   R   R   R   R   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt3   test_spritecollide__works_if_collided_cb_not_passed:   s    c      	   C   s/   |  j  t t j |  j |  j d t d d ƒd  S(   NR   R   i   (   t   assertRaisest	   TypeErrorR   R   R   R   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt/   test_spritecollide__collided_must_be_a_callableA   s    c         C   s;   |  j  t j |  j |  j d t d t j ƒ|  j g ƒ d  S(   NR   R   (   R   R   R   R   R   R   t   collide_rectR   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt5   test_spritecollide__collided_defaults_to_collide_rectH   s    c      	   C   sA   |  j  t j |  j |  j d t d t j d ƒ ƒ|  j g ƒ d  S(   NR   R   g      ð?(   R   R   R   R   R   R   t   collide_rect_ratioR   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt2   test_collide_rect_ratio__ratio_of_one_like_defaultQ   s
    c      
   C   sM   |  j  t t j |  j |  j d t d t j d ƒ ƒ|  j |  j	 g ƒ ƒ d  S(   NR   R   g      4@(
   t   assert_R   R   R   R   R   R   R'   R   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt8   test_collide_rect_ratio__collides_all_at_ratio_of_twenty[   s    c         C   s;   |  j  t j |  j |  j d t d t j ƒ|  j g ƒ d  S(   NR   R   (   R   R   R   R   R   R   t   collide_circleR   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt"   test_collide_circle__no_radius_setg   s    c      	   C   sA   |  j  t j |  j |  j d t d t j d ƒ ƒ|  j g ƒ d  S(   NR   R   g      ð?(   R   R   R   R   R   R   t   collide_circle_ratioR   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt5   test_collide_circle_ratio__no_radius_and_ratio_of_onep   s
    c      
   C   sM   |  j  t t j |  j |  j d t d t j d ƒ ƒ|  j |  j	 g ƒ ƒ d  S(   NR   R   g      4@(
   R)   R   R   R   R   R   R   R-   R   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt8   test_collide_circle_ratio__no_radius_and_ratio_of_twentyz   s    c      	   C   sk   d |  j  _ d |  j _ d |  j _ |  j t t j |  j  |  j d t	 d t j
 ƒ|  j |  j g ƒ ƒ d  S(   Ni2   i
   i  R   R   (   R   t   radiusR   R   R)   R   R   R   R   R   R+   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt#   test_collide_circle__with_radii_set†   s    	c      
   C   sq   d |  j  _ d |  j _ d |  j _ |  j t t j |  j  |  j d t	 d t j
 d ƒ ƒ|  j |  j g ƒ ƒ d  S(   Ni2   i
   i  R   R   g      à?(   R   R0   R   R   R)   R   R   R   R   R   R-   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt)   test_collide_circle_ratio__with_radii_set—   s    c         C   s  |  j  j j d ƒ |  j j j d ƒ |  j j j d ƒ |  j t j |  j  |  j d t	 d t j
 ƒ|  j g ƒ t j j |  j  j ƒ |  j  _ t j j |  j j ƒ |  j _ t j j |  j j ƒ |  j _ |  j t j |  j  |  j d t	 d t j
 ƒ|  j g ƒ d  S(   Niÿ   R   R   (   iÿ   iÿ   iÿ   iÿ   (   iÿ   iÿ   iÿ   iÿ   (   iÿ   iÿ   iÿ   iÿ   (   R   R   t   fillR   R   R   R   R   R   R   t   collide_maskR   t   maskt   from_surface(   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_collide_mask__opaque§   s     		c         C   sÎ   |  j  j j d ƒ |  j j j d ƒ |  j j j d ƒ t j j |  j  j d ƒ |  j  _ t j j |  j j d ƒ |  j _ t j j |  j j d ƒ |  j _ |  j t	 j
 |  j  |  j d t d t	 j ƒƒ d  S(   Niÿ   i    R   R   (   iÿ   iÿ   iÿ   i    (   iÿ   iÿ   iÿ   i    (   iÿ   iÿ   iÿ   i    (   R   R   R3   R   R   R   R5   R6   t   assertFalseR   R   R   R   R4   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_collide_mask__transparentÃ   s    !!!c         C   sÂ   |  j  t j |  j |  j ƒ ƒ |  j j j d d ƒ |  j t j |  j |  j ƒ ƒ |  j	 j j d d ƒ |  j  t j |  j |  j ƒ ƒ |  j j j d d ƒ |  j  t j |  j |  j ƒ ƒ d  S(   Ni    i
   i—ÿÿÿiöÿÿÿ(
   R)   R   t   spritecollideanyR   R   R   R   R   R8   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt0   test_spritecollideany__without_collided_callbackÓ   s    c      
   C   sw  i  } i  } t  g } | | | d „ } |  j t j |  j |  j | ƒ ƒ |  j t | ƒ d k oq | |  j d k ƒ |  j t | ƒ d k oÄ t | j ƒ  ƒ d d k oÄ |  j	 | k pÄ |  j
 | k ƒ | j ƒ  | j ƒ  t | d <|  j t j |  j |  j | ƒ ƒ |  j t | ƒ d k o0| |  j d k ƒ |  j t | ƒ d k oo| |  j	 d k oo| |  j
 d k ƒ d  S(   Nc         S   sH   | j  |  d ƒ } d | | |  <| j  | d ƒ } d | | | <| d S(   Ni    i   (   t   get(   t   spr_at   spr_bt
   arg_dict_at
   arg_dict_bt   return_containert   count(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   collided_callback   s
    i   i    i   (   t   TrueR)   R   R:   R   R   t   lent   listt   valuesR   R   t   clearR   R8   (   R   R?   R@   RA   RC   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt-   test_spritecollideany__with_collided_callbackî   s(    	,.


,c         C   s’  t  j j |  j |  j t t ƒ } |  j | i |  j g |  j 6k ƒ t  j j |  j |  j t t ƒ } |  j | i |  j g |  j 6k ƒ t  j j |  j |  j t t	 ƒ } |  j | i |  j g |  j 6k ƒ t  j j |  j |  j t t ƒ } |  j | i  k ƒ |  j
 j j d d ƒ t  j j |  j |  j t	 t ƒ } |  j | i |  j
 g |  j 6k ƒ t  j j |  j |  j t t ƒ } |  j | i  k ƒ d  S(   Niœÿÿÿ(   R   R   t   groupcollideR   R   R   R)   R   R   RD   R   R   R   (   R   t   crashed(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt,   test_groupcollide__without_collided_callback1  s    !#!#!#!!#!c      	   C   só  d „  } d „  } t  j j |  j |  j t t | ƒ } |  j | i  k ƒ t  j j |  j |  j t t | ƒ } |  j | i |  j |  j g |  j	 6k p´ | i |  j |  j g |  j	 6k ƒ t  j j |  j |  j t t | ƒ } |  j | i |  j |  j g |  j	 6k p#| i |  j |  j g |  j	 6k ƒ t  j j |  j |  j t t
 | ƒ } |  j | i  k ƒ t  j j |  j |  j t t
 | ƒ } |  j | i |  j |  j g |  j	 6k pÉ| i |  j |  j g |  j	 6k ƒ t  j j |  j |  j t t
 | ƒ } |  j | i  k ƒ |  j j |  j ƒ |  j j |  j ƒ t  j j |  j |  j t
 t | ƒ } |  j | i  k ƒ t  j j |  j |  j t
 t | ƒ } |  j | i |  j g |  j	 6|  j g |  j 6k ƒ t  j j |  j |  j t
 t | ƒ } |  j | i  k ƒ d  S(   Nc         S   s   t  S(   N(   RD   (   R=   R>   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   <lambda>O  s    c         S   s   t  S(   N(   R   (   R=   R>   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRM   P  s    (   R   R   RJ   R   R   R   R)   R   R   R   RD   t   add(   R   t   collided_callback_truet   collided_callback_falseRK   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt)   test_groupcollide__with_collided_callbackM  sD    				(#	(#		(#			3	c         C   s­  |  j  t j j |  j |  j ƒ ƒ |  j  t j j |  j |  j ƒ ƒ |  j j j |  j j _ |  j  t j j |  j |  j ƒ ƒ |  j  t j j |  j |  j ƒ ƒ |  j j j	 d d ƒ |  j  t j j |  j |  j ƒ ƒ |  j  t j j |  j |  j ƒ ƒ |  j j j
 |  j j j f |  j j _ |  j  t j j |  j |  j ƒ ƒ |  j  t j j |  j |  j ƒ ƒ |  j t j j |  j |  j ƒ ƒ |  j t j j |  j |  j ƒ ƒ d  S(   Ni
   (   R)   R   R   R%   R   R   R   R   t   centert
   inflate_ipt   rightt   bottomR8   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_collide_rect  s    """"""'"""(   R   R	   R   R    R!   R$   R&   R(   R*   R,   R.   R/   R1   R2   R7   R9   R;   RI   RL   RQ   RV   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR
      s&   								
				
							C		2t   AbstractGroupTypeTestc           B   st   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 RS(   c         C   s  t  j ƒ  |  _ t  j ƒ  |  _ t  j |  j ƒ |  _ t  j |  j ƒ |  _ t  j |  j ƒ |  _ t  j |  j ƒ |  _ t	 j
 d ƒ |  j _ |  j j j t	 j d ƒ ƒ |  j j j ƒ  |  j _ t	 j
 d	 ƒ |  j _ |  j j j t	 j d ƒ ƒ |  j j j ƒ  |  j _ d |  j j _ t	 j
 d
 ƒ |  j _ |  j j j t	 j d ƒ ƒ |  j j j ƒ  |  j _ d |  j j _ t	 j
 d ƒ |  j _ |  j j j t	 j d ƒ ƒ |  j j j ƒ  |  j _ d |  j j _ d |  j j _ t	 j
 d ƒ |  _ t	 j
 d ƒ |  _ |  j j t	 j d ƒ ƒ d  S(   Ni
   t   redt   greent   bluet   whitei   t   grey(   i
   i
   (   i
   i
   (   i
   i
   (   i
   i
   (   i   i   (   i   i   (   R   R   R   R   R   R   R   R   t   s4R   R   R   R3   t   ColorR   R   t   leftt   topt   bgt   scr(   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR   ›  s2    c         C   s  |  j  t |  j |  j k ƒ |  j  t |  j j |  j ƒ ƒ |  j  t |  j j |  j |  j g ƒ ƒ |  j t |  j j |  j |  j |  j g ƒ ƒ |  j t |  j j |  j |  j |  j ƒ ƒ |  j t |  j j |  j t j	 |  j |  j ƒ ƒ ƒ |  j t |  j j |  j |  j |  j g ƒ ƒ |  j
 |  j j g  Œ  ƒ |  j
 |  j j g  ƒ ƒ |  j
 |  j j g  g ƒ ƒ |  j  t |  j j |  j ƒ ƒ d S(   s/    See if AbstractGroup.has() works as expected. N(   R   RD   R   R   t   hasR   t   assertNotEqualR   R   t   GroupR8   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_has»  s    (.+.c         C   sß   t  j ƒ  } |  j |  j | k ƒ |  j |  j | k ƒ |  j |  j | k ƒ |  j |  j | k ƒ | j |  j |  j g |  j ƒ |  j	 |  j | k ƒ |  j	 |  j | k ƒ |  j	 |  j | k ƒ |  j	 |  j | k ƒ d  S(   N(
   R   R   R8   R   R   R   R]   RN   R   R)   (   R   t   ag3(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_addÓ  s    c         C   sI   |  j  |  j |  j k ƒ |  j j |  j ƒ |  j |  j |  j k ƒ d  S(   N(   R8   R   R   t   add_internalR)   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_add_internalá  s    c         C   sh   |  j  j |  j ƒ |  j  j |  j |  j ƒ |  j d |  j j d ƒ ƒ |  j d |  j j d ƒ ƒ d  S(	   Ni    iÿ   i   i   (   i    i    i    iÿ   (   i   i   (   i    i    i    iÿ   (   i   i   (   R   t   drawRb   RH   Ra   R   t   get_at(   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt
   test_clearç  s    		c         C   sO   |  j  j |  j ƒ |  j d |  j j d ƒ ƒ |  j d |  j j d ƒ ƒ d  S(	   Niÿ   i    i   i   (   iÿ   i    i    iÿ   (   i   i   (   i    iÿ   i    iÿ   (   i   i   (   R   Rk   Rb   R   Rl   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt	   test_drawð  s
    		c         C   sC   |  j  j ƒ  |  j |  j |  j  k ƒ |  j |  j |  j  k ƒ d  S(   N(   R   t   emptyR8   R   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt
   test_emptyø  s    c         C   s<   |  j  |  j j |  j ƒ ƒ |  j |  j j |  j ƒ ƒ d  S(   N(   R)   R   t   has_internalR   R8   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_has_internalþ  s    c         C   sÞ  |  j  j |  j ƒ |  j |  j  |  j j ƒ  k ƒ |  j |  j  j |  j ƒ ƒ |  j j |  j |  j ƒ |  j |  j |  j j ƒ  k ƒ |  j |  j |  j j ƒ  k ƒ |  j |  j j |  j |  j ƒ ƒ |  j  j	 |  j |  j |  j ƒ |  j j	 |  j |  j ƒ t
 j |  j ƒ } |  j  j |  j | g |  j ƒ |  j |  j  |  j j ƒ  k ƒ |  j |  j  |  j j ƒ  k ƒ |  j |  j  |  j j ƒ  k ƒ |  j |  j  |  j j ƒ  k ƒ |  j |  j  j |  j |  j |  j |  j ƒ ƒ d  S(   N(   R   t   removeR   R8   t   groupsRc   R   R   R]   RN   R   Re   R   (   R   t   g(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_remove  s     "c         C   s3   |  j  j |  j ƒ |  j |  j  j |  j ƒ ƒ d  S(   N(   R   t   remove_internalR   R8   Rq   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_remove_internal  s    c         C   sJ   |  j  j ƒ  } |  j | |  j |  j g k pB | |  j |  j g k ƒ d  S(   N(   R   t   spritesR)   R   R   (   R   t   sprite_list(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_sprites!  s    c         C   sa   d t  j j f d „  ƒ  Y} | |  j ƒ } |  j j d d d ƒ |  j | j d d d g ƒ d  S(   Nt   test_spritec           B   s    e  Z g  Z d  „  Z d „  Z RS(   c         W   s   t  j j j |  | Œ d  S(   N(   R   R   R   t   __init__(   R   Rt   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR}   +  s    c         W   s   |  j  | 7_  d  S(   N(   t   sink(   R   t   args(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   update-  s    (   R   R	   R~   R}   R€   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR|   )  s   	i   i   i   (   R   R   R   R   R€   R   R~   (   R   R|   t   s(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_update'  s    (   R   R	   R   Rf   Rh   Rj   Rm   Rn   Rp   Rr   Rv   Rx   R{   R‚   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRW   š  s   	 											t   LayeredGroupBasec           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 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   c         C   s¬   |  j  t |  j j ƒ d k ƒ |  j ƒ  } |  j j | d d ƒ|  j  t |  j j ƒ d k ƒ |  j  |  j j | ƒ d k ƒ |  j  |  j j | ƒ |  j j | k ƒ d  S(   Ni    t   layeriš  i   (   R)   RE   t   LGt   _spritelistR   RN   t   get_layer_of_spritet   _spritelayers(   R   t   spr(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_get_layer_of_sprite;  s    c         C   sƒ   |  j  t |  j j ƒ d k ƒ |  j ƒ  } |  j j | ƒ |  j  t |  j j ƒ d k ƒ |  j  |  j j | ƒ |  j j k ƒ d  S(   Ni    i   (   R)   RE   R…   R†   R   RN   R‡   t   _default_layer(   R   R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRh   D  s
    c         C   s†   |  j  t |  j j ƒ d k ƒ |  j ƒ  } d | _ |  j j | ƒ |  j  t |  j j ƒ d k ƒ |  j  |  j j | ƒ d k ƒ d  S(   Ni    id   i   (   R)   RE   R…   R†   R   t   _layerRN   R‡   (   R   R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt%   test_add__sprite_with_layer_attributeK  s    	c         C   sƒ   |  j  t |  j j ƒ d k ƒ |  j ƒ  } |  j j | d d ƒ|  j  t |  j j ƒ d k ƒ |  j  |  j j | ƒ d k ƒ d  S(   Ni    R„   id   i   (   R)   RE   R…   R†   R   RN   R‡   (   R   R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_add__passing_layer_keywordU  s
    c         C   sŒ   |  j  t |  j j ƒ d k ƒ |  j ƒ  } d | _ |  j j | d d ƒ|  j  t |  j j ƒ d k ƒ |  j  |  j j | ƒ d k ƒ d  S(   Ni    id   R„   iÈ   i   (   R)   RE   R…   R†   R   RŒ   RN   R‡   (   R   R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt&   test_add__overriding_sprite_layer_attr^  s    	c         C   sX   |  j  ƒ  } t  j | ƒ } |  j t | j ƒ d k ƒ |  j | j | | j k ƒ d  S(   Ni   (   R   t   LayeredUpdatesR)   RE   R†   Rˆ   R‹   (   R   R‰   t   lrg2(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_add__adding_sprite_on_inith  s    c         C   s^   |  j  ƒ  } d | _ t  j | ƒ } |  j t | j ƒ d k ƒ |  j | j | d k ƒ d  S(   Ni   i   (   R   RŒ   R   R)   RE   R†   Rˆ   (   R   R‰   R‘   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt    test_add__sprite_init_layer_attrp  s
    	c         C   s[   |  j  ƒ  } t  j | d d ƒ} |  j t | j ƒ d k ƒ |  j | j | d k ƒ d  S(   NR„   i!   i   (   R   R   R)   RE   R†   Rˆ   (   R   R‰   R‘   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt#   test_add__sprite_init_passing_layery  s    c         C   sd   |  j  ƒ  } d | _ t  j | d d ƒ} |  j t | j ƒ d k ƒ |  j | j | d k ƒ d  S(   Ni7   R„   i!   i   (   R   RŒ   R   R)   RE   R†   Rˆ   (   R   R‰   R‘   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt%   test_add__sprite_init_overiding_layer  s
    	c         C   sÂ   |  j  t |  j j ƒ d k ƒ g  } x' t d ƒ D] } | j |  j ƒ  ƒ q2 W|  j j | ƒ |  j  t |  j j ƒ d k ƒ x= t d ƒ D]/ } |  j  |  j j | | ƒ |  j j	 k ƒ q‹ Wd  S(   Ni    i
   (
   R)   RE   R…   R†   t   ranget   appendR   RN   R‡   R‹   (   R   Ry   t   i(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_add__spritelistŠ  s    c         C   sÉ   |  j  t |  j j ƒ d k ƒ g  } x4 t d ƒ D]& } | j |  j ƒ  ƒ | | d _ q2 W|  j j | ƒ |  j  t |  j j ƒ d k ƒ x7 t d ƒ D]) } |  j  |  j j	 | | ƒ | k ƒ q˜ Wd  S(   Ni    i
   iÿÿÿÿ(
   R)   RE   R…   R†   R–   R—   R   RŒ   RN   R‡   (   R   Ry   R˜   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt$   test_add__spritelist_with_layer_attr–  s    c         C   sÂ   |  j  t |  j j ƒ d k ƒ g  } x' t d ƒ D] } | j |  j ƒ  ƒ q2 W|  j j | d d ƒ|  j  t |  j j ƒ d k ƒ x7 t d ƒ D]) } |  j  |  j j | | ƒ d k ƒ q‘ Wd  S(   Ni    i
   R„   i!   (	   R)   RE   R…   R†   R–   R—   R   RN   R‡   (   R   Ry   R˜   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt"   test_add__spritelist_passing_layer£  s    c         C   sÏ   |  j  t |  j j ƒ d k ƒ g  } x4 t d ƒ D]& } | j |  j ƒ  ƒ | | d _ q2 W|  j j | d d ƒ|  j  t |  j j ƒ d k ƒ x7 t d ƒ D]) } |  j  |  j j	 | | ƒ d k ƒ qž Wd  S(   Ni    i
   iÿÿÿÿR„   i!   (
   R)   RE   R…   R†   R–   R—   R   R„   RN   R‡   (   R   Ry   R˜   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt%   test_add__spritelist_overriding_layer¯  s    c         C   s»   |  j  t |  j j ƒ d k ƒ g  } x' t d ƒ D] } | j |  j ƒ  ƒ q2 Wt j | ƒ } |  j  t | j ƒ d k ƒ x: t d ƒ D], } |  j  | j | | ƒ |  j j	 k ƒ q‡ Wd  S(   Ni    i
   (
   R)   RE   R…   R†   R–   R—   R   R   R‡   R‹   (   R   Ry   R˜   R‘   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_add__spritelist_init¼  s    c         C   sÙ   |  j  t |  j j ƒ d k ƒ g  } x4 t d ƒ D]& } | j |  j ƒ  ƒ d | d _ q2 W|  j j | ƒ |  j  t |  j j ƒ d k ƒ x( t d ƒ D] } |  j j	 | | ƒ q˜ W|  j  t |  j j ƒ d k ƒ d  S(   Ni    i
   iÿÿÿÿ(
   R)   RE   R…   R†   R–   R—   R   R   RN   Rs   (   R   Ry   R˜   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_remove__spriteÈ  s    c         C   sÔ   |  j  t |  j j ƒ d k ƒ g  } x8 t d ƒ D]* } | j |  j ƒ  ƒ d | | d _ q2 W|  j j | ƒ |  j  t |  j j ƒ d k ƒ x> t	 |  j j
 ƒ  ƒ D]' \ } } |  j  | | d | k ƒ q¥ Wd  S(   Ni    i
   iÿÿÿÿi	   (   R)   RE   R…   R†   R–   R—   R   RŒ   RN   t	   enumerateRy   (   R   Ry   R˜   t   idxR‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR{   Ö  s    "c         C   sÄ   |  j  t |  j j ƒ d k ƒ g  } xK t d ƒ D]= } x4 t d ƒ D]& } | j |  j ƒ  ƒ | | d _ qE Wq2 W|  j j | ƒ |  j j	 ƒ  } x+ t d ƒ D] } |  j  | | | k ƒ qŸ Wd  S(   Ni    i
   i   iÿÿÿÿ(
   R)   RE   R…   R†   R–   R—   R   RŒ   RN   t   layers(   R   Ry   R˜   t   jt   lays(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_layersã  s    c         C   sè   |  j  t |  j ƒ d k ƒ d d d d d d d d d d d d d d	 d
 d d d d d d d g } x* | D]" } |  j j |  j ƒ  d | ƒqk W| j ƒ  xF t |  j j ƒ  ƒ D]/ \ } } |  j  |  j j | ƒ | | k ƒ q± Wd  S(   Ni    i   i   i   i   i   i   i   i	   i   i6   i+   R„   (	   R)   RE   R…   RN   R   t   sortRŸ   Ry   R‡   (   R   R¡   t   layR    R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_add__layers_are_correctñ  s    H 
"c         C   sà   |  j  t |  j j ƒ d k ƒ |  j ƒ  } |  j j | d d ƒ|  j  |  j j | d k ƒ |  j j | d ƒ |  j  |  j j | d k ƒ |  j ƒ  } d | _ |  j j | ƒ |  j j | d ƒ |  j  | j d k ƒ d  S(   Ni    R„   ic   i,   i7   iM   (	   R)   RE   R…   R†   R   RN   Rˆ   t   change_layerR„   (   R   R‰   t   spr2(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_change_layerü  s    	c      
   C   sÕ   d d d d d d d d d d	 g
 } x* | D]" } |  j  j |  j ƒ  d
 | ƒq+ W|  j |  j  j ƒ  t | ƒ k ƒ |  j |  j  j ƒ  t |  j  j j ƒ  ƒ k ƒ |  j |  j  j ƒ  |  j  j |  j  j d k ƒ d  S(   Ni   i   i   i   i   i   iX   i   i    R„   iÿÿÿÿ(	   R…   RN   R   R)   t   get_top_layert   maxRˆ   RG   R†   (   R   R¡   R˜   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_get_top_layer  s    $ ".c      
   C   sÕ   d d d d d d d d d d	 g
 } x* | D]" } |  j  j |  j ƒ  d
 | ƒq+ W|  j |  j  j ƒ  t | ƒ k ƒ |  j |  j  j ƒ  t |  j  j j ƒ  ƒ k ƒ |  j |  j  j ƒ  |  j  j |  j  j d	 k ƒ d  S(   Ni   i   i   i   i   i   iX   i   i    R„   (	   R…   RN   R   R)   t   get_bottom_layert   minRˆ   RG   R†   (   R   R¡   R˜   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_get_bottom_layer  s    $ ".c      
   C   sÁ   d d d d d d d d d d	 g
 } x* | D]" } |  j  j |  j ƒ  d
 | ƒq+ W|  j ƒ  } |  j  j | d
 d ƒ|  j | |  j  j d k ƒ |  j  j | ƒ |  j | |  j  j d k ƒ d  S(   Ni   i   i   i   i   i   iX   i   i    R„   iÿÿÿÿ(   R…   RN   R   R)   R†   t   move_to_front(   R   R¡   R˜   R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_move_to_front   s    $ c      
   C   sÁ   d d d d d d d d d d	 g
 } x* | D]" } |  j  j |  j ƒ  d
 | ƒq+ W|  j ƒ  } |  j  j | d
 d ƒ|  j | |  j  j d	 k ƒ |  j  j | ƒ |  j | |  j  j d	 k ƒ d  S(   Ni   i   i   i   i   i   iX   i   i    R„   i7   (   R…   RN   R   R)   R†   t   move_to_back(   R   R¡   R˜   R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_move_to_back,  s    $ c      
   C   s†   d d d d d d d d d d	 g
 } x* | D]" } |  j  j |  j ƒ  d
 | ƒq+ W|  j |  j  j |  j  j ƒ  ƒ |  j  j ƒ  k ƒ d  S(   Ni   i   i   i   i   i   iX   i   i    R„   (   R…   RN   R   R)   R‡   t   get_top_spriteR«   (   R   R¡   R˜   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_get_top_sprite8  s    $ c          C   sŠ  |  j  t |  j ƒ d k ƒ i  } d d d d d d d d	 d d d d d d d d
 d d	 d d d d d d d
 d d d d d d d	 g  } x] | D]U } |  j ƒ  } | | _ |  j j | ƒ | | k rÓ g  | | <n  | | j | ƒ q Wx| |  j j ƒ  D]k } xb |  j j | ƒ D]N } |  j  | | | k ƒ | | j	 | ƒ t | | ƒ d k r| | =qqWqø W|  j  t | j
 ƒ  ƒ d k ƒ d  S(   Ni    i   i   i   i   i   i   i   i   i	   (   R)   RE   R…   R   RŒ   RN   R—   R¡   t   get_sprites_from_layerRs   RG   (   R   Ry   R¡   R¦   R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_get_sprites_from_layer@  s"    f	c         C   s  |  j  t |  j ƒ d k ƒ g  } g  } d d d d d d d d d d d d d d d d d d d d d d d g } x\ | D]T } |  j ƒ  } | | _ |  j j | ƒ | d k rÁ | j | ƒ qz | j | ƒ qz Wx- | D]% } |  j  | |  j j d ƒ k ƒ qÙ Wx- | D]% } |  j  | |  j j d ƒ k ƒ q	W|  j  t |  j ƒ t | ƒ t | ƒ k ƒ |  j j d d ƒ x- | D]% } |  j  | |  j j d ƒ k ƒ qxWx- | D]% } |  j  | |  j j d ƒ k ƒ q¨W|  j  t |  j ƒ t | ƒ t | ƒ k ƒ d  S(   Ni    i   i   (	   R)   RE   R…   R   RŒ   RN   R—   R·   t   switch_layer(   R   t   sprites1t   sprites2R¡   R¦   R‰   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_switch_layerV  s,    K	##,##c         C   s€   |  j  j |  j ƒ  ƒ |  j  j ƒ  d } |  j  j ƒ  } |  j t | t |  j  ƒ ƒ ƒ |  j | | k ox | | j ƒ  k ƒ d  S(   Ni    (	   R…   RN   R   Ry   t   copyR)   t
   isinstancet   typeRt   (   R   R‰   t   lg_copy(    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt	   test_copyt  s
    (   R   R	   RŠ   Rh   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Á   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRƒ   :  s6   				
			
																	
	
					t"   LayeredUpdatesTypeTest__SpriteTestc           B   s   e  Z e j Z d  „  Z RS(   c         C   s   t  j ƒ  |  _ d  S(   N(   R   R   R…   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR     s    (   R   R	   R   R   R   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRÂ   ~  s   	t#   LayeredUpdatesTypeTest__DirtySpritec           B   s   e  Z e j Z d  „  Z RS(   c         C   s   t  j ƒ  |  _ d  S(   N(   R   R   R…   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR   ‡  s    (   R   R	   R   t   DirtySpriteR   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRÃ   „  s   	t!   LayeredDirtyTypeTest__DirtySpritec           B   s   e  Z e j Z d  „  Z RS(   c         C   s   t  j ƒ  |  _ d  S(   N(   R   t   LayeredDirtyR…   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR     s    (   R   R	   R   RÄ   R   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRÅ   Š  s   	t
   SpriteBasec           B   sb   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z RS(
   c         C   sC   g  |  _  x$ |  j D] } |  j  j | ƒ  ƒ q W|  j ƒ  |  _ d  S(   N(   Rt   t   GroupsR—   R   R   (   R   Re   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR   •  s    	c         C   sX   x! |  j  D] } |  j j | ƒ q
 Wx- |  j  D]" } |  j | |  j j  ƒ  k ƒ q. Wd  S(   N(   Rt   R   Ri   R)   (   R   Ru   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRj   œ  s    c         C   s|   x! |  j  D] } |  j j | ƒ q
 Wx! |  j  D] } |  j j | ƒ q. Wx- |  j  D]" } |  j | |  j j  ƒ  k ƒ qR Wd  S(   N(   Rt   R   Ri   Rw   R8   (   R   Ru   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRx   ¤  s    c         C   sX   d t  j j f d „  ƒ  Y} | ƒ  } | j d d d ƒ |  j | j d d d g ƒ d  S(   NR|   c           B   s    e  Z g  Z d  „  Z d „  Z RS(   c         W   s   t  j j j |  | Œ d  S(   N(   R   R   R   R}   (   R   Rt   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR}   ³  s    c         W   s   |  j  | 7_  d  S(   N(   R~   (   R   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR€   µ  s    (   R   R	   R~   R}   R€   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR|   ±  s   	i   i   i   (   R   R   R   R€   R   R~   (   R   R|   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyR‚   ¯  s    	c         C   s;   |  j  |  j ƒ |  _ |  j t |  j j ƒ  |  j ƒ ƒ d  S(   N(   R   Rt   R   R)   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt%   test___init____added_to_groups_passed½  s    	c         C   s9   |  j  j |  j ƒ |  j t |  j  j ƒ  |  j ƒ ƒ d  S(   N(   R   RN   Rt   R)   R   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRh   Å  s    	c         C   sG   |  j  |  j j ƒ  d ƒ |  j j |  j ƒ |  j  |  j j ƒ  ƒ d  S(   Ns*   Sprite should not be alive if in no groups(   R)   R   t   aliveRN   Rt   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt
   test_aliveÍ  s
    c         C   sd   x] t  |  j ƒ D]L \ } } |  j j | ƒ |  j j ƒ  } |  j t | |  j | d  ƒ ƒ q Wd  S(   Ni   (   RŸ   Rt   R   RN   R)   R   (   R   R˜   Ru   Rt   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   test_groupsÖ  s    	c         C   sa   |  j  j |  j ƒ |  j |  j  j ƒ  ƒ |  j  j ƒ  |  j |  j  j ƒ  oY |  j  j ƒ  ƒ d  S(   N(   R   RN   Rt   R)   RÊ   t   kill(   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt	   test_killà  s    c         C   sA   |  j  j |  j ƒ |  j  j |  j ƒ |  j |  j  j ƒ  ƒ d  S(   N(   R   RN   Rt   Rs   R)   (   R   (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRv   è  s    (   R   R	   R   Rj   Rx   R‚   RÉ   Rh   RË   RÌ   RÎ   Rv   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRÇ   ”  s   									
	t   SpriteTypeTestc           B   s/   e  Z e j Z e j e j e j e j g Z RS(    (	   R   R	   R   R   Re   R   t   RenderUpdatest   OrderedUpdatesRÈ   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRÏ   ï  s
   	t   DirtySpriteTypeTestc           B   s5   e  Z e j Z e j e j e j e j e j	 g Z
 RS(    (   R   R	   R   RÄ   R   Re   R   RÐ   RÑ   RÆ   RÈ   (    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyRÒ   ÷  s   	(    R   t   syst   ost   patht   splitt   abspatht   __file__t   pkg_dirt
   parent_dirt   pkg_namet   is_pygame_pkgt   insertt
   startswitht   pygame.tests.test_utilsR   R   R   t   test.test_utilsR   R   t   TestCaseR   R
   RW   Rƒ   RÂ   RÃ   RÅ   RÇ   RÏ   RÒ   t   main(    (    (    s9   C:\Python27\Lib\site-packages\pygame\tests\sprite_test.pyt   <module>   s8   "ÿ | ÿ E
[