§
    ^ «j
	  ã            
       ót  — d Z ddlZddlmc mZ ddlZddlZddl	Z	ddl
mZmZ ej                             dej                             ej                             ej                             e¦  «        d¦  «        ¦  «        ¦  «         ddlmZ  G d„ de	j        ¦  «        Zedk    r e	j        ¦   «          dS dS )	zMUnit test for SystemTrayManager in src/assistant_tool/system_tray_manager.py.é    N)Ú	MagicMockÚpatchz..)ÚSystemTrayManagerc                   óD   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
S )ÚTestSystemTrayManagerc                 óÄ   — t          ¦   «         | _        t          ¦   «         | _        t          ¦   «         | _        t	          | j        | j        | j        ¬¦  «        | _        d S )N)ÚappÚon_exit_callbackÚon_toggle_bot_callback)r   Úmock_appÚ	mock_exitÚmock_toggler   Útray©Úselfs    ú.C:\Projects\AutoPOE2\tests\test_system_tray.pyÚsetUpzTestSystemTrayManager.setUp   sN   € Ý!™œˆŒÝ"™œˆŒÝ$™;œ;ˆÔå%Ø”Ø!œ^Ø#'Ô#3ð
ñ 
ô 
ˆŒ	ˆ	ˆ	ó    c                 ó˜   — | j                              ¦   «         }|                      |¦  «         |                      |j        d¦  «         d S )N)é@   r   )r   Ú_create_icon_imageÚassertIsNotNoneÚassertEqualÚsize)r   Úimgs     r   Útest_create_icon_imagez,TestSystemTrayManager.test_create_icon_image   sG   € ØŒi×*Ò*Ñ,Ô,ˆØ×Ò˜SÑ!Ô!Ð!Ø×Ò˜œ 8Ñ,Ô,Ð,Ð,Ð,r   c                 ót   — | j                              ¦   «          | j        j                             ¦   «          d S ©N)r   Útoggle_windowr   ÚafterÚassert_called_oncer   s    r   Útest_toggle_window_calls_afterz4TestSystemTrayManager.test_toggle_window_calls_after   s3   € ØŒ	×ÒÑ!Ô!Ð!ØŒÔ×.Ò.Ñ0Ô0Ð0Ð0Ð0r   c                 ó0  — d| j         j        _        d| j         j        _        | j                             ¦   «          | j         j                             ¦   «          | j         j                             ¦   «          | j         j	                             ¦   «          d S )NÚ	withdrawnF)
r   ÚstateÚreturn_valueÚwinfo_viewabler   Ú_do_toggle_windowÚ	deiconifyr!   ÚliftÚfocus_forcer   s    r   Ú.test_do_toggle_window_deiconify_when_withdrawnzDTestSystemTrayManager.test_do_toggle_window_deiconify_when_withdrawn"   s{   € Ø+6ˆŒÔÔ(Ø49ˆŒÔ$Ô1ØŒ	×#Ò#Ñ%Ô%Ð%ØŒÔ×2Ò2Ñ4Ô4Ð4ØŒÔ×-Ò-Ñ/Ô/Ð/ØŒÔ!×4Ò4Ñ6Ô6Ð6Ð6Ð6r   c                 ó¸   — d| j         j        _        d| j         j        _        | j                             ¦   «          | j         j                             ¦   «          d S )NÚnormalT)r   r%   r&   r'   r   r(   Úwithdrawr!   r   s    r   Ú+test_do_toggle_window_withdraw_when_visiblezATestSystemTrayManager.test_do_toggle_window_withdraw_when_visible*   sM   € Ø+3ˆŒÔÔ(Ø48ˆŒÔ$Ô1ØŒ	×#Ò#Ñ%Ô%Ð%ØŒÔ×1Ò1Ñ3Ô3Ð3Ð3Ð3r   c                 óâ   — | j                              ¦   «          | j        j                             ¦   «          | j                              ¦   «          | j        j                             ¦   «          d S r   )r   Úshow_windowr   r    Úassert_calledÚhide_windowr   s    r   Útest_show_and_hide_windowz/TestSystemTrayManager.test_show_and_hide_window0   s^   € ØŒ	×ÒÑÔÐØŒÔ×)Ò)Ñ+Ô+Ð+àŒ	×ÒÑÔÐØŒÔ×)Ò)Ñ+Ô+Ð+Ð+Ð+r   c                 ó‚   — | j                              ¦   «          | j        j                             d| j        ¦  «         d S ©Nr   )r   Ú
toggle_botr   r    Úassert_called_withr   r   s    r   Útest_toggle_botz%TestSystemTrayManager.test_toggle_bot7   s:   € ØŒ	×ÒÑÔÐØŒÔ×.Ò.¨q°$Ô2BÑCÔCÐCÐCÐCr   c                 ó‚   — | j                              ¦   «          | j        j                             d| j        ¦  «         d S r7   )r   Úquit_appr   r    r9   r   r   s    r   Útest_quit_appz#TestSystemTrayManager.test_quit_app;   s9   € ØŒ	×ÒÑÔÐØŒÔ×.Ò.¨q°$´.ÑAÔAÐAÐAÐAr   c                 óö   — t          ¦   «         }|| j        _        | j                             ¦   «          |j                             ¦   «          |                      | j                             ¦   «         ¦  «         d S r   )r   r   ÚiconÚstopr!   ÚassertFalseÚ
is_running)r   Ú	mock_icons     r   Ú	test_stopzTestSystemTrayManager.test_stop?   sb   € Ý‘K”Kˆ	Ø"ˆŒ	ŒØŒ	�ŠÑÔÐØŒ×)Ò)Ñ+Ô+Ð+Ø×Ò˜œ×-Ò-Ñ/Ô/Ñ0Ô0Ð0Ð0Ð0r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r"   r,   r0   r5   r:   r=   rD   © r   r   r   r      s¡   € € € € € ð	
ð 	
ð 	
ð-ð -ð -ð
1ð 1ð 1ð7ð 7ð 7ð4ð 4ð 4ð,ð ,ð ,ðDð Dð DðBð Bð Bð1ð 1ð 1ð 1ð 1r   r   Ú__main__)Ú__doc__ÚbuiltinsÚ@py_builtinsÚ_pytest.assertion.rewriteÚ	assertionÚrewriteÚ
@pytest_arÚosÚsysÚunittestÚunittest.mockr   r   ÚpathÚinsertÚabspathÚjoinÚdirnameÚ__file__Ú&src.assistant_tool.system_tray_managerr   ÚTestCaser   rE   ÚmainrH   r   r   ú<module>r^      s   ðØ SÐ Sà  € € € € € € € € € € € € €	€	€	€	Ø 
€
€
€
Ø €€€Ø *Ð *Ð *Ð *Ð *Ð *Ð *Ð *à „‡‚��2”7—?’? 2¤7§<¢<°´·²ÀÑ0IÔ0IÈ4Ñ#PÔ#PÑQÔQÑ RÔ RÐ Rà DÐ DÐ DÐ DÐ DÐ Dð71ð 71ð 71ð 71ð 71˜HÔ-ñ 71ô 71ð 71ðt ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   