+
    ¾¾j{  ã                   óÄ  € R t ^ RIHtHtHtHt ^ RIt^ RIHtHtH	t	H
t
 ^ RIHt ]P                  ! ]]	.R7      R 4       t]P                  R 4       tR tR	 tR
 tR tR tR tR tR tR t]P2                  P5                  RRR.4      ]P2                  P5                  R]! R^
^^^ ^4      ]! R^
^4      .4      R 4       4       tR tR tR tR tR t R t!R t"R t#R t$R# ) zPThis tests the parsing of the VAVAILABILITY component as defined in :rfc:`7953`.)ÚdateÚdatetimeÚ	timedeltaÚtimezoneN)ÚBUSYTYPEÚAvailabilityÚ	AvailableÚCalendar)ÚIncompleteComponent)Úparamsc                ó   € V P                   # ©zThe component class.)Úparam)Úrequests   &Ú\/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/tests/test_rfc_7953.pyÚrfc_7953_component_classr      s   € ð �=‰=Ðó    c                ó   € V ! 4       # r   © )r   s   &r   Úrfc_7953_componentr      s   € ñ $Ó%Ð%r   c                óD   € V P                   pVP                  R8X  g   Q hR# )zTest the UID property.z$0428C7D2-688E-4D2E-AC52-CD112E2469DFN)Ú
rfc_7953_1Úuid©ÚavailabilitiesÚavailabilitys   & r   Útest_uidr      s"   € à!/×!:Ñ!:€LØ×ÑÐEÔEÐEÒEr   c                ó~   € V P                   pVP                  R8X  g   Q hVP                  P                  R8X  g   Q hR# )zTest the ORGANIZER property.úmailto:bernard@example.comzbernard@example.comN)r   Ú	organizerÚemailr   s   & r   Útest_organizerr!      s=   € à!/×!:Ñ!:€LØ×!Ñ!Ð%AÔAÐAÐAØ×!Ñ!×'Ñ'Ð+@Ô@Ð@Ò@r   c                ó~   € V P                   pVP                  VP                  \        R^
^^^ ^4      4      8X  g   Q hR# )zTest the DTSTAMP property.éÛ  N)r   ÚDTSTAMPÚlocalize_utcr   )r   Útzpr   s   && r   Útest_dtstampr'   $   s<   € à!/×!:Ñ!:€LØ×Ñ 3×#3Ñ#3´H¸TÀ2ÀqÈ"ÈbÐRTÓ4UÓ#VÔVÐVÒVr   c                ó�   € V P                   p\        VP                  4      ^8X  g   Q hVP                  VP                  8X  g   Q hR# )zTest the subcomponents.N)r   ÚlenÚsubcomponentsÚ	availabler   s   & r   Útest_subcomponentsr,   *   s@   € à!/×!:Ñ!:€LÜˆ|×)Ñ)Ó*¨aÔ/Ð/Ð/Ø×!Ñ! \×%?Ñ%?Ô?Ð?Ò?r   c                  óX   € \        4       P                  \        P                  8X  g   Q hR # ©N)r   Ú	busy_typer   ÚBUSY_UNAVAILABLEr   r   r   Útest_busy_type_defaultr1   1   s   € Ü‹>×#Ñ#¤x×'@Ñ'@Ô@Ð@Ò@r   c                  ó¦   € \        4       p \        P                  V n        V P                  \        P                  8X  g   Q hV R ,          R8X  g   Q hR# )r   ÚBUSYN)r   r   r3   r/   )r   s    r   Útest_set_busy_typer4   5   s@   € Ü“>€LÜ%Ÿ]™]€LÔØ×!Ñ!¤X§]¡]Ô2Ð2Ð2Ø˜
Õ# vÔ-Ð-Ò-r   c                 ó˜   € \         P                  ! 4       pVP                  \        P                  8X  g   Q hVP
                  V 8X  g   Q hR # r.   )r   Únewr/   r   r0   r   )r   r   s   & r   Útest_new_sets_defaultr7   <   s>   € Ü×#Ò#Ó%€LØ×!Ñ!¤X×%>Ñ%>Ô>Ð>Ð>Ø×Ñ˜xÔ'Ð'Ò'r   c                 ó  € \         P                  ! R R7      p\        P                  ! \        P                  V.R7      p\        VP                  4      ^8X  g   Q hVP                  ^ ,          P                  R 8X  g   Q hR# )Ú
