
    &h                         S SK r S SKJrJrJrJrJrJrJr	  S SK
r
S SKr
 " S S\ R                  5      r\S:X  a  \ R                  " 5         gg)    N)int8int16uint8uint16float32arrayallc                   T    \ rS rSr\\\\\S.r	S r
S rS rS rS rS rS	 rS
 rSrg)SndarrayTest	   )          c                 Z    U R                   U   nU R                  UR                  U5        g N)array_dtypesassertEqualdtype)selfarrsizer   s       R/var/www/auris/envauris/lib/python3.13/site-packages/pygame/tests/sndarray_test.py_assert_compatibleSndarrayTest._assert_compatible   s&    !!$'E*    c           	      "  ^  U 4S jnU" SS/ SQ5        U" SSSS/SS	/S
S/SS//5        U" SS/ SQ5        U" SSSS/SS/SS/SS//5        U" SS/ SQ5        U" SSSS/SS
/SS/SS//5        U" SS/ SQ5        U" SSSS/SS/SS/SS//5        g )Nc                 ^  >  [         R                  R                  SXSS9   [         R                  R	                  5       u  p4nX@:X  a  [        UTR                  U    5      n[         R                  R                  U5      n[         R                  R                  U5      nTR                  Xp5        TR                  [        Xu:H  5      SXU4-  5        [         R                  R                  5         g ! [         R                   a     g f = f! [         R                  R                  5         f = fN"V  r   allowedchangessize: %i
%s
%s)pygamemixeriniterrorget_initr   r   sndarray
make_soundr   
assertTruealltruequit	r   channels	test_data__szsrcarrsndr   r   s	           r   check_array,SndarrayTest.test_array.<locals>.check_array   s    !!%!J$#\\224
:"9d.?.?.EFF //44V<C ////4C++C6OO.*d-CC
 !!# <<  !!#s   C2 B0D 2D	D	 D,r      r               r      -   A   d      r<   @   r   r   r<        rF   rE       r   r      rA   rJ   %   r   r     rO   rR   rQ    )r   r6   s   ` r   
test_arraySndarrayTest.test_array   s    	$( 	Aq/0AqAt9tTlT4L4,OPB67QK&!vv.>@PQ	
 	B12BQJe}r1gNOC45Ca\GQ<&!q&kRSr   c                 l    [         R                  R                  5       nU R                  USSU 35        g Nnumpyzunknown array type )r%   r*   get_arraytyper   )r   
array_types     r   test_get_arraytypeSndarrayTest.test_get_arraytype0   s.    __224
W0CJ<.PQr   c                     [         R                  R                  5       nU R                  SU5        U H  nU R	                  USSU 35        M     g rW   )r%   r*   get_arraytypesassertInr   )r   
arraytypesatypes      r   test_get_arraytypes SndarrayTest.test_get_arraytypes5   sF    __335
gz*EUG/B5'-JK  r   c           	      N  ^  U 4S jnU" SS/ SQ5        U" SSSS/SS	/S
S/SS//5        U" SS/ SQ5        U" SSSS/SS/SS/SS//5        U" SS/ SQ5        U" SSSS/SS
/SS/SS//5        U" SS/ SQ5        U" SSSS/SS/SS/SS//5        U" S SS!S"/S"S/S#S/SS#//5        g )$Nc                 <  >  [         R                  R                  SXSS9   [         R                  R	                  5       u  p4nX@:X  ay  [        UTR                  U    5      n[         R                  R                  U5      n[         R                  R                  U5      nTR                  [        Xu:H  5      SXU4-  5        [         R                  R                  5         g ! [         R                   a     g f = f! [         R                  R                  5         f = fr    )r%   r&   r'   r(   r)   r   r   r*   r+   samplesr,   r-   r.   r/   s	           r   check_sound1SndarrayTest.test_make_sound.<locals>.check_sound=   s    !!%!J$#\\224
:"9d.?.?.EFF //44V<C //11#6COO.*d-CC
 !!# <<  !!#s   C! BC; !C87C8; Dr   r8   r9   r=   r   r>   r?   r@   rA   rB   }   rC   r   rD   rF   r<   rE   rG   rH   r   rI   rJ   rL   rM   rN   rO   r   rP   rR   rQ   r                       ?rS   )r   rg   s   ` r   test_make_soundSndarrayTest.test_make_sound<   s    	$& 	Aq/0AqAt9tTlT4L3+NOB67QK&!vv.>@PQ	
 	B12BQJe}r1gNOC45Ca\GQ<&!q&kRSBS$K$S!Hq#hGHr   c           	      V  ^ ^ SmUU 4S jnU" SS/ SQ5        U" SSSS/S	S
