o
    nf                     @   sL   d dl Zd dlm  mZ d dlmZ d dlZd dlm	Z	 G dd dZ
dS )    N)datetimeSchedulec                   @   sZ   e Zd Zejdd Zdd Zdd Zdd Zd	d
 Z	dd Z
dd Zdd Zdd ZdS )TestSchedulec                 C   s   t  S )Nr   )self r   @/workspaces/Masterarbeit/3_schedule_manager/test_output_13_RP.pyschedule   s   zTestSchedule.schedulec           	      C   s(  t ddddd}|d| |j}||v }|sXtd|fd||fd	t v s,t|r1t|nd	d
t v s=t|rBt|nd
t|d }dd|i }t	t
|d  }}d}|j| }||v }|std|fd||ft|t|d }dd|i }t	t
|d  } }}d S )N           r      生日聚会in)z.%(py0)s in %(py4)s
{%(py4)s = %(py2)s.events
}
event_dater	   )py0py2py4zassert %(py6)spy6)z%(py1)s in %(py4)s)py1r   )r   	add_eventevents
@pytest_ar_call_reprcompare@py_builtinslocals_should_repr_global_name	_safereprAssertionError_format_explanation)	r   r	   r   @py_assert3@py_assert1@py_format5@py_format7@py_assert0@py_assert2r   r   r   test_add_event	   s   pzTestSchedule.test_add_eventc           	      C   s   t ddddd}|d| |d| |j| }t|}d}||k}|s]td|fd	||fd
t v s:ttr?t	tnd
t	|t	|t	|d }dd|i }t
t|d  } } }}d S )Nr
   r   r   r   r   r      )==)z0%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py7)slen)r   r   r   py7zassert %(py9)spy9)r   r   r   r*   r   r   r   r   r   r   r   r    )	r   r	   r   r"   r!   @py_assert6@py_assert5@py_format8@py_format10r   r   r   test_add_duplicate_event   s   z%TestSchedule.test_add_duplicate_eventc           	   	   C   s  | dtddddd | dtdddd	d
 | dtddddd |  | }d}|j}||v }|sktd|fd||ft|dt	 v sPt
|rUt|ndt|d }dd|i }tt|d  } }}d}|j}||v }|std|fd||ft|dt	 v st
|rt|ndt|d }dd|i }tt|d  } }}d}|j}||v }|std|fd||ft|dt	 v st
|rt|ndt|d }dd|i }tt|d  } }}d S )Nr   r
   r   r   r   r      项目截止日期      ;   u   面试i              "   2023-12-20 18:00:
- 生日聚会

r   z+%(py1)s in %(py5)s
{%(py5)s = %(py3)s.out
}capturedr   py3py5assert %(py7)sr+   (   2023-12-25 23:59:
- 项目截止日期

u   2024-01-05 14:30:
- 面试

)r   r   view_events
readouterroutr   r   r   r   r   r   r   r    	r   r	   capsysr<   r%   @py_assert4r&   @py_format6r/   r   r   r   test_view_events   s   zTestSchedule.test_view_eventsc           
      C   s   t ddddd}|d| |d| |  | }d}|j}||v}|s[td|fd	||ft|d
t	
 v s@t|rEt|nd
t|d }dd|i }	tt|	d  } }}d S Nr
   r   r   r   r   r   z2023-12-20 18:00:
)not in)z/%(py1)s not in %(py5)s
{%(py5)s = %(py3)s.out
}r<   r=   r@   r+   r   r   remove_eventrB   rC   rD   r   r   r   r   r   r   r   r    
r   r	   rF   r   r<   r%   rG   r&   rH   r/   r   r   r   test_remove_event   s   zTestSchedule.test_remove_eventc           	   	   C   s   | dtddddd |dtdddd	d
 |  | }d}|j}||v }|s_td|fd||ft|dt	
 v sDt|rIt|ndt|d }dd|i }tt|d  } }}d S )Nr   r
   r   r   r   r   r2   r3   r4   r5   u#   未找到事件'项目截止日期'r   r;   r<   r=   r@   r+   )r   r   rM   rB   rC   rD   r   r   r   r   r   r   r   r    rE   r   r   r   test_remove_nonexistent_event#   s
   z*TestSchedule.test_remove_nonexistent_eventc           
      C   s   t ddddd}|d| |d| |d| |  | }d}|j}||v}|satd|fd	||ft|d
t	
 v sFt|rKt|nd
t|d }dd|i }	tt|	d  } }}d S rJ   rL   rN   r   r   r    test_remove_event_multiple_times)   s   z-TestSchedule.test_remove_event_multiple_timesc                 C   sl  t ddddd}t ddddd}|d	| |d
| |d	| |  | }d}|j}||v }|sitd|fd||ft|dt	
 v sNt|rSt|ndt|d }	dd|	i }
tt|
d  } }}d}|j}||v }|std|fd||ft|dt	
 v st|rt|ndt|d }	dd|	i }
tt|
d  } }}d S )Nr
   r   r   r   r   r3   r4   r5   r   r2   r:   r   r;   r<   r=   r@   r+   rA   rL   )r   r	   rF   event_date1event_date2r<   r%   rG   r&   rH   r/   r   r   r   %test_remove_event_with_different_date1   s   z2TestSchedule.test_remove_event_with_different_datec           	   	   C   s   | dtddddd |  | }d}|j}||v }|sStd|fd	||ft|d
t	 v s8t
|r=t|nd
t|d }dd|i }tt|d  } }}d S )Nr   r
   r   r   r   r   u   未找到事件'生日聚会'r   r;   r<   r=   r@   r+   )rM   r   rB   rC   rD   r   r   r   r   r   r   r   r    rE   r   r   r   %test_remove_event_from_empty_schedule;   s   z2TestSchedule.test_remove_event_from_empty_scheduleN)__name__
__module____qualname__pytestfixturer	   r'   r1   rI   rO   rP   rQ   rT   rU   r   r   r   r   r      s    
	
r   )builtinsr   _pytest.assertion.rewrite	assertionrewriter   r   rY   Zoutput_13_RPr   r   r   r   r   r   <module>   s   & 