File: //usr/lib/python3/dist-packages/zope/interface/common/tests/__pycache__/__init__.cpython-310.pyc
o
$
x` � @ s~ d dl Z d dlmZ d dlmZ d dlmZ d dlmZ dd� fdd �Zd
d� Zdd
� Z G dd� de j
�ZG dd� de�ZdS )� N)�verifyClass)�verifyObject)�ABCInterface)�ABCInterfaceClassc C s dS )NT� ��ifacer r �F/usr/lib/python3/dist-packages/zope/interface/common/tests/__init__.py�<lambda> s r
c c s� � t � }ttj�}|rD|�d�}||v st|t�sq |�|� |�t|j�� | |�s,q t |� � �}|t |j
�8 }|r@||fV |sd S d S )Nr )�set�listr �
dependents�pop�
isinstancer �add�extend�getRegisteredConformers�#_ABCInterfaceClass__ignored_classes)� predicate�seen�stackr �
registeredr r r �iter_abc_interfaces s �
�r c s � fdd�}t | t|�� d S )Nc s
| j � kS �N)�
__module__r ��moduler r r 0 s
z*add_abc_interface_tests.<locals>.predicate)�add_verify_testsr )�clsr r r r r �add_abc_interface_tests/ s r c C s� d | _ |D ]T\}}|D ]M}||fdd�}d|j|j�dd�|jf }d| }||_t| |�r7J |t| j�f��t| ||� ||fdd�}d | }||_t| |�rRJ �t| ||� qqd S )
Nc S s: || j v s|j| j v r| �d| � | �| �||�� d S )NzUnable to verify %s)�UNVERIFIABLE�__name__�skipTest�
assertTrue�verify)�self�stdlib_classr r r r �test9 s zadd_verify_tests.<locals>.testz%s_%s_%s�.�_�
test_auto_c
S s� ddl m} ddl m} ddl m} | �t|j|dd��|j� ||�}|j}| �|d |� || jv}|j||d�} | � |� | �
|� | �t| �|� d S )Nr )�ro)�
implementedBy)� InterfaceT)�strict���)�zope.interfacer+ r, r- �assertEqual�tuple�__sro__�assertIs�
NON_STRICT_RO�remove�append)
r% r&