U
    xž^…
  ã                   @   s  d Z ddlmZ G dd„ dejƒZG dd„ dejƒZG dd„ dejƒZG d	d
„ d
eƒZG dd„ dejƒZG dd„ dejƒZ	G dd„ dejƒZ
G dd„ dejƒZG dd„ deƒZG dd„ deƒZG dd„ deƒZG dd„ dƒZG dd„ dƒZG dd„ deƒZG dd „ d eƒZG d!d"„ d"eƒZd#S )$zOClasses used in pickling tests, need to be at the module level for
unpickling.
é   )Úfixturesc                   @   s   e Zd ZdS )ÚUserN©Ú__name__Ú
__module__Ú__qualname__© r   r   úE/tmp/pip-install-dq5v43_d/SQLAlchemy/sqlalchemy/testing/pickleable.pyr      s   r   c                   @   s   e Zd ZdS )ÚOrderNr   r   r   r   r	   r
      s   r
   c                   @   s   e Zd ZdS )Ú	DingalingNr   r   r   r   r	   r      s   r   c                   @   s   e Zd ZdS )Ú	EmailUserNr   r   r   r   r	   r      s   r   c                   @   s   e Zd ZdS )ÚAddressNr   r   r   r   r	   r      s   r   c                   @   s   e Zd ZdS )ÚChild1Nr   r   r   r   r	   r   $   s   r   c                   @   s   e Zd ZdS )ÚChild2Nr   r   r   r   r	   r   (   s   r   c                   @   s   e Zd ZdS )ÚParentNr   r   r   r   r	   r   ,   s   r   c                   @   s   e Zd Zddd„ZdS )ÚScreenNc                 C   s   || _ || _d S ©N)ÚobjÚparent)Úselfr   r   r   r   r	   Ú__init__1   s    zScreen.__init__)N©r   r   r   r   r   r   r   r	   r   0   s   r   c                   @   s"   e Zd Zdd„ ZejZdd„ ZdS )ÚFooc                 C   s   d| _ d| _|| _d S )Nzim datazim stuff©ÚdataÚstuffÚmoredata)r   r   r   r   r	   r   7   s    zFoo.__init__c                 C   s$   |j | j ko"|j| jko"|j| jkS r   r   ©r   Úotherr   r   r	   Ú__eq__>   s
    
ÿ
ýz
Foo.__eq__N)r   r   r   r   ÚobjectÚ__hash__r   r   r   r   r	   r   6   s   r   c                   @   s*   e Zd Zdd„ ZejZdd„ Zdd„ ZdS )ÚBarc                 C   s   || _ || _d S r   ©ÚxÚy©r   r$   r%   r   r   r	   r   G   s    zBar.__init__c                 C   s$   |j | j ko"|j| jko"|j| jkS r   ©Ú	__class__r$   r%   r   r   r   r	   r   M   s
    
ÿ
ýz
Bar.__eq__c                 C   s   d| j | jf S ©NzBar(%d, %d)r#   ©r   r   r   r	   Ú__str__T   s    zBar.__str__N)r   r   r   r   r    r!   r   r+   r   r   r   r	   r"   F   s   r"   c                   @   s   e Zd Zdd„ Zdd„ ZdS )Ú	OldSchoolc                 C   s   || _ || _d S r   r#   r&   r   r   r	   r   Y   s    zOldSchool.__init__c                 C   s$   |j | j ko"|j| jko"|j| jkS r   r'   r   r   r   r	   r   ]   s
    
ÿ
ýzOldSchool.__eq__N)r   r   r   r   r   r   r   r   r	   r,   X   s   r,   c                   @   s   e Zd Zdd„ ZdS )ÚOldSchoolWithoutComparec                 C   s   || _ || _d S r   r#   r&   r   r   r	   r   f   s    z OldSchoolWithoutCompare.__init__Nr   r   r   r   r	   r-   e   s   r-   c                   @   s   e Zd Zdd„ Zdd„ ZdS )ÚBarWithoutComparec                 C   s   || _ || _d S r   r#   r&   r   r   r	   r   l   s    zBarWithoutCompare.__init__c                 C   s   d| j | jf S r)   r#   r*   r   r   r	   r+   p   s    zBarWithoutCompare.__str__N)r   r   r   r   r+   r   r   r   r	   r.   k   s   r.   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚNotComparablec                 C   s
   || _ d S r   ©r   ©r   r   r   r   r	   r   u   s    zNotComparable.__init__c                 C   s   t | ƒS r   ©Úidr*   r   r   r	   r!   x   s    zNotComparable.__hash__c                 C   s   t S r   ©ÚNotImplementedr   r   r   r	   r   {   s    zNotComparable.__eq__c                 C   s   t S r   r4   r   r   r   r	   Ú__ne__~   s    zNotComparable.__ne__N©r   r   r   r   r!   r   r6   r   r   r   r	   r/   t   s   r/   c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚBrokenComparablec                 C   s
   || _ d S r   r0   r1   r   r   r	   r   ƒ   s    zBrokenComparable.__init__c                 C   s   t | ƒS r   r2   r*   r   r   r	   r!   †   s    zBrokenComparable.__hash__c                 C   s   t ‚d S r   ©ÚNotImplementedErrorr   r   r   r	   r   ‰   s    zBrokenComparable.__eq__c                 C   s   t ‚d S r   r9   r   r   r   r	   r6   Œ   s    zBrokenComparable.__ne__Nr7   r   r   r   r	   r8   ‚   s   r8   N)Ú__doc__Ú r   ZComparableEntityr   r
   r   r   r   r   r   r   r    r   r   r"   r,   r-   r.   r/   r8   r   r   r   r	   Ú<module>   s"   	