�
���e� � �v � d dl mZmZmZmZmZ d dlmZ d dlm Z d dl
mZ d dlm
Z
d dlmZ d dlmZ d dlmZ d d lmZ d
ZdZdZ ed
� Z G d� dee � Zddededee ef dee fd�Zedeee ef dee fd�� Zedeeeee ef f dee fd�� Zededee fd�� Zd� Zy)� )�Any�Mapping�TypeVar�Union�overload)�described_as)�anything)�BaseMatcher)�AllOf)�Description)�wrap_matcher)�Matcher)�StringDescriptionz
Chris RosezCopyright 2011 hamcrest.orgzBSD, see License.txt�Vc �` � e Zd Zdedee ddfd�Zdedefd�Z de
ddfd �Zded
e
ddfd�Zd� Z
y)
�IsObjectWithProperty�
property_name�
value_matcher�returnNc � � || _ || _ y �N)r r )�selfr r s �E/usr/lib/python3/dist-packages/hamcrest/library/object/hasproperty.py�__init__zIsObjectWithProperty.__init__ s � �*���*��� �itemc � � |�yt || j � syt || j � }| j j |� S )NF)�hasattrr �getattrr �matches)r r �values r �_matcheszIsObjectWithProperty._matches sF � ��<���t�T�/�/�0����d�0�0�1���!�!�)�)�%�0�0r �descriptionc � � |j d� j | j � j d� j | j � y )Nzan object with a property 'z' matching )�append_textr �append_description_ofr )r r# s r �describe_toz IsObjectWithProperty.describe_to" |