
    ic                        d dl Z d dlZ	 d dlmZ d dlZd dl d dlmZm	Z	m
Z
mZ d e j                         k(  Zd Z ej                  ed       G d d	ej                                Z ej                  ed       G d
 dej                                Z ej                  ej&                   d       ej                  ed       G d dej                                       Zedk(  r ej,                          yy# e$ r Y w xY w)    N)arrinter)*)surface_to_array	map_arrayarray_to_surfacemake_surfacePyPyc                     | dz  S )z1cast signed 32 bit integer to an unsigned integerl     )is    e/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/pygame/tests/pixelcopy_test.py
unsigned32r      s    z>    z&pypy having illegal instruction on macc                   p    e Zd Zg dZg dZdZg dZd ZddZddZ	dd	Z
d
 Zd Zd Zd Zd Zd Zd Zy)PixelcopyModuleTest          )r   r   r      )
      <   r   )   K   d   r   )r         r   )r   r   r   r   r      )r   r      ))      r$   ))	   r      ))r&   r&   r(   ))r         ))r%      r*   ))r'   r)   r%   ))r&   r+   r%   c           	         t         j                  j                          	 t        j                  j
                  | g|i | | j                  d      | j                  d      | j                  dd      | j                  d      | j                  d      | j                  dd      g| _        t         j                  j                          y # t         j                  j                          w xY w)Nr   r   Tsrcalpha   r   )	pygamedisplayinitunittestTestCase__init___make_src_surfacesourcesquit)selfargskwdss      r   r5   zPixelcopyModuleTest.__init__,   s    	"&&t;d;d;&&q)&&r*&&rD&9&&r*&&r*&&rD&9DL NN!FNN!s   BC  C-Nc                     || j                   }d}|r	|t        z  }t        j                  | j                  ||      }|dk(  r"|j                  |D cg c]  }|d d 	 c}       |S c c}w Nr   r   r*   test_paletteSRCALPHAr0   Surface	surf_sizeset_paletter9   bitsizer.   paletteflagssurfcs          r   _make_surfacez!PixelcopyModuleTest._make_surface;   j    ?''GXE~~dnneW=a<W5ae56 6   A&c                     || j                   }|j                  |d   d       |j                  |d   d       |j                  |d   d       |j                  |d   d       y 	Nr$   )r   r   r&   r+   r(   )r&   r   r&   r+   r*   )r   r+   r&   r+   r%   )r&   r+   r&   r+   r?   fillr9   rH   rF   s      r   _fill_surfacez!PixelcopyModuleTest._fill_surfaceF   Z    ?''G		'!*l+		'!*l+		'!*l+		'!*l+r   c                 P    | j                  |||      }| j                  ||       |S NrJ   rR   r9   rE   r.   rF   rH   s        r   r6   z%PixelcopyModuleTest._make_src_surfaceN   +    !!'8W=4)r   c                 @    t         j                  j                          y rU   r0   r1   r2   r9   s    r   setUpzPixelcopyModuleTest.setUpS       r   c                 @    t         j                  j                          y rU   r0   r1   r8   r[   s    r   tearDownzPixelcopyModuleTest.tearDownV   r]   r   c                    d}| j                   D ]D  }|j                         }| j                  D ]!  }t        j                  |j                         d|      }|j                  d       |j                  d      }| j                  |j                                ||k  r<| j                  t        t        ||       | j                  |j                                t        ||       | j                  |j                                | j                  D ]^  \  }}|j                  |      }	|j                  |      }
