+
    ¾¾jú  ã                  ó’   € R t ^ RIHt ^ RIt^ RIHtHt  ! R R4      t ! R R4      t ! R R	4      t	 ! R
 R4      t
 ! R R4      tR# )z4Tests for vCard ADR (Address) property per RFC 6350.)ÚannotationsN)Ú	AdrFieldsÚvAdrc                  ó>   € ] tR t^
tRtR tR tR tR tR t	R t
RtR	# )
ÚTestVAdrCreationz$Test vAdr creation and field access.c                ób   € \        R	4      pVP                  \        RRRRRRRR7      8X  g   Q hR# )
z"Create ADR from tuple of 7 fields.Ú ú123 Main StÚSpringfieldÚILÚ62701ÚUSA)Úpo_boxÚextendedÚstreetÚlocalityÚregionÚpostal_codeÚcountryN©r   r   r	   r
   r   r   r   )r   Úfieldsr   ©ÚselfÚadrs   & Úg/home/ralf/ical-fahrzeuge/venv/lib/python3.14/site-packages/icalendar/tests/rfc_6350_vcard/test_vAdr.pyÚtest_adr_creation_with_tupleÚ-TestVAdrCreation.test_adr_creation_with_tuple   s?   € äÐOÓPˆØ�z‰zœYØØØ Ø"ØØØô
ô 
ð 	
ò 
ó    c                óZ   € \        . RO4      pVP                  P                  R8X  g   Q hR# )z!Create ADR from list of 7 fields.r	   Nr   )r   r   r   r   s   & r   Útest_adr_creation_with_listÚ,TestVAdrCreation.test_adr_creation_with_list   s%   € äÒOÓPˆØ�z‰z× Ñ  MÔ1Ð1Ò1r   c                ó�   € \        R4      pVP                  P                  R8X  g   Q hVP                  P                  R8X  g   Q hR# )z$Create ADR from vCard format string.ú&;;123 Main St;Springfield;IL;62701;USAr	   r
   N)r   r   r   r   r   s   & r   Útest_adr_creation_with_stringÚ.TestVAdrCreation.test_adr_creation_with_string   s=   € äÐ;Ó<ˆØ�z‰z× Ñ  MÔ1Ð1Ð1Ø�z‰z×"Ñ" mÔ3Ð3Ò3r   c           	     ób   € \        RRRRRRR4      p\        V4      pVP                  VJ g   Q hR# )z&Create ADR from AdrFields named tuple.r   r	   r
   r   r   r   N)r   r   r   )r   r   r   s   &  r   Ú test_adr_creation_with_adrfieldsÚ1TestVAdrCreation.test_adr_creation_with_adrfields%   s4   € ä˜2˜r =°-ÀÀwÐPUÓVˆÜ�6‹lˆØ�z‰z˜VÓ#Ð#Ò#r   c                óž   € \         P                  ! \        RR7      ;_uu_ 4        \        R4       RRR4       R#   + '       g   i     R# ; i)zADR must have exactly 7 fields.zexactly 7 fields)ÚmatchN)ÚtooÚfew)ÚpytestÚraisesÚ
ValueErrorr   )r   s   &r   Útest_adr_requires_7_fieldsÚ+TestVAdrCreation.test_adr_requires_7_fields+   s,   € ä�]Š]œ:Ð-?×@Ö@Ü�Ô ÷ A×@×@Ò@ús	   ¥;»A	c                ó²  € \        R	4      pVP                  P                  R8X  g   Q hVP                  P                  R8X  g   Q hVP                  P                  R8X  g   Q hVP                  P
                  R8X  g   Q hVP                  P                  R8X  g   Q hVP                  P                  R8X  g   Q hVP                  P                  R8X  g   Q hR# )
