
    +hF                     V   d Z ddlmZ ddlmZ ddlmZ  G d dej                        Z G d d	ej                        Z	 G d
 dej                        Z
 G d de      Z G d dej                        Z G d dej                        Z G d dej                        Z G d dej                        Z G d de      Z G d de      Z G d deej                        Z G d de      Z G d de      Z G d  d!      Z G d" d#      Z G d$ d%e      Z G d& d'e      Z G d( d)e      Zy*)+zOClasses used in pickling tests, need to be at the module level for
unpickling.
   )fixtures   )Column)Stringc                       e Zd Zy)UserN__name__
__module____qualname__     P/var/www/html/venv/lib/python3.12/site-packages/sqlalchemy/testing/pickleable.pyr   r          r   r   c                       e Zd Zy)OrderNr	   r   r   r   r   r      r   r   r   c                       e Zd Zy)	DingalingNr	   r   r   r   r   r      r   r   r   c                       e Zd Zy)	EmailUserNr	   r   r   r   r   r      r   r   r   c                       e Zd Zy)AddressNr	   r   r   r   r   r   !   r   r   r   c                       e Zd Zy)Child1Nr	   r   r   r   r   r   &   r   r   r   c                       e Zd Zy)Child2Nr	   r   r   r   r   r   *   r   r   r   c                       e Zd Zy)ParentNr	   r   r   r   r   r   .   r   r   r   c                       e Zd ZddZy)ScreenNc                      || _         || _        y N)objparent)selfr#   r$   s      r   __init__zScreen.__init__3   s    r   r"   r
   r   r   r&   r   r   r   r    r    2   s    r   r    c                       e Zd Z ee      Zy)MixinN)r
   r   r   r   r   email_addressr   r   r   r)   r)   8   s    6NMr   r)   c                       e Zd Zy)AddressWMixinNr	   r   r   r   r,   r,   <   r   r   r,   c                   2    e Zd ZddZej
                  Zd Zy)Fooc                 .    d| _         || _        || _        y )Nzim datadatastuffmoredata)r%   r3   r2   s      r   r&   zFoo.__init__A   s    	
 r   c                     |j                   | j                   k(  xr4 |j                  | j                  k(  xr |j                  | j                  k(  S r"   r0   r%   others     r   __eq__z
Foo.__eq__H   sA    JJ$))# 0tzz)0$--/	
r   N)zim stuff)r
   r   r   r&   object__hash__r7   r   r   r   r.   r.   @   s    !
 H
r   r.   c                   6    e Zd Zd Zej
                  Zd Zd Zy)Barc                      || _         || _        y r"   xyr%   r>   r?   s      r   r&   zBar.__init__Q       r   c                     |j                   | j                   u xr4 |j                  | j                  k(  xr |j                  | j                  k(  S r"   	__class__r>   r?   r5   s     r   r7   z
Bar.__eq__W   A    OOt~~- "466!"466!	
r   c                 8    d| j                   | j                  fz  S NzBar(%d, %d)r=   r%   s    r   __str__zBar.__str__^       ///r   N)r
   r   r   r&   r8   r9   r7   rI   r   r   r   r;   r;   P   s     H
0r   r;   c                       e Zd Zd Zd Zy)	OldSchoolc                      || _         || _        y r"   r=   r@   s      r   r&   zOldSchool.__init__c   rA   r   c                     |j                   | j                   u xr4 |j                  | j                  k(  xr |j                  | j                  k(  S r"   rC   r5   s     r   r7   zOldSchool.__eq__g   rE   r   N)r
   r   r   r&   r7   r   r   r   rL   rL   b   s    
r   rL   c                       e Zd Zd Zy)OldSchoolWithoutComparec                      || _         || _        y r"   r=   r@   s      r   r&   z OldSchoolWithoutCompare.__init__p   rA   r   Nr'   r   r   r   rP   rP   o   s    r   rP   c                       e Zd Zd Zd Zy)BarWithoutComparec                      || _         || _        y r"   r=   r@   s      r   r&   zBarWithoutCompare.__init__v   rA   r   c                 8    d| j                   | j                  fz  S rG   r=   rH   s    r   rI   zBarWithoutCompare.__str__z   rJ   r   N)r
   r   r   r&   rI   r   r   r   rS   rS   u   s    0r   rS   c                   $    e Zd Zd Zd Zd Zd Zy)NotComparablec                     || _         y r"   r1   r%   r1   s     r   r&   zNotComparable.__init__   	    	r   c                     t        |       S r"   idrH   s    r   r9   zNotComparable.__hash__       $xr   c                     t         S r"   NotImplementedr5   s     r   r7   zNotComparable.__eq__       r   c                     t         S r"   ra   r5   s     r   __ne__zNotComparable.__ne__   rc   r   Nr
   r   r   r&   r9   r7   re   r   r   r   rW   rW   ~   s    r   rW   c                   $    e Zd Zd Zd Zd Zd Zy)BrokenComparablec                     || _         y r"   rY   rZ   s     r   r&   zBrokenComparable.__init__   r[   r   c                     t        |       S r"   r]   rH   s    r   r9   zBrokenComparable.__hash__   r_   r   c                     t         r"   NotImplementedErrorr5   s     r   r7   zBrokenComparable.__eq__       !!r   c                     t         r"   rl   r5   s     r   re   zBrokenComparable.__ne__   rn   r   Nrf   r   r   r   rh   rh      s    ""r   rh   N)__doc__ r   schemar   typesr   ComparableEntityr   r   r   r   r   r   r   r   r8   r    r)   r,   r.   r;   rL   rP   rS   rW   rh   r   r   r   <module>ru      s     	8$$ 		H%% 		)) 		 		h'' 	
	X&& 		X&& 		X&& 	V #F #	E844 	
& 
 0& 0$

 

 0 0F "v "r   