| j                  |
|	d|
|	|j!                         |j                         |fz         ` ~|j#                         d   sY|j                  d       |j                  d      }d}|j%                  ||       | j                  |j                                t        ||       | j                  |j                                |j                  |      }	|j                  |      }
| j                  |
|	d|
|	|j                         fz         $ G t&        ry t(        j*                  t(        j,                  z  }| j                   D ]  }d	D ]  }||j/                         k  rt)        j0                  |j                         d
||      }t        ||       | j                  D ]\  \  }}t3        |j                  |            }	||   }
| j                  |
|	d|
|	||j!                         |j                         |fz         ^   y )Nr   r   r      r   r   r   r   r   2&%s != %s: flags: %i, bpp: %i, posn: %sr*   r(   r$   %s != %s: bpp: %i)r$   r(   r%   r   u)rG   z4%s != %s: itemsize: %i, flags: %i, bpp: %i, posn: %s)r7   get_bitsizebitsizesr0   rA   get_sizerP   get_viewassertFalse
get_lockedassertRaises
ValueErrorr   test_pointsget_at_mappedassertEqual	get_flags	get_masksset_atIS_PYPYr   PAI_ALIGNEDPAI_WRITEABLEget_bytesizeArrayr   )r9   alpha_colorrH   src_bitsizedst_bitsizedstviewposnr   spdp	pai_flagsitemsizeas                 r   test_surface_to_array_2dz,PixelcopyModuleTest.test_surface_to_array_2dY   s   $LL '	D**,K#}} % nnT]]_aE&||C(  !23,%%j2BD$O$$T__%67 t,  !23#// 	GD!++D1B**40B$$.r4>>#3T5E5E5GNO	 >>#A&HH\*<<,D!DKKk2$$T__%67$T40$$T__%67++D1B**40B$$B 3r2t?O?O?Q6R RG%'	R ((8+A+AA	LL 	D( d//11NN4==?CS D)#// GD!#D$6$6t$<=B4B$$. $ NN, ,,. 		r   c                 H    | j                  d       | j                  d       y )Nr         r   )r   r   r   r   )iter_surface_to_array_3dr[   s    r   test_surface_to_array_3dz,PixelcopyModuleTest.test_surface_to_array_3d   s     %%&AB%%&ABr   c                 N   t        j                  | j                  dd|      }| j                  D ]  }|j	                  d       |j                         }|j                  d      }| j                  |j                                t        ||       | j                  |j                                | j                  D ]d  \  }}|j                  |      dd }|j                  |      dd }	| j                  |	|d|	||j                         |j                         |fz         f d } y )Nr   r/   masksrd   3r*   rf   )r0   rA   rB   r7   rP   rj   rm   rn   ro   r   rr   get_atrt   ru   )
r9   
rgba_masksr   rH   r~   r   r   r   scdcs
             r   r   z,PixelcopyModuleTest.iter_surface_to_array_3d   s   nnT^^Q*ELL 	DHH\"**,K<<$DT__./T4(T__./++ 	a[[&q+ZZ%a*  *2t~~/1A1A1CTJK	 D#	r   c                    | j                  d      | j                  d      | j                  dd      | j                  d      | j                  d      | j                  dd      g}t        j                  | j                  ddg d	      }| j	                  |       |j                  d
      }|D ]  }t        |j                  d      ||       | j                  D ]m  \  }}|j                  |j                  |            }|j                  |      }| j                  ||d|||j                         |j                         |fz         o  t        j                  d      }	|	j                  d       |D ]  }t        |j                  d      |	|       |j                  |	      }| j                  D ]M  \  }}|j                  |      }| j                  ||d|||j                         |j                         |fz         O  |j!                         \  }
}t        j                  |
|dz   fdd      }| j#                  t$        t        |||       t        j                  |
dz
  |fdd      }| j#                  t$        t        |||       y )Nr   r   Tr-   r/   r   r   r   r   r   re   rf   salmonr*   r$   )rJ   r0   rA   rB   rR   rm   r   rr   map_rgbr   rs   rt   ru   rj   Color
set_lengthrl   rp   rq   )r9   targetssourcesource_viewtr   r   r   r   colorwhtargets                r   test_map_arrayz"PixelcopyModuleTest.test_map_array   s^   q!r"rD1r"r"rD1
 NNAr)D
 	6"ooc* 	Aajjo{A6++ 	aYYv}}T23__T*  *2q{{}ammotDE		 X& 	Aajjoua05!B++ a__T*  *2q{{}ammotDE	  1AE
Ar2*iHQ
Ar2*iHr   c                    | j                  d      | j                  d      | j                  dd      | j                  d      | j                  d      | j                  dd      g}| j                  \  }}t        j                  d|fdd      }|D ]  }t        j                  d|fd|      }t	        |      D ]=  }|j                  d|ft        j                  |dz   ||z   dz   |d	|z  z   dz                ? t        j                  j                  |j                  d
      |       t        j                  j                  ||j                  d
             t	        |      D ]F  }t	        |      D ]6  }| j                  |j                  ||f      |j                  d|f             8 H  t        j                  |dfdd      }	|D ]  }t        j                  |dfd|      }t	        |      D ]=  }|j                  |dft        j                  |dz   ||z   dz   |d	|z  z   dz                ? t        j                  j                  |	j                  d
      |       t        j                  j                  ||	j                  d
             t	        |      D ]F  }t	        |      D ]6  }| j                  |j                  ||f      |	j                  |df             8 H  t        j                  ddd      }
|D ]  }t        j                  dd|      }|j                  dt        j                  ddd             t        j                  j                  |
j                  d
      |       t        j                  j                  ||
j                  d
             |
j                  d      }t	        |      D ]5  }t	        |      D ]%  }| j                  |j                  ||f      |       ' 7  y )Nr   r   Tr-   r/   r   r$   r   r(   re   r$   r$   r#      /   e   )rJ   rB   r0   rA   rangerw   r   	pixelcopyr   rm   r   rt   rs   )r9   r   r   r   columnr   r   yxrowpixelps               r   "test_array_to_surface_broadcastingz6PixelcopyModuleTest.test_array_to_surface_broadcasting   s    q!r"rD1r"r"rD1
 ~~1 A2. 
	F^^QFAv6F1X Uq!ffll1q5!a%!)QQYQR]&STU--fooc.BFK--ffooc6JK1X q A$$,,aV4f6J6JAq66R
	 nnaVQ+ 
	F^^QFAv6F1X Uq!ffll1q5!a%!)QQYQR]&STU--cll3.?H--fcll36GH1X q A$$,,aV4c6G6GA6O
	 vq"- 	FF^^FAv6FMM&&,,r2s";<--ennS.A6J--fennS6IJ##F+A1X Fq FA$$V%9%91a&%A1EFF	Fr   FNrU   )__name__
__module____qualname__rk   r?   rB   rr   r5   rJ   rR   r6   r\   r`   r   r   r   r   r   r   r   r   r   r      sY    HL I	K"	,
FPC,/Ib3Fr   r   c                      e Zd Z	 ddlZej
                  j                  d       g dZ	g dZ