zAccess ADR fields by name.úPO Box 1ú	Suite 200r	   ÚCityÚStateÚ12345r   N©r2   r3   r	   r4   r5   r6   r   )	r   r   r   r   r   r   r   r   r   r   s   & r   Útest_adr_named_field_accessÚ,TestVAdrCreation.test_adr_named_field_access0   s¹   € äØUó
ˆð �z‰z× Ñ  JÔ.Ð.Ð.Ø�z‰z×"Ñ" kÔ1Ð1Ð1Ø�z‰z× Ñ  MÔ1Ð1Ð1Ø�z‰z×"Ñ" fÔ,Ð,Ð,Ø�z‰z× Ñ  GÔ+Ð+Ð+Ø�z‰z×%Ñ%¨Ô0Ð0Ð0Ø�z‰z×!Ñ! UÔ*Ð*Ò*r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r   r   r#   r&   r/   r8   Ú__static_attributes__r:   r   r   r   r   
   s#   † Ù.ò
ò2ò
4ò$ò!ö
+r   r   c                  ó,   € ] tR t^>tRtR tR tR tRtR# )ÚTestVAdrSerializationz Test vAdr to_ical and from_ical.c                óN   € \        R4      pVP                  4       pVR8X  g   Q hR# )z1ADR to_ical generates semicolon-separated format.s&   ;;123 Main St;Springfield;IL;62701;USANr   ©r   Úto_ical)r   r   Úresults   &  r   Útest_adr_to_icalÚ&TestVAdrSerialization.test_adr_to_icalA   s'   € äÐOÓPˆØ—‘“ˆØÐBÔBÐBÒBr   c           
     ó’   € \         P                  ! R4      p\        V\        4      '       g   Q hV\        RRRRRRR4      8X  g   Q hR# )	zParse ADR from vCard format.r"   r   r	   r
   r   r   r   N)r   Ú	from_icalÚ
isinstancer   )r   rF   s   & r   Útest_adr_from_icalÚ(TestVAdrSerialization.test_adr_from_icalG   sL   € ä—’Ð HÓIˆÜ˜&¤)×,Ò,Ð,Ð,ØœØ��M =°$¸Àó
ô 
ð 	
ò 
r   c           	     óš   € \        RRRRRRR4      p\        V4      pVP                  4       p\        P                  ! V4      pWA8X  g   Q hR# )z6ADR survives round-trip through to_ical and from_ical.r   r	   r
   r   r   r   N)r   r   rE   rJ   )r   Úoriginalr   ÚicalÚparseds   &    r   Útest_adr_round_tripÚ)TestVAdrSerialization.test_adr_round_tripO   sG   € ä˜R  ]°MÀ4ÈÐRWÓXˆÜ�8‹nˆØ�{‰{‹}ˆÜ—’ Ó%ˆØÔ!Ð!Ò!r   r:   N)	r;   r<   r=   r>   r?   rG   rL   rR   r@   r:   r   r   rB   rB   >   s   † Ù*òCò
