U
    luf  ã                   @   s<   d Z ddlZG dd„ dejƒZG dd„ dejƒZdd„ ZdS )	ztests for extending pyzmqé    Nc                       s.   e Zd ZU eed< dedœ‡ fdd„Z‡  ZS )ÚCustomSocketÚcustom_attrr   ©r   c                    s   t ƒ  ||¡ || _d S ©N)ÚsuperÚ__init__r   )ÚselfÚcontextÚsocket_typer   ©Ú	__class__© ú6/tmp/pip-unpacked-wheel-h6ekxre8/zmq/tests/test_ext.pyr   	   s    zCustomSocket.__init__)r   )Ú__name__Ú
__module__Ú__qualname__ÚintÚ__annotations__r   Ú__classcell__r   r   r   r   r      s   
r   c                       s2   e Zd ZU eed< eZdedœ‡ fdd„Z‡  ZS )ÚCustomContextÚ	extra_argÚx)r   c                    s   t ƒ  ¡  || _d S r   )r   r   r   )r   r   r   r   r   r      s    
zCustomContext.__init__)r   )	r   r   r   Ústrr   r   Z_socket_classr   r   r   r   r   r   r      s   
r   c                  C   s‚   t dƒ} t| t ƒst‚| jdks$t‚| jtjdd}t|tƒsBt‚|jdksPt‚|j	| ks^t‚|j
tjksnt‚| ¡  |  ¡  d S )NÚsé
   r   )r   Ú
isinstanceÚAssertionErrorr   ÚsocketÚzmqZPUSHr   r   r	   ÚtypeÚcloseZterm)Úctxr   r   r   r   Útest_custom_context   s    r"   )Ú__doc__r   ZSocketr   ÚContextr   r"   r   r   r   r   Ú<module>   s   	