dZg d	Zh d
ZddhZh dZddhZd ZddZddZddZd Zd Zd Zd Zd Z	 e [y# e$ r ddgZY Lw xY w# e$ r [[[[Y yw xY w)PixelCopyTestWithArrayNumpyr   Nnumpyignoresubprocess_ignorer   r   r    r"   >   r   r   r   r/   r   >   r   r   r/   r   c           	         dd l }|j                  |j                  |j                  g| _        	 | j                  j                  |j                         t        j                  j                          	 t        j                  j                  | g|i | | j                  d      | j                  d      | j                  dd      | j                  d      | j                  d      | j                  dd      g| _        t        j                  j!                          y # t        $ r Y w xY w# t        j                  j!                          w xY w)Nr   r   r   Tr-   r/   r   )r   uint8uint16uint32	dst_typesappenduint64AttributeErrorr0   r1   r2   r3   r4   r5   r6   r7   r8   )r9   r:   r;   r   s       r   r5   z$PixelCopyTestWithArrayNumpy.__init__F  s   ++u||U\\B	NN!!%,,/ 		"&&t;d;d;&&q)&&r*&&rD&9&&r*&&r*&&rD&9DL NN!  		 NN!s   %D 2BD. 	D+*D+. Ec                     || j                   }d}|r	|t        z  }t        j                  | j                  ||      }|dk(  r"|j                  |D cg c]  }|d d 	 c}       |S c c}w r=   r>   rD   s          r   rJ   z)PixelCopyTestWithArrayNumpy._make_surface\  rK   rL   c                     || j                   }|j                  |d   d       |j                  |d   d       |j                  |d   d       |j                  |d   d       y rN   rO   rQ   s      r   rR   z)PixelCopyTestWithArrayNumpy._fill_surfaceg  rS   r   c                 P    | j                  |||      }| j                  ||       |S rU   rV   rW   s        r   r6   z-PixelCopyTestWithArrayNumpy._make_src_surfaceo  rX   r   c                 @    t         j                  j                          y rU   rZ   r[   s    r   r\   z!PixelCopyTestWithArrayNumpy.setUpt  r]   r   c                 @    t         j                  j                          y rU   r_   r[   s    r   r`   z$PixelCopyTestWithArrayNumpy.tearDownw  r]   r   c                 b   	 ddl m}m} | j                  }d}| j
                  }| j                  D cg c]  } |||       }}t        j                         t        j                  k(  r || |d            }n || |d            }| j                  D ]  }	|	j                         }
