o
    OZŽh  ã                   @   sx   d dl Z d dlZd dlZd dlmZ d dlmZ e ¡ d kZG dd„ de j	ƒZ
G dd„ de j	ƒZedkr:e  ¡  dS dS )	é    N)Útouch)Úquestionc                   @   sh   e Zd Zedd„ ƒZedd„ ƒZdd„ Ze e	 d¡dd	„ ƒZ
d
d„ Ze e	 d¡dd„ ƒZdd„ ZdS )Ú	TouchTestc                 C   ó   t j ¡  d S ©N)ÚpygameÚdisplayÚinit©Úcls© r   úF/var/www/auris/lib/python3.10/site-packages/pygame/tests/touch_test.pyÚ
setUpClass   ó   zTouchTest.setUpClassc                 C   r   r   )r   r   Úquitr
   r   r   r   ÚtearDownClass   r   zTouchTest.tearDownClassc                 C   s   t  ¡  d S r   )r   Úget_num_devices©Úselfr   r   r   Útest_num_devices   s   zTouchTest.test_num_devicesúno touch devices foundc                 C   s   t  d¡ d S ©Nr   )r   Ú
get_devicer   r   r   r   Útest_get_device   r   zTouchTest.test_get_devicec                 C   s&   |   tjtjd¡ |   ttjd¡ d S )Né.ûÿÿÚtest)ÚassertRaisesr   Úerrorr   r   Ú	TypeErrorr   r   r   r   Útest_get_device__invalid   s   z"TouchTest.test_get_device__invalidc                 C   s   t  t  d¡¡ d S r   )r   Úget_num_fingersr   r   r   r   r   Útest_num_fingers   s   zTouchTest.test_num_fingersc                 C   s&   |   ttjd¡ |   tjtjd¡ d S )Nr   r   )r   r   r   r    r   r   r   r   r   r   Útest_num_fingers__invalid#   s   z#TouchTest.test_num_fingers__invalidN)Ú__name__Ú
__module__Ú__qualname__Úclassmethodr   r   r   ÚunittestÚskipIfÚhas_touchdevicer   r   r!   r"   r   r   r   r   r      s    



r   c                   @   s(   e Zd ZdgZe e d¡dd„ ƒZdS )ÚTouchInteractiveTestÚinteractiver   c                 C   s”  t j ¡  t j ¡  dtjd< t j d¡}| d¡ t j dd¡}d}d}| 	|d	t  
d
¡¡}| 	|d	t  
d
¡¡}d	}|rºt j ¡ D ]
}|jt jkrLd}qBg }	t jj ¡ }
|
dkrt jj d¡}t jj |¡}|dkrtd|ƒD ]}t jj ||¡}| 	d|› d	t  
d
¡¡}|	 |¡ qp| d¡ | |d¡ | |d¡ t|	ƒD ]\}}| |dd|d  f¡ q¢t j ¡  |s=tdƒ}|  |¡ t j ¡  dS )z&ask for touch input and check the dictz50,50ZSDL_VIDEO_WINDOW_POS)i   iX  )éÿ   r,   r,   Né    z.Please place some fingers on your touch devicez7Close the window when finished, and answer the questionTz#000000Fr   z	finger - )é   r.   )r.   é(   r.   éP   r/   z"Does the finger data seem correct?)r   r   r	   ÚfontÚosÚenvironÚset_modeÚfillZFontÚrenderÚColorÚeventÚgetÚtypeZQUITZ_sdl2r   r   r   r    ÚrangeZ
get_fingerÚappendZblitÚ	enumerateÚupdater   Ú
assertTruer   )r   Úscreenr1   Zinstructions_str_1Zinstructions_str_2Zinst_1_renderZinst_2_renderÚrunningr8   Zfinger_data_rendersZnum_devicesZfirst_deviceZnum_fingersZfinger_indexÚdatar6   ÚindexZfingerÚresponser   r   r   Útest_get_finger+   sN   



ÿ€ÿ

ç
z$TouchInteractiveTest.test_get_fingerN)r#   r$   r%   Z__tags__r'   r(   r)   rE   r   r   r   r   r*   (   s    r*   Ú__main__)r'   r2   r   Zpygame._sdl2r   Zpygame.tests.test_utilsr   r   r)   ZTestCaser   r*   r#   Úmainr   r   r   r   Ú<module>   s    8ÿ