o
    (]^ì  ã                   @   sf   d dl mZmZ d dlmZ d dlmZ d dlmZ dZ	dZ
dZG dd	„ d	eƒZd
edefdd„ZdS )é    )ÚAnyÚIterable)ÚDescription)Ú	hasmethod)ÚismockzJon ReidzCopyright 2011 hamcrest.orgzBSD, see License.txtc                
   @   sz   e Zd ZdZdedefdd„Zdedefdd„Zd	ed
edede	e def
dd„Z
deddfdd„Zdeddfdd„ZdS )ÚBaseDescriptionz`Base class for all :py:class:`~hamcrest.core.description.Description`
    implementations.

    ÚtextÚreturnc                 C   s   |   |¡ | S )N)Úappend)Úselfr   © r   ú@/usr/lib/python3/dist-packages/hamcrest/core/base_description.pyÚappend_text   s   
zBaseDescription.append_textÚvaluec                 C   s”   t |ƒst|dƒr| | ¡ | S t|tƒr|  t|ƒ¡ | S t|ƒ}|d d… dkr9|dd … dkr9|  |¡ | S |  d¡ |  |¡ |  d¡ | S )NÚdescribe_toé   ú<éÿÿÿÿú>)r   r   r   Ú
isinstanceÚstrr
   Úrepr)r   r   Údescriptionr   r   r   Úappend_description_of   s   

ö	ù 

ý

z%BaseDescription.append_description_ofÚstartÚ	separatorÚendÚlistc                 C   sB   d}|   |¡ |D ]}|r|   |¡ |  |¡ d}q	|   |¡ | S )NFT)r
   r   )r   r   r   r   r   ÚseparateÚitemr   r   r   Úappend_list%   s   



zBaseDescription.append_listÚstringNc                 C   s   t dƒ‚)z%Append the string to the description.r
   )ÚNotImplementedError)r   r!   r   r   r   r
   1   s   zBaseDescription.appendc                 C   s0   |   d¡ |D ]	}|   t|ƒ¡ q|   d¡ d S )Nú')r
   Úcharacter_in_python_syntax)r   r!   Úchr   r   r   Úappend_string_in_python_syntax5   s   
z.BaseDescription.append_string_in_python_syntax)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   r   r    r
   r&   r   r   r   r   r      s    "r   r%   r	   c                 C   s4   | dkrdS | dkrdS | dkrdS | dkrdS | S )Nr#   Ú
z\núz\rú	z\tr   )r%   r   r   r   r$   <   s   r$   N)Útypingr   r   Úhamcrest.core.descriptionr   Úhamcrest.core.helpers.hasmethodr   Úhamcrest.core.helpers.ismockr   Ú
__author__Ú__copyright__Ú__license__r   r   r$   r   r   r   r   Ú<module>   s    0