|D ]n  }|j                  |
k  r| j                  t        t        ||	       0d|d<   | j!                  |	j#                                t        ||	       | j!                  |	j#                                | j$                  D ]f  \  }}t'        |	j)                  |            }||   }| j+                  ||d|||	j-                         |	j/                         |j                  |fz         h |	j1                         d   s	d	}|	j3                  ||       t        ||	       t'        |	j)                  |            }||   }| j+                  ||d
|||	j/                         fz         q d|d<   | j!                  |	j#                                t        ||	       | j!                  |	j#                                | j$                  D ]f  \  }}t'        |	j)                  |            }||   }| j+                  ||d|||	j-                         |	j/                         j                  |fz         h |	j1                         d   sad	}|	j3                  ||       | j!                  |	j#                                t        ||	       | j!                  |	j#                                t'        |	j)                  |            }||   }| j+                  ||d
|||	j/                         fz          y # t        $ r Y y w xY wc c}w )Nr   emptydtyperb   >u4<u4.z2%s != %s: flags: %i, bpp: %i, dtype: %s,  posn: %sr*   rg   rh   )r   r   r   ImportErrorr?   rB   r   r0   get_sdl_byteorder
LIL_ENDIANr7   r{   r   rp   rq   r   rn   ro   rr   r   rs   rt   ru   rj   rv   rw   )r9   r   r   rF   r}   dst_dimsr   destinationsswapped_dstrH   src_bytesizer   r   r   r   r   s                   r   r   z4PixelCopyTestWithArrayNumpy.test_surface_to_array_2dz  s~   	* ##$>>48NNCqh*CC##%):)::%,7K%,7KLL ?	D,,.L# "<<,.%%j2BCNC  !23 d+  !23#// GD!#D$6$6t$<=BTB$$:  NN, ,,.II 	$ >>#A&!DKKk2$S$/#D$6$6t$<=BTB$$B 3r2t?O?O?Q6R RA"H  !KT__./[$/T__./++ 	a 2 24 89 &  62t~~/1A1A1CSYYPTUV	 ~~"D+.  !23 d3  !23 2 24 89 &  /2r4;K;K;M2NN{?	  		 Ds   N N,	N)(N)c                 0   	 ddl m}m} | j                  }| j
                  dz   }| j                  D cg c]  } |||       }}t        j                         t        j                  k(  r || |d            }n || |d            }| j                  D ]j  }|j                         }	|D ]*  }
d|
d<   | j                  |j                                t        |
|       | j                  |j                                | j                  D ]  \  }}|j!                  |      \  }}}}|
|   \  }}}| j#                  ||d|||j%                         |j                         |fz         | j#                  ||d|||j%                         |j                         |fz         | j#                  ||d	|||j%                         |j                         |fz          - d|d<   | j                  |j                                t        ||       | j                  |j                                | j                  D ]  \  }}|j!                  |      \  }}}}||   \  }}}| j#                  ||d|||j%                         |j                         |fz         | j#                  ||d|||j%                         |j                         |fz         | j#                  ||d	|||j%                         |j                         |fz          m y # t        $ r Y y w xY wc c}w )
Nr   r   )r*   r   r   .z2%i != %i, color: red, flags: %i, bpp: %i, posn: %sz4%i != %i, color: green, flags: %i, bpp: %i, posn: %sz3%i != %i, color: blue, flags: %i, bpp: %i, posn: %s)r   r   r   r   r?   rB   r   r0   r   r   r7   rj   rn   ro   r   rr   r   rt   ru   )r9   r   r   rF   r   r   r   r   rH   r~   r   r   r   r_surfg_surfb_surfa_surfr_arrg_arrb_arrs                       r   r   z4PixelCopyTestWithArrayNumpy.test_surface_to_array_3d  s;   	* ##>>D(48NNCqh*CC##%):)::%,7K%,7KLL ;	D**,K# C  !23 d+  !23#// GD!59[[5F2FFFF*-d)'E5%$$. &$..*:D<L<L<NPTUV $$. &$..*:D<L<L<NPTUV $$. &$..*:D<L<L<NPTUV#<  !KT__./[$/T__./++ a15T1B.&1$&7#ue  *fdnn&68H8H8JDQR   *fdnn&68H8H8JDQR   *fdnn&68H8H8JDQR#I;	  		 Ds   L L	LLc                 .   	 ddl m}m}m}m}m} t        j                  ddd      } |g d|      } |d|      }t        |||       | j                   |||j                  |      k(                |g dg dg d	g|      }	 |d
|	j                  d   f|      }t        ||	|        ||	D 
cg c]  }
|j                  |
       c}
