
    i                         d dl Z d dlmZmZmZmZmZmZmZ	 d dl
Z
d dlZ
 G d de j                        Zedk(  r e j                          yy)    N)int8int16uint8uint16float32arrayallc                   L    e Zd ZeeeeedZd Z	d Z
d Zd Zd Zd Zd Zd	 Zy
)SndarrayTest)          c                 Z    | j                   |   }| j                  |j                  |       y N)array_dtypesassertEqualdtype)selfarrsizer   s       d/home/obispo/Crisostomo_bridge/mision_env/lib/python3.12/site-packages/pygame/tests/sndarray_test.py_assert_compatiblezSndarrayTest._assert_compatible   s&    !!$'E*    c           	            fd} |ddg d        |ddddgdd	gd
dgddgg        |ddg d        |ddddgddgddgddgg        |ddg d        |ddddgdd
gddgddgg        |ddg d        |ddddgddgddgddgg       y )Nc                 l   	 t         j                  j                  d| |d       	 t         j                  j	                         \  }}}|| k(  rt        |j                  |          }t         j                  j                  |      }t         j                  j                  |      }j                  ||        j                  t        ||k(        d| ||fz         t         j                  j                          y # t         j                  $ r Y y w xY w# t         j                  j                          w xY w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_arrayz,SndarrayTest.test_array.<locals>.check_array   s    !!%x!J$#\\224
B:"9d.?.?.EFF //44V<C ////4C++C6OOv.*dC-CC
 !!# <<  !!#s   #C: B4D :DD D3r      r               r      -   A   d      r9   @   r   r   r9        rC   rB       r   r      r>   rG   %   r   r     rL   rO   rN    )r   r4   s   ` r   
test_arrayz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    t         j                  j                         }| j                  |dd|        y Nnumpyzunknown array type )r#   r(   get_arraytyper   )r   
array_types     r   test_get_arraytypezSndarrayTest.test_get_arraytype0   s.    __224
W0CJ<.PQr   c                     t         j                  j                         }| j                  d|       |D ]  }| j	                  |dd|         y rS   )r#   r(   get_arraytypesassertInr   )r   
arraytypesatypes      r   test_get_arraytypesz SndarrayTest.test_get_arraytypes5   sM    __335
gz* 	LEUG/B5'-JK	Lr   c           	      L     fd} |ddg d        |ddddgdd	gd
dgddgg        |ddg d        |ddddgddgddgddgg        |ddg d        |ddddgdd
gddgddgg        |ddg d        |ddddgddgddgddgg        |d dd!d"gd"dgd#dgdd#gg       y )$Nc                 H   	 t         j                  j                  d| |d       	 t         j                  j	                         \  }}}|| k(  r{t        |j                  |          }t         j                  j                  |      }t         j                  j                  |      }j                  t        ||k(        d| ||fz         t         j                  j                          y # t         j                  $ r Y y w xY w# t         j                  j                          w xY wr   )r#   r$   r%   r&   r'   r   r   r(   r)   samplesr*   r+   r,   r-   s	           r   check_soundz1SndarrayTest.test_make_sound.<locals>.check_sound=   s    !!%x!J$#\\224
B:"9d.?.?.EFF //44V<C //11#6COOv.*dC-CC
 !!# <<  !!#s   #C( B"D (C>=C> D!r   r5   r6   r:   r   r;   r<   r=   r>   r?   }   r@   r   rA   rC   r9   rB   rD   rE   r   rF   rG   rI   rJ   rK   rL   r   rM   rO   rN   r                       ?rP   )r   ra   s   ` r   test_make_soundz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           	      T    d fd} |ddg d        |ddddgd	d
gddgddgg        |ddg d        |ddddgddgddgddgg        |ddg d        |ddddgddgddgddgg        |ddg d        |ddddgddgddgddgg        |d dd!d"gd"dgd#dgdd#gg       y )$N    c                    	 t         j                  j                  d| |d       	 t         j                  j	                         \  }}}|| k(  r	t        |       dz  t        |      z  |z  z  }t         j                  j                  |      }t         j                  j                  |      }
j                  ||        ||d<   t         j                  j                  |      }
j                  t        ||k(        d| ||fz         t         j                  j                          y # t         j                  $ r Y y w xY w# t         j                  j                          w xY w)Nr   r   r    r   )buffer.r"   )r#   r$   r%   r&   r'   abslenSoundr(   r`   r   r   r*   r+   r,   )r   r.   r/   r0   r1   zeroedr3   r`   r   	null_byter   s            r   check_samplez/SndarrayTest.test_samples.<locals>.check_sample_   s%   !!%x!J$#\\224
B:&3t9>S^*Kh*VWF ,,,,F,;C$oo55c:G++GT: $-GCL ////4COO3/*dC-CC
 !!#' << & !!#s   #D& C D? &D<;D<? Er   r5   r6   r:   r   r;   r<   r=   r>   r?   r9   r@   r   rA   rC   rB   rD   rE   r   rF   rG   rI   rJ   rK   rL   r   rM   rO   rN   r   rc   rd   re   rP   )r   rp   ro   s   ` @r   test_samplesz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                     d }t         j                  j                  d       | j                  t         j                  j	                         d       | j                  t        |d       y )Nc                 B    t         j                  j                  |        y r   )r#   r(   use_arraytype)r\   s    r   do_use_arraytypez9SndarrayTest.test_use_arraytype.<locals>.do_use_arraytype   s    OO))%0r   rT   znot an option)r#   r(   rt   r   rU   assertRaises
ValueError)r   ru   s     r   test_use_arraytypezSndarrayTest.test_use_arraytype   sK    	1 	%%g.668'B*&6Hr   c                 T   	 t         j                  j                  dddd       t        ddgddgd	dgdd	ggt              }t         j                  j                  |
      }t         j                  j                          y# t         j                  $ r | j	                  d       Y w xY w)z5sized arrays work with Sounds and 32bit float arrays.r   r   r:   r   r    zunsupported mixer configurationrc   rd   re   )r   N)	r#   r$   r%   r&   skipTestr   r   rm   r,   )r   r   newsounds      r   test_float32zSndarrayTest.test_float32   s    	=LLeR1=
 c4[4)c1X3x@'J<<%%C%0 || 	=MM;<	=s   #B   $B'&B'N)__name__
__module____qualname__r   r   r   r   r   r   r   rQ   rW   r]   rf   rq   rx   r|   rP   r   r   r   r   	   sC    $FGLL+T@R
LI@%JNI
r   r   __main__)unittestrT   r   r   r   r   r   r   r	   r+   r#   pygame.sndarrayTestCaser   r}   mainrP   r   r   <module>r      sF     L L L  M8$$ M` zHMMO r   