File: //usr/local/lib/python3.7/test/__pycache__/test_contextlib.cpython-37.opt-2.pyc
B
��g�� � @ sZ d dl Z d dlZd dlZd dlZd dlZd dlZd dlT d dlmZ d dl Z G dd� dej
�ZG dd� dej
�ZG dd � d ej
�Z
G d
d� dej
�ZG dd
� d
ej
�ZG dd� dej
�ZG dd� de�ZG dd� dej
�ZG dd� d�ZG dd� deej
�ZG dd� d�ZG dd� deej
�ZG dd� deej
�ZG dd� dej
�Zed k�rVe�� dS )!� N)�*)�supportc @ s$ e Zd Zdd� Zdd� Zdd� ZdS )�TestAbstractContextManagerc C s* G dd� dt �}|� }| �|�� |� d S )Nc s e Zd Z� fdd�Z� ZS )z;TestAbstractContextManager.test_enter.<locals>.DefaultEnterc s t � j|� d S )N)�super�__exit__)�self�args)� __class__� �0/usr/local/lib/python3.7/test/test_contextlib.pyr s zDTestAbstractContextManager.test_enter.<locals>.DefaultEnter.__exit__)�__name__�
__module__�__qualname__r �
__classcell__r
r
)r r �DefaultEnter s r )�AbstractContextManager�assertIs� __enter__)r r Zmanagerr
r
r �
test_enter s z%TestAbstractContextManager.test_enterc C s0 G dd� dt �}| �t�� |� W d Q R X d S )Nc @ s e Zd ZdS )zETestAbstractContextManager.test_exit_is_abstract.<locals>.MissingExitN)r r
r r
r
r
r �MissingExit s r )r �assertRaises� TypeError)r r r
r
r �test_exit_is_abstract s z0TestAbstractContextManager.test_exit_is_abstractc C s� G dd� d�}| � t|t�� G dd� dt�}| � t|t�� G dd� d|�}| �t|t�� G dd� d|�}| �t|t�� d S ) Nc @ s e Zd Zdd� Zdd� ZdS )zRTestAbstractContextManager.test_structural_subclassing.<locals>.ManagerFromScratchc S s | S )Nr
)r r
r
r r ! s z\TestAbstractContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__enter__c S s d S )Nr
)r �exc_type� exc_value� tracebackr
r
r r # s z[TestAbstractContextManager.test_structural_subclassing.<locals>.ManagerFromScratch.__exit__N)r r
r r r r
r
r
r �ManagerFromScratch s r c s e Zd Z� fdd�Z� ZS )zLTestAbstractContextManager.test_structural_subclassing.<locals>.DefaultEnterc s t � j|� d S )N)r r )r r )r r
r r ) s zUTestAbstractContextManager.test_structural_subclassing.<locals>.DefaultEnter.__exit__)r r
r r r r
r
)r r r ( s r c @ s e Zd ZdZdS )zGTestAbstractContextManager.test_structural_subclassing.<locals>.NoEnterN)r r
r r r
r
r
r �NoEnter. s r c @ s e Zd ZdZdS )zFTestAbstractContextManager.test_structural_subclassing.<locals>.NoExitN)r r
r r r
r
r
r �NoExit3 s r )�
assertTrue�
issubclassr �assertFalse)r r r r r r
r
r �test_structural_subclassing s z6TestAbstractContextManager.test_structural_subclassingN)r r
r r r r"