ö"r   rB   c                  ó2   € ] tR t^XtRtR tR tR tR tRt	R# )ÚTestVAdrEscapingzTest vAdr escaping behavior.c                ó~   € \        R4      pVP                  4       pRV9  g   Q hVP                  R4      ^8X  g   Q hR# )z4Semicolons in ADR are field separators, not escaped.ó   \;ó   ;Nr7   )r   rE   Úcount©r   r   rP   s   &  r   Ú-test_adr_semicolons_not_escaped_as_separatorsÚ>TestVAdrEscaping.test_adr_semicolons_not_escaped_as_separators[   sA   € äØUó
ˆð �{‰{‹}ˆà˜TÔ!Ð!Ð!Ø�z‰z˜$Ó 1Ô$Ð$Ò$r   c                óN   € \        R4      pVP                  4       pRV9   g   Q hR# )z%Commas within ADR fields ARE escaped.s   \,N)r   r   z123 Main St, Apt 4r
   r   r   r   rD   rZ   s   &  r   Ú$test_adr_commas_in_field_are_escapedÚ5TestVAdrEscaping.test_adr_commas_in_field_are_escapede   s$   € äÐVÓWˆØ�{‰{‹}ˆØ˜Œ~ÐŠ~r   c                óÐ   € \        R4      pVP                  4       pRV9   g   Q hVP                  R4      ^8X  g   Q h\         P                  ! V4      pVP                  R8X  g   Q hR# )z/Semicolons within ADR field values ARE escaped.ú123 Main St; Apt 4rW   rX   N)r   r   ra   r
   r   r   r   )r   rE   rY   rJ   r   ©r   r   rP   rQ   s   &   r   Ú(test_adr_semicolons_in_field_are_escapedÚ9TestVAdrEscaping.test_adr_semicolons_in_field_are_escapedk   s^   € äÐVÓWˆØ�{‰{‹}ˆØ˜Œ~Ðˆ~à�z‰z˜$Ó 1Ô$Ð$Ð$ô —’ Ó%ˆØ�}‰}Ð 4Ô4Ð4Ò4r   c                óÚ   € \        R4      pVP                  4       p\         P                  ! V4      pVP                  R8X  g   Q hVP                  R8X  g   Q hVP
                  R8X  g   Q hR# )z"Empty fields are preserved in ADR.r   N)r   r   r	   r4   r   r6   r   )r   rE   rJ   r   r   r   rb   s   &   r   Útest_adr_empty_fields_preservedÚ0TestVAdrEscaping.test_adr_empty_fields_preservedw   s\   € äÐFÓGˆØ�{‰{‹}ˆÜ—’ Ó%ˆØ�}‰} Ô"Ð"Ð"Ø�‰ "Ô$Ð$Ð$Ø�}‰} Ô"Ð"Ò"r   r:   N)
r;   r<   r=   r>   r?   r[   r^   rc   rf   r@   r:   r   r   rU   rU   X   s   † Ù&ò%òò
5ö#r   rU   c                  ó    € ] tR t^�tRtR tRtR# )ÚTestVAdrIcalValuezTest vAdr ical_value property.c                óš   € \        R4      pVP                  VP                  8X  g   Q h\        VP                  \        4      '       g   Q hR# )z*ical_value property returns the AdrFields.Nr   )r   Ú
ical_valuer   rK   r   r   s   & r   Útest_ical_value_returns_fieldsÚ0TestVAdrIcalValue.test_ical_value_returns_fields„   s:   € äÐOÓPˆØ�~‰~ §¡Ô+Ð+Ð+Ü˜#Ÿ.™.¬)×4Ò4Ð4Ò4r   r:   N)r;   r<   r=   r>   r?   rl   r@   r:   r   r   ri   ri   �   s
   † Ù(ö5r   ri   c                  ó    € ] tR t^‹tRtR tRtR# )ÚTestVAdrIssue137z'Test the exact example from Issue #137.c                óÈ  € Rp\         P                  ! V4      p\        V4      ^8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP
                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q hVP                  R8X  g   Q h\        V4      pVP                  4       P                  R	4      pWA8X  g   Q hR
# )z5Parse and round-trip the ADR example from Issue #137.z/;2822 Email HQ;Suite 2821;RFCVille;PA;1521$;USAr   z2822 Email HQz
Suite 2821ÚRFCVilleÚPAz1521$r   zutf-8N)r   rJ   Úlenr   r   r   r   r   r   r   rE   Údecode)r   Ú	adr_valuerQ   r   Úregenerateds   &    r   Útest_issue_137_exampleÚ'TestVAdrIssue137.test_issue_137_exampleŽ   sÔ   € àEˆ	Ü—’ 	Ó*ˆä�6‹{˜aÔÐÐØ�}‰} Ô"Ð"Ð"Ø�‰ /Ô1Ð1Ð1Ø�}‰} Ô,Ð,Ð,Ø�‰ *Ô,Ð,Ð,Ø�}‰} Ô$Ð$Ð$Ø×!Ñ! WÔ,Ð,Ð,Ø�~‰~ Ô&Ð&Ð&ô �6‹lˆØ—k‘k“m×*Ñ*¨7Ó3ˆØÔ'Ð'Ò'r   r:   N)r;   r<   r=   r>   r?   rw   r@   r:   r   r   ro   ro   ‹   s
   † Ù1ö(r   ro   )r?   Ú
__future__r   r,   Úicalendar.propr   r   r   rB   rU   ri   ro   r:   r   r   Ú<module>r{      sE   ðÙ :å "ã ç *÷1+ñ 1+÷h"ñ "÷4&#ñ &#÷R5ñ 5÷(ó (r   