
    fC                     Z   d Z ddlZ	 ddlZn# e$ r dZY nw xY wddlT ddlmZmZmZmZ ddl	Z	d Z
d Zd Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Ze	j                            de eddddd           eddddd          fe eddd           eddd          fe eddd           eddd          fe eddddd           eddd          f eddddd           eddd          ffe eddddd           eddd          f eddddd           eddd          ffe eddddd           eddddd          f eddddd           eddddd          ffe eddd           eddd          fg          e	j                            dddg          e	j                            dddg          e	j                            dddg          e	j                            dd  eg          d!                                                             Zd" Z e g            e  eddddd          g           e  eddddd           eddd          g          gZ!e	j                            d#e!          e	j                            d$e!          d%                         Z"dS )&z/Test the equality and inequality of components.    N)*)datetimedatetime	timedeltac                 &    | |k    sJ | |k    rJ dS )zMake sure both values are equalN actual_valueexpected_values     a/var/www/dev/btcams2024/python_venv/lib/python3.11/site-packages/icalendar/tests/test_equality.pyassert_equalr      s*    >))))~------    c                 &    | |k    rJ | |k    sJ dS )z#Make sure both values are not equalNr	   r
   s     r   assert_not_equalr      s*    ~---->))))))r   c                 ~    | j                             |                                           }t          ||            dS )zbEnsure that a calendar equals the same calendar.

    ics -> calendar -> ics -> same calendar
    N)	__class__	from_icalto_icalr   )ics_filetzpcopy_of_calendars      r   /test_parsed_calendars_are_equal_if_parsed_againr      s>    
  )33H4D4D4F4FGG!8,,,,,r   c                     | j                             | j                  }| j                             | j                  }t          ||           dS )zcEnsure that a calendar equals the same calendar.

    ics -> calendar
    ics -> same calendar
    N)r   r   raw_icsr   )r   r   cal1cal2s       r   3test_parsed_calendars_are_equal_if_from_same_sourcer       sL     ''(899D''(899Dtr   c                     |                                  }| j        |_        |                                  }| j        dd         |_        t          ||           t          ||            t          ||            dS )zEnsure that copies are equal.N)copysubcomponentsr   )r   r   copy1copy2s       r   test_copies_are_equalr$   +   so    MMOOE83IU0MMOOEH4J1114Me1!!!!!!!!r   c                 b    | j         j        sJ | j                                         j        rJ dS )zGIf we copy the subcomponents, assumptions around copies will be broken.N)	timezonedr!   r    )	calendarsr   s     r   %test_copy_does_not_copy_subcomponentsr(   4   s8    ,,,,"''))777777r   c                    	 t          t          j        |           t          j        |                      n# t          j        $ r Y nw xY w	 t          t          j        |           |            dS # t          j        $ r Y dS w xY w)z"Ensure that deep copies are equal.N)r   r    deepcopypytzUnknownTimeZoneError)r   r   s     r   test_deep_copies_are_equalr-   :   s    T]8,,dmH.E.EFFFF$    	T]8,,h77777$    	s!   47 A	A	"A1 1BBc                     t          t          d          t          d                     t          t          d          t          d                     t          t          d          t          d                     dS )zCheck the equality of vGeo.)10012.33)z100.00z12.330)r/   z12.331)10r0   N)r   vGeor   r	   r   r   	test_vGeor3   K   sm    &''.B)C)CDDDT+,,d3G.H.HIIIT/**D1E,F,FGGGGGr   c                      t          t          d          t          d                     t          t          d          t          d                     d S )Nasdasdf)r   vBinaryr   r	   r   r   test_vBinaryr8   R   s@    000WV__genn55555r   c                     t          t                              d          t                              d                     t          t                              d          t                              d                     t          t                              d          t                              d                     d S )NTRUEFALSE)r   vBooleanr   r   r	   r   r   test_vBooleanr=   W   s    ##F++X-?-?-G-GHHH##G,,h.@.@.I.IJJJX''//1C1CG1L1LMMMMMr   c                     t          t          d          t          d                     t          t          ddg          t          ddg                     t          t          ddg          t          g d                     d S )NHELLOab)r@   rA   c)r   	vCategoryr   r	   r   r   test_vCategoryrD   ]   sx    7##Yw%7%7888C9%%y#c';';<<<YCy))9^^^+D+DEEEEEr   c                      t          t          d          t          d                     t          t          d          t          d                     d S )Nr?   HELLO1)r   vTextr   r	   r   r   
test_vTextrH   c   s@    ww000U8__eGnn55555r   zvType,v1,v2i        
               eq==z!=cls1cls2hashc                     | S )Nr	   )xs    r   <lambda>rW   w   s    1 r   c                    | t           f|         }| t           f|         }|dk    rt ||           ||          k    sJ  | ||                     | ||                    k    sJ  | ||                     | ||                    k    rJ dS  ||           ||          k    sJ  | ||                     | ||                    k    sJ dS )zCheck equality and inequality.rQ   N)	vDDDTypes)	vTypev1v2rR   rS   rP   rT   t1t2s	            r   test_vDDDTypes_and_othersr_   h   s   $ 	D	!B
	D	!B	TzztBxx4488####tBBrFF||ttBBrFF||++++42<<442<<//////tBxx4488####tBBrFF||ttBBrFF||++++++r   c            
      d    dt          t          t          ddd                              v sJ d S )NrY   rM   rI   rJ   )reprrY   r   r	   r   r   test_repr_vDDDTypesrb      s5    $y1b!)<)<==>>>>>>>>r   l1l2c                 f    | |u }t          j        |          }|| |k    k    sJ || |k    k    sJ dS )z*Check the equality functions of vDDDLists.N)r    r*   )rc   rd   equals      r   test_vDDDListsrg      sL     "HE	r		BR2XR2Xr   )#__doc__r    r+   ImportErroricalendar.propr   r   r   r   pytestr   r   r   r   r$   r(   r-   r3   r8   r=   rD   rH   markparametrize	vDatetimevDate	vDurationvPeriodvTimerT   r_   rb   	vDDDListsvDDDLists_examplesrg   r	   r   r   <module>ru      s   5 5 KKKK   DDD     4 4 4 4 4 4 4 4 4 4 4 4 . . .* * *- - -  " " "8 8 8  "H H H6 6 6
N N NF F F6 6 6
 	HHT2q"b1188D"aR3P3PQ	T2q!!44b"#5#56	IIaQ''2r2)>)>?	88D"aR00))Ar12E2EFRVXZ\]_aceIfIfhqhqrtvxz|h}h}H~	88D"aQ//1b!1D1DEQUWY[\^`bdHeHegpgpqrtvxygzgzG{|	88D"aQ//$Ar11M1MNQYQYZ^`bdegiklQmQmowowx|  A  CD  FH  JK  pL  pL  QM  	N	RR  $$r2r"2"23  d|,,!Q((!Q((**d!344
, 
, 54 )( )( -,  
,? ? ?
 IbMMIxxb!R++,--Ixxb!R++TT$A->->?@@ 
 122122  32 32  s    