Available1)Úsummary)r/   Ú
componentsN)r   r6   r   r   r3   r)   r+   r:   )Údont_validate_newÚavaiabler   s   &  r   Ú/test_create_new_availability_with_subsomponentsr>   B   s`   € Ü�}Š} \Ô2€HÜ×#Ò#¬h¯m©mÈÈ
ÔS€LÜˆ|×%Ñ%Ó&¨!Ô+Ð+Ð+Ø×!Ñ! !Õ$×,Ñ,°Ô<Ð<Ò<r   c                 óä   € \         P                  ! \        4      ;_uu_ 4       p \        P                  ! 4        RRR4       R\        X P                  4      9   g   Q hR#   + '       g   i     L.; i)ú+Start is required and not set automaticallyNz2Available start must be a datetime with a timezone)ÚpytestÚraisesÚ
ValueErrorr   r6   ÚstrÚvalue)Úes    r   Útest_avaiable_needs_startrG   I   s@   € ä	�Š”z×	"Ô	" aÜ�ŠŒ÷ 
#à?Ä3ÀqÇwÁwÃ<ÔOÐOÒO÷ 
#×	"ús   £AÁA/	ÚkeyÚstartÚendrE   r#   c                óê   € W/p\         P                  ! \        4      ;_uu_ 4       pVP                  ! R/ VB  RRR4       V  R2\	        XP
                  4      9   g   Q hR#   + '       g   i     L1; i)r@   Nz# must be a datetime with a timezoner   )rA   rB   rC   r6   rD   rE   )rH   rE   r   ÚkwrF   s   &&&  r   Útest_avaiable_needs_timezonerM   P   sY   € ð ˆ€BÜ	�Š”z×	"Ô	" aØ ×$Ò$Ñ* rÒ*÷ 
#àˆUÐ5Ð6¼#¸a¿g¹g»,ÔFÐFÒF÷ 
#×	"ús   ¦A"Á"A2	c           
     ó˜   € V P                  \        R^
^^^ ^4      4      p\        P                  ! VR7      pVP                  V8X  g   Q hR# )zCreate with a valid start.r#   )rI   N)r%   r   r   r6   rI   )r&   rI   r+   s   &  r   Útest_create_with_startrO   \   sA   € à×ÑœX d¨B°°2°r¸2Ó>Ó?€EÜ—’ EÔ*€IØ�?‰?˜eÔ#Ð#Ò#r   c           
     óü   € V P                  \        R^
^^^ ^4      4      pV P                  \        R^
^^^ ^4      4      p\        P                  ! WR7      pVP                  V8X  g   Q hVP
                  V8X  g   Q hR# )z"Create with a valid start and end.r#   )rI   rJ   N)r%   r   r   r6   rI   rJ   )r&   rI   rJ   r+   s   &   r   Útest_create_with_start_and_endrQ   c   sr   € à×ÑœX d¨B°°2°r¸2Ó>Ó?€EØ
×
Ñ
œ8 D¨"¨a°°R¸Ó<Ó
=€CÜ—’ EÔ3€IØ�?‰?˜eÔ#Ð#Ð#Ø�=‰=˜CÔÐÒr   c           
     óÐ   € VP                  \        R^
^^^ ^4      4      V n        VP                  \        R^
^^^ ^4      4      V n        V P                  \        ^R7      8X  g   Q hR# ©ú*Check the computation of end and duration.r#   ©ÚhoursN)r%   r   rI   rJ   Údurationr   ©r   r&   s   &&r   Útest_duration_from_endrY   l   sa   € à"×/Ñ/´¸¸rÀ1ÀbÈ"ÈbÓ0QÓRÐÔØ ×-Ñ-¬h°t¸RÀÀBÈÈBÓ.OÓPÐÔØ×&Ñ&¬)¸!Ô*<Ô<Ð<Ò<r   c                ó
  € VP                  \        R^
^^^ ^4      4      V n        \        ^R7      V n        V P
                  \        ^R7      8X  g   Q hV P                  VP                  \        R^
^^^ ^4      4      8X  g   Q hR# rS   )r%   r   rI   r   ÚDURATIONrW   rJ   rX   s   &&r   Ú#test_duration_and_end_from_durationr\   s   s|   € à"×/Ñ/´¸¸rÀ1ÀbÈ"ÈbÓ0QÓRÐÔÜ"+°!Ô"4ÐÔØ×&Ñ&¬)¸!Ô*<Ô<Ð<Ð<Ø×!Ñ! S×%5Ñ%5´h¸tÀRÈÈBÐPRÐTVÓ6WÓ%XÔXÐXÒXr   c           
     óŽ   € VP                  \        R^
^^^ ^4      4      V n        V P                  e   Q hV P                  e   Q hR# )rT   r#   N)r%   r   rI   rW   rJ   rX   s   &&r   Útest_start_only_has_no_durationr^   {   sI   € à"×/Ñ/´¸¸rÀ1ÀbÈ"ÈbÓ0QÓRÐÔØ×&Ñ&Ò.Ð.Ð.Ø×!Ñ!Ò)Ð)Ò)r   c                óô   € \        ^R7      V n        \        P                  ! \        4      ;_uu_ 4       pV P
                   RRR4       R\        XP                  4      9   g   Q hR#   + '       g   i     L.; i)z/We miss information and cannot compute the end.rU   Nz Cannot compute end without start)r   r[   rA   rB   r
   rJ   rD   rE   )r   rF   s   & r   Útest_missing_info_for_endr`   ‚   sO   € ä"+°!Ô"4ÐÔÜ	�ŠÔ*×	+Ô	+¨qØ×Ò÷ 
