B
��^�- � @ s� d dl Zd dlm mZ d dlZd dlmZ d dl Z d dl
mZ d dlm
Z
d dlmZ d dlmZ d dlmZ d dlmZ d d lmZ d d
lmZ d dlmZmZmZmZmZ d dl Z e j!j"G dd
� d
��Z#dS )� N)�Path)�
Sst2Processor)�get_from_cache)�
BertTokenizer)�DistilBertTokenizer)�
CTRLTokenizer)�
GPT2Tokenizer)�RobertaTokenizer)�OpenAIGPTTokenizer)�PyBertTokenizer�PyCtrlTokenizer�PyGpt2Tokenizer�PyRobertaTokenizer�PyOpenAiGptTokenizerc @ sD e Zd Zdd� Zdd� Zdd� Zdd� Zd d
� Zdd� Zd
d� Z dS )�TestTokenizationSST2c C s. t � | _| j�tjd �| _tt�� �| _ d S )NZ SST2_PATH)
r � processor�get_train_examples�os�environ�examplesr �tempfile�mkdtemp�test_dir)�self� r �GE:\Coding\backup-rust\rust-transformers\tests\test_tokenization_sst2.py�setup_class s z TestTokenizationSST2.setup_classc
C s� t jdd| jd�| _tt| jjd d ��| _g }x,| jD ]"}|� | jj
|jddddd�� q:W | jjdd� | jD �dd d
d�}�xtt
||�D �]d\}}|j}|d }||k}|d kr�d
d
lm} d
dlm}
|
| d�d ddd� |�sTt�d|fd||f�dt�� k�st�|��r t�|�ndt�|�t�|�d� }dd|i }tt�|���d } }}|j}|d }||k}|d k�r�d
d
lm} d
dlm}
|
| d�d ddd� |�st�d|fd||f�dt�� k�s�t�|��r�t�|�ndt�|�t�|�d� }dd|i }tt�|���d } }}|j}|d }||k}|d k�rvd
d
lm} d
dlm}
|
| d�d ddd� |�s�t�d|fd||f�dt�� k�s�t�|��r�t�|�ndt�|�t�|�d� }dd|i }tt�|���d } }}q�W d S )Nzbert-base-uncasedT)�
do_lower_case� cache_dir�
vocab_file� )�add_special_tokens�return_overflowing_tokens�return_special_tokens_mask�
max_lengthc S s g | ]
}|j �qS r )�text_a)�.0�exampler r r �
<listcomp>5 s z?TestTokenizationSST2.test_tokenization_bert.<locals>.<listcomp>�
longest_firstr )�max_len�truncation_strategy�stride� input_ids)�PytestAssertRewriteWarning)�
warn_explicitz5asserting the value None, please use "assert is None"zGE:\Coding\backup-rust\rust-transformers\tests\test_tokenization_sst2.py�<