/SS/SS//5        U" SS/ SQ5        U" SSSS/SS/SS/SS//5        U" SS/ SQ5        U" SSSS/SS/SS/SS//5        U" SS/ SQ5        U" SSSS/SS/SS/SS//5        U" S SS!S"/S"S/S#S/SS#//5        g )$N    c                   >  [         R                  R                  SXSS9   [         R                  R	                  5       u  p4nX@:X  a  T	[        U 5      S-  [        U5      -  U-  -  n[         R                  R                  US9n[         R                  R                  U5      nT
R                  Xp5        X'S'   [         R                  R                  U5      nT
R                  [        Xx:H  5      SXU4-  5        [         R                  R                  5         g ! [         R                   a     g f = f! [         R                  R                  5         f = f)Nr!   r   r"   r   )buffer.r$   )r%   r&   r'   r(   r)   abslenSoundr*   rf   r   r   r,   r-   r.   )r   r0   r1   r2   r3   zeroedr5   rf   r   	null_byter   s            r   check_sample/SndarrayTest.test_samples.<locals>.check_sample_   s   !!%!J$#\\224
:&3t9>S^*Kh*VWF ,,,,F,;C$oo55c:G++G: $-CL ////4COO/*d-CC
 !!#' << & !!#s   D CD4 D10D14 Er   r8   r9   r=   r   r>   r?   r@   rA   rB   r<   rC   r   rD   rF   rE   rG   rH   r   rI   rJ   rL   rM   rN   rO   r   rP   rR   rQ   r   rj   rk   rl   rS   )r   rx   rw   s   ` @r   test_samplesSndarrayTest.test_samples\   s   		$0 	Q01QQId|dD\D$<PQR78QK&!vv.>@PQ	
 	R23RaZ%uAwOPS!56S!q'lWaL61+6{STRc4[4)c1X3xHIr   c                     S n[         R                  R                  S5        U R                  [         R                  R	                  5       S5        U R                  [        US5        g )Nc                 B    [         R                  R                  U 5        g r   )r%   r*   use_arraytype)ra   s    r   do_use_arraytype9SndarrayTest.test_use_arraytype.<locals>.do_use_arraytype   s    OO))%0r   rX   znot an option)r%   r*   r~   r   rY   assertRaises
ValueError)r   r   s     r   test_use_arraytypeSndarrayTest.test_use_arraytype   sK    	1 	%%g.668'B*&6Hr   c                 J    [         R                  R                  SSSSS9  [        SS/SS/S	S/SS	//[        5      n[         R                  R                  US
9n[         R                  R                  5         g! [         R                   a    U R	                  S5         Nf = f)z5sized arrays work with Sounds and 32bit float arrays.r!   r   r=   r   r"   zunsupported mixer configurationrj   rk   rl   )r   N)	r%   r&   r'   r(   skipTestr   r   ru   r.   )r   r   newsounds      r   test_float32SndarrayTest.test_float32   s    	=LLeR1=
 c4[4)c1X3x@'J<<%%C%0 || 	=MM;<	=s    A: :%B"!B"rS   N)__name__
__module____qualname____firstlineno__r   r   r   r   r   r   r   rT   r[   rb   rm   rz   r   r   __static_attributes__rS   r   r   r   r   	   sC    $FGLL+T@R
LI@%JNI
r   r   __main__)unittestrX   r   r   r   r   r   r   r	   r-   r%   pygame.sndarrayTestCaser   r   mainrS   r   r   <module>r      sD     L L L  M8$$ M` zMMO r   