,à-´°Q·W±W³Ô=Ð=Ò=÷ 
,×	+ús   ´A'Á'A7	c           
     ó  € VP                  \        R^
^^^ ^4      4      V n        \        P                  ! \
        4      ;_uu_ 4       pV P                   RRR4       R\        XP                  4      9   g   Q hR#   + '       g   i     L.; i)zWe only have a duration.r#   Nz%Cannot compute duration without start)	r%   r   rJ   rA   rB   r
   rW   rD   rE   )r   r&   rF   s   && r   Útest_missing_info_for_durationrb   Š   sd   € à ×-Ñ-¬h°t¸RÀÀBÈÈBÓ.OÓPÐÔÜ	�ŠÔ*×	+Ô	+¨qØ×#Ò#÷ 
,à2´c¸!¿'¹'³lÔBÐBÒB÷ 
,×	+ús   ÁA:Á:B
	c                ó¶  € V P                   pVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  \	        R^
^^^ ^\
        P                  R7      8X  g   Q hVP                  VP                  \	        R^
^4      R4      8X  g   Q hVP                  VP                  \	        R^^4      R4      8X  g   Q hVP                  ^ ,          pVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  VP                  \	        R^
^^	4      R4      8X  g   Q hVP                  VP                  \	        R^
^^4      R4      8X  g   Q h\        VP                  4      ^8X  g   Q hVP                  ^ ,          R,          R	.8X  g   Q hVP                  ^ ,          R
,          . RO8X  g   Q hVP                  R8X  g   Q hVP                  . 8X  g   Q hVP                  ^,          pVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  VP                  \	        R^
^^	4      R4      8X  g   Q hVP                  VP                  \	        R^
^^4      R4      8X  g   Q h\        VP                  4      ^8X  g   Q hVP                  ^ ,          R,          R	.8X  g   Q hVP                  R8X  g   Q hVP                  . 8X  g   Q hR# )ú4Test that we get all the right values after parsing.r   z$84D0F948-7FC6-4C1D-BBF3-BA9827B424B5r#   ©ÚtzinfoúAmerica/Montrealz$7B33093A-7F98-4EED-B381-A5652530F04Dz%Monday to Thursday from 9:00 to 17:00ÚfreqÚWEEKLYÚbydayzMain Officez$DF39DC9E-D8C3-492F-9101-0434E8FC1896zFriday from 9:00 to 12:00zBranch OfficeN)ÚMOÚTUÚWEÚTH)Ú
rfc_7953_2r   r   Ústampr   r   ÚutcrI   ÚlocalizerJ   r+   r:   r)   ÚrrulesÚlocationÚexdates)r   r&   ÚaÚa1Úa2s   &&   r   Útest_example_2ry   ’   s|  € à$×/Ñ/€AØ�;‰;Ð6Ô6Ð6Ð6Ø�5‰5Ð:Ô:Ð:Ð:Ø�7‰7”h˜t R¨¨B°°B¼x¿|¹|ÔLÔLÐLÐLØ�7‰7�c—l‘l¤8¨D°"°aÓ#8Ð:LÓMÔMÐMÐMØ�5‰5�C—L‘L¤¨$°°AÓ!6Ð8JÓKÔKÐKÐKØ	
�‰�Q�€BØ�6‰6Ð;Ô;Ð;Ð;Ø�:‰:Ð@Ô@Ð@Ð@Ø�8‰8�s—|‘|¤H¨T°2°q¸!Ó$<Ð>PÓQÔQÐQÐQØ�6‰6�S—\‘\¤(¨4°°Q¸Ó";Ð=OÓPÔPÐPÐPÜˆr�y‰y‹>˜QÔÐÐØ�9‰9�Q�<˜Õ H :Ô-Ð-Ð-Ø�9‰9�Q�<˜Õ Ò$<Ô<Ð<Ð<Ø�;‰;˜-Ô'Ð'Ð'Ø�:‰:˜ÔÐÐØ	
�‰�Q�€BØ�6‰6Ð;Ô;Ð;Ð;Ø�:‰:Ð4Ô4Ð4Ð4Ø�8‰8�s—|‘|¤H¨T°2°q¸!Ó$<Ð>PÓQÔQÐQÐQØ�6‰6�S—\‘\¤(¨4°°Q¸Ó";Ð=OÓPÔPÐPÐPÜˆr�y‰y‹>˜QÔÐÐØ�9‰9�Q�<˜Õ H :Ô-Ð-Ð-Ø�;‰;˜/Ô)Ð)Ð)Ø�:‰:˜ÔÐÒr   c                ó   € V P                   pVP                  ^ ,          pVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  \        R^
^^^ ^\        P                  R7      8X  g   Q hVP                  VP                  \        R^
^4      R4      8X  g   Q hVP                  VP                  \        R^
^^4      R4      8X  g   Q hVP                  ^ ,          pVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  VP                  \        R^
^^	4      R4      8X  g   Q hVP                  VP                  \        R^
^^4      R4      8X  g   Q h\        VP                  4      ^8X  g   Q hVP                  ^ ,          R,          R	.8X  g   Q hVP                  ^ ,          R
,          . RO8X  g   Q hVP                  R8X  g   Q hVP                   . 8X  g   Q h\        VP                  4      ^8X  g   Q hR# )rd   r   z$BE082249-7BDD-4FE0-BDBA-DE6598C32FC9r#   re   rg   z$54602321-CEDB-4620-9099-757583263981z#Monday to Friday from 9:00 to 17:00rh   ri   rj   ÚMontrealN)rk   rl   rm   rn   ÚFR)Ú
rfc_7953_3r   r   r   rp   r   r   rq   rI   rr   rJ   r+   r:   r)   rs   rt   ru   )Ú	calendarsr&   Úcalendarrv   rw   s   &&   r   Útest_example_3r€   ¯   sË  € à"×-Ñ-€HØ×-Ñ-¨aÕ0€AØ�;‰;Ð6Ô6Ð6Ð6Ø�5‰5Ð:Ô:Ð:Ð:Ø�7‰7”h˜t R¨¨B°°B¼x¿|¹|ÔLÔLÐLÐLØ�7‰7�c—l‘l¤8¨D°"°aÓ#8Ð:LÓMÔMÐMÐMØ�5‰5�C—L‘L¤¨$°°B¸Ó!:Ð<NÓOÔOÐOÐOØ	
�‰�Q�€BØ�6‰6Ð;Ô;Ð;Ð;Ø�:‰:Ð>Ô>Ð>Ð>Ø�8‰8�s—|‘|¤H¨T°2°q¸!Ó$<Ð>PÓQÔQÐQÐQØ�6‰6�S—\‘\¤(¨4°°Q¸Ó";Ð=OÓPÔPÐPÐPÜˆr�y‰y‹>˜QÔÐÐØ�9‰9�Q�<˜Õ H :Ô-Ð-Ð-Ø�9‰9�Q�<˜Õ Ò$BÔBÐBÐBØ�;‰;˜*Ô$Ð$Ð$Ø�:‰:˜ÔÐÐÜˆx×&Ñ&Ó'¨1Ô,Ð,Ò,r   )%Ú__doc__r   r   r   r   rA   Ú	icalendarr   r   r   r	   Úicalendar.errorr
   Úfixturer   r   r   r!   r'   r,   r1   r4   r7   r>   rG   ÚmarkÚparametrizerM   rO   rQ   rY   r\   r^   r`   rb   ry   r€   r   r   r   Ú<module>r‡      s  ðÙ Vç 8Ó 8ã ç AÓ AÝ /ð ‡‚˜ iÐ0Ô1ñó 2ðð
 ‡�ñ&ó ð&ò
FòAòWò@òAò.ò(ò=òPð ‡�×Ñ˜ ¨%Ð 0Ó1Ø‡�×ÑØ‰h�t˜R  B¨¨BÓ/±°d¸BÀÓ1BÐCóñGóó 2ðGò$ò ò=òYò*ò>òCòô:-r   