|      }| j                   |||k(                |g dgg dgg dgg d	gg|      }	 ||	j                  d   df|      }t        ||	|        ||	d d df   D 
cg c]  }
|j                  |
      g c}
|      }| j                   |||k(               d
}d} |||df|      } ||f|      }| j                  t        t        |||        |d||dz   f|      }| j                  t        t        |||        |d|dz
  df|      }| j                  t        t        |||       y # t        $ r Y y w xY wc c}
w c c}
w )Nr   )arrayzerosr   int32allr   r   )r)      ;   )r&      )r(   r&   r   )r)         )%   5   r   r%   )r)   r   r/   )r      r   r*   r&   r!   r$   )r   r   r   r   r   r   r   r0   rA   r   
assertTruer   shaperp   rq   )r9   r   r   r   r   alltruerH   r   r   striperI   target_striper   r   r   s                  r   r   z*PixelCopyTestWithArrayNumpy.test_map_array  s   	HH ~~fa, lE*vu%&%&$,,u*= =>? 	<?G6<<?+U3&&$'?1t||A?G- 789 [<.<.=/JE
 Q+U3&&$'&A,GQQ0GO- 789 1ay%(tU#*iFAq1u~u-*iFAE1~u-*iFO  		  @ Hs   G> .H3H>	H
	H
r   rU   )r   r   r   r   r0   	surfarrayuse_arraytyper   __tags__rk   r?   rB   rr   pixels2dpixels3darray2darray3dr5   rJ   rR   r6   r\   r`   r   r   r   	NameErrorr   r   r   r   r   "  s    0 	&&w/HL I	K HBxHG2hG",	,
ObJX*G`
 W	  3123F	   $$s#   A& "A5 &	A21A25	B Br   znewbuf not implementedc                       e Zd Zej                  r0ddlmZ  G d dej                        Z G d dej                        Z	 ej                  ddd      Zd	 Zd
 Zd Zd Zd Zd Zd Zy)PixelCopyTestWithArrayNewBufr   )buftoolsc                   $     e Zd Z fdZd Z xZS )$PixelCopyTestWithArrayNewBuf.Array2Dc                     ddl m}m}m} t        j
                  }t        |   ddd        || j                   ||            | _	        t        |      D ]  \  }}|| j                  |<    y )Nr   )castPOINTERc_uint32r*   r&   =I)r   r%   formatstrides)ctypesr   r   r   r   Array2Dsuperr5   bufcontent	enumerate)	r9   initializerr   r   r   r  r   v	__class__s	           r   r5   z-PixelCopyTestWithArrayNewBuf.Array2D.__init__[  sd    ::6>> g F#DHHgh.?@%k2 (DAq&'DLLO(r   c                 n    |d   dz  |d   z   }d|cxk  rdk  sn t        d|      | j                  |   S )Nr   r&   r$      %s is out of range
IndexErrorr
  r9   key
byte_indexs      r   __getitem__z0PixelCopyTestWithArrayNewBuf.Array2D.__getitem__d  sB     VaZ#a&0
Z,",$%93??||J//r   r   r   r   r5   r  __classcell__r  s   @r   r  r   Z      (0r   r  c                   $     e Zd Z fdZd Z xZS )$PixelCopyTestWithArrayNewBuf.Array3Dc                     ddl m}m}m} t        j
                  }t        |   ddd        || j                   ||            | _	        t        |      D ]  \  }}|| j                  |<    y )Nr   )r   r   c_uint8)r*   r&   r*   B)r   r%   r$   r  )r  r   r   r  r   Array3Dr  r5   r	  r
  r  )	r9   r  r   r   r  r!  r   r  r  s	           r   r5   z-PixelCopyTestWithArrayNewBuf.Array3D.__init__k  sd    996>> 3
 K#DHHgg.>?%k2 (DAq&'DLLO(r   c                     |d   dz  |d   dz  z   |d   z   }d|cxk  rdk  sn t        d|      | j                  |   S )Nr   r   r$   r%   r(   r   r  r  r  s      r   r  z0PixelCopyTestWithArrayNewBuf.Array3D.__getitem__t  sO     Vb[3q6A:5A>
Z,",$%93??||J//r   r  r  s   @r   r!  r  j  r  r   r!  r  r   c           	          | j                   }t        d      D ]/  }t        d      D ]  }|j                  ||f|dz   d|dz   f       ! 1 y )Nr&   r*   r$   r   )surfacer   rw   )r9   rH   r   r   s       r   r\   z"PixelCopyTestWithArrayNewBuf.setUp|  sR    ||q 	7A1X 7QFQUAq1u$567	7r   c                     t        dd      D ];  }t        dd      D ]*  }| j                  |j                  ||f      |||f          , = y )Nr   r*   r&   )r   rt   rs   )r9   r$  r   r   r   s        r   assertCopy2Dz)PixelCopyTestWithArrayNewBuf.assertCopy2D  sW    q! 	MA1a[ M  !6!61v!>adLM	Mr   c                    | j                  t        dd            }| j                  |j                  d   | j                  j                  d             t        || j                         | j                  | j                  |       y Nr   r  r#   )r  r   assertNotEqualr
  r$  rs   r   r&  r9   r   s     r   test_surface_to_array_newbufz9PixelCopyTestWithArrayNewBuf.test_surface_to_array_newbuf  s`    U1b\*EMM!,dll.H.H.PQ-$,,.r   c                    | j                  t        dd            }| j                  |j                  d   | j                  j                  d             t        | j                  |       | j                  | j                  |       y r(  )r  r   r)  r
  r$  rs   r   r&  r*  s     r   test_array_to_surface_newbufz9PixelCopyTestWithArrayNewBuf.test_array_to_surface_newbuf  s`    U1b\*EMM!,dll.H.H.PQu-$,,.r   c           	         | j                  dgdz        }t        dd      D cg c]  }|d|z
  dz  z   dz    }}| j                  |      }t        ||| j                         t        dd      D ]Z  }t        dd      D ]I  }|||df   |||df   |||d	f   f}| j                  | j                  j                  |||f         |       K \ y c c}w )
Nr   r  r   r   i  c r*   r&   r$   r(   )r  r   r!  r   r$  rt   	unmap_rgb)r9   array2Dr   elementsarray3Dr   r   r   s           r   test_map_array_newbufz2PixelCopyTestWithArrayNewBuf.test_map_array_newbuf  s    ,,sRx(=B1b\JAqA&(3JJ,,x('7DLL1q! 	KA1a[ KAq!G$gaAg&61a8HH  !7!71!FJK	K Ks   Cc                 v    | j                  t        ddd            }t        |      }| j                  ||       y )Nr      )r  r   r   r&  )r9   r   r$  s      r   test_make_surface_newbufz5PixelCopyTestWithArrayNewBuf.test_make_surface_newbuf  s3    U2sB/0u%'5)r   c           	         | j                   j                  }| j                  }|j                         }|\  }}dD ]  }|j	                  d        |||      }dg|j
                  z  |j                  d d  t        ||       t        |      D ]5  }t        |      D ]%  }	| j                  |j                  ||	f      d       ' 7  dD ](  } |||      }| j                  t        t        ||       * y )N)z=ir  z=lz=Lz=qz=Qz<iz>iz!i1iz=1iz@qq4x8x)r         )r  *   )r>  r>  r>  r   )fd?r   1x2x3x5x6x7x9x)r   Exporterr$  rl   rP   buflen_bufr   r   rt   r   rp   rq   )
r9   rI  r$  r   r   r   r  expr   r   s
             r   test_format_newbufz/PixelCopyTestWithArrayNewBuf.test_format_newbuf  s    ==)),,  "1
 	PF" LL)50C$+CHHQKWc*1X Pq PA$$W^^QF%;=NOPP+	P2 U 	JF50Cj*:GSI	Jr   N)r   r   r   r0   HAVE_NEWBUFpygame.tests.test_utilsr   rI  r  r!  rA   r$  r\   r&  r+  r-  r3  r6  rM  r   r   r   r   r   T  sp     4	0h'' 	0 	0h'' 	0  fnnVQ+G7M
//K*
 Jr   r   __main__)platformr3   rO  r   r   r0   pygame.localspygame.pixelcopyr   r   r   r   python_implementationrx   r   skipIfr4   r   r   rN  r   r   mainr   r   r   <module>rW     s-    	0   X X
2H224
4
 BCJF(++ JF DJFZ BCn("3"3 n Dnb	 V''')ABBClJ8#4#4 lJ D ClJ^ zHMMO   		s   C6 6C>=C>