
    iV              	           d Z ddlZddlZddlmZmZ ej                            dg dd  eg d          D             z             d             Z	d	 Z
d
 Zd Zd ZdS )zThese tests make sure that we have some coverage on the usage of the PERIOD value type.

See
- https://github.com/collective/icalendar/issues/156
- https://github.com/pimutils/khal/issues/152#issuecomment-933635248
    N)	vDDDTypesvPeriod)calnametznameindexperiod_string))'issue_156_RDATE_with_PERIOD_TZID_khal_2Europe/Berlinr   z20211101T160000/20211101T163000)r	   r
      z20211206T160000/20211206T163000)r	   r
      z20220103T160000/20220103T163000)r	   r
      z20220207T160000/20220207T163000c                      g | ]\  }}d d||fS )%issue_156_RDATE_with_PERIOD_TZID_khalzAmerica/Chicago ).0iperiods      V/root/projects/butler/venv/lib/python3.11/site-packages/icalendar/tests/test_period.py
<listcomp>r   +   s6       Av 
12CQO      )z20180327T080000/20180327T090000z20180403T080000/20180403T090000z20180410T080000/20180410T090000z20180417T080000/20180417T090000z20180424T080000/20180424T090000z20180501T080000/20180501T090000z20180508T080000/20180508T090000z20180515T080000/20180515T090000z20180522T080000/20180522T090000z20180529T080000/20180529T090000z20180605T080000/20180605T090000z20180612T080000/20180612T090000z20180619T080000/20180619T090000z20180626T080000/20180626T090000z20180703T080000/20180703T090000z20180710T080000/20180710T090000z20180717T080000/20180717T090000z20180724T080000/20180724T090000z20180731T080000/20180731T090000c                     | |         }|                     d          d         d         }|j        |         }|j        t          j        ||          k    sJ dS )z'Check items in a list of period values.veventr   rdate)timezoneN)walkdtsdtr   	from_ical)	calendarsr   r   r   r   calendarr   r   s           r   #test_issue_156_period_list_in_rdater!      s_    v !HMM(##A&w/EYuF9	+MFKKKKKKKKKr   c                 n   t          j        d          }t          j        d          }| j        d         }t          |           |j        d         j        }t          t          |                     |d         |k    sJ |d         j        dk    sJ |d         j        dk    sJ |d         |k    sJ dS )z!This checks the duration PT5H30M.19970109T180000ZPT5H30MRDATEr   r   iXM  N)	r   r    issue_156_RDATE_with_PERIOD_listprintr   r   dirdaysseconds)eventsstartdurationr   r   s        r   test_duration_properly_parsedr.   P   s     233E"9--H3G<E	%LLLYq\_F	#h--!9!9>Q!9 22222!9      r   c                     t          | j                            d                    d         }|d         j        d         dk    sJ dS )z/The TZID should be mentioned in the parameters.VEVENTr   r%   TZIDAmerica/VancouverN)listperiod_with_timezoner   params)r   events     r   #test_tzid_is_part_of_the_parametersr7   ^   sI    /44X>>??BE> (,???????r   c           	      Z   t          | j                            d                    d         }|d         j        d         j        \  }}||                    t          j        dddd          d          k    sJ ||                    t          j        dddd          d          k    sJ d	S )
z'The TZID should be set in the datetime.r0   r   r%   i        r2      N)r3   r4   r   r   r   localizedatetime)r   tzpr6   r,   ends        r   &test_tzid_is_part_of_the_period_valuesr@   d   s    /44X>>??BEw#A&)JE3CLL$B++-@      #,,x0r2rBBDWXXXXXXXXr   c                     t          j         ddddd          } t          j         ddddd          }t          j         ddddd          }t          | |f          }t          | |f          }t          ||f          }|                    |          sJ |                    |          sJ |                    |          rJ d S )Ni        r9   r      r:   )r=   r   overlaps)
datetime_1
datetime_2
datetime_3period_1period_2period_3s         r   test_period_overlapsrL   n   s    "4RQ77J"4RR88J"4RQ77J
J/00H
J/00H
J/00HX&&&&&X&&&&&  *******r   )__doc__r=   pytesticalendar.propr   r   markparametrize	enumerater!   r.   r7   r@   rL   r   r   r   <module>rS      s      - - - - - - - - 3  4 "  
 
  536 6nL Lo6 6nL! ! !@ @ @Y Y Y+ + + + +r   