o
    qi1                     @   s   d Z ddlZddlZddlmZmZmZmZ ddl	m
Z
mZ ddlmZmZ dd	 Zd
d Zdd Zdd Zdd Zdd ZdS )z
Test cases for tokenizer
    N   )_load_vocab_preprocess_sentence_retrieve_words_is_model_exist)sentence_tokenizerword_tokenizer   )WORD_TOKENIZER_MODEL_PATHWORD_TOKENIZER_VOCAB_PATHc                 C   s   t | d}t|ddd}|d |d W d   n1 s#w   Y  t|t s/J tt|dks9J tt|tsBJ t|\}}t|tsOJ t|tsVJ dS )		Test Case	vocab.txtwutf-8encodingabcdefghijklmnopqrstuvwxyz
Nr   )	strjoinopenwrite
isinstancelenr   tupledict)tmpdir	file_nametmp_filechar2idxidx2char r!   d/home/ubuntu/.local/lib/python3.10/site-packages/urduhack/tokenization/tests/test_keras_tokenizer.pytest_load_vocab   s   
r#   c                 C   s   d}t |ts	J t| d}t|ddd}|d |d W d   n1 s,w   Y  t|\}}tt||d	d
ksCJ t||d	\}}|j|jksSJ dS )r   O   ترقی رکنے سے آہستہ آہستہ پاکستان نیچے چلاگیr   r   r   r   u   ءصأژلضپجعڈفٹگآرنوؤہںاےطھچحۂبغیشزختثڑمئۓذسظقدکۃةABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789،؛٪۔؟٫۸۶۳۷۹۵۲۰۴۱<>=+-*&%^$#@!ﷺٴ`ـ±ﷲﹰr   N.   r   )	r   r   r   r   r   r   r   r   shape)r   sentencer   r   r   _inp_out_r!   r!   r"   test_preprocess_sentence   s   
r+   c            	      C   s   d} t | ts	J tjjt}tt\}}t	| |dd\}}|
|}t|dddf |dddf |}t |ts=J |D ]	}t |tsHJ q?dS )
    Test Case
    r$      )max_lenr   N)r   r   tfkerasmodels
load_modelr
   r   r   r   predictr   list)	r'   modelr   r    r)   r(   predictionsword_tokenswordr!   r!   r"   test_retrieve_words+   s   
$r9   c                  C   s   d} t | }t|tsJ dS )r   u   ہم اس کیلئے تیار ہیں لیکن پھرسسٹم لپیٹاجائے ؟کیجئے گا۔قومی اسمبلی کے اجلاس میں خطاب کرتے ہوئے۔ایسے رویوں سے تشدد کی لہر شروع ہوگی۔N)r   r   r4   )text	sentencesr!   r!   r"   test_sentence_tokenizer;   s   r<   c                  C   sD   d} t | ts	J t| }t |tsJ |D ]	}t |tsJ qdS )r,   r$   N)r   r   r   r4   )r'   tokenstokenr!   r!   r"   test_word_tokenizerC   s   r?   c                   C   s<   t t tddd W d   dS 1 sw   Y  dS )r   zurduhack/unknown_path_to_models)
model_path
vocab_pathN)pytestraisesFileNotFoundErrorr   r!   r!   r!   r"   test_is_model_existW   s   "rE   )__doc__rB   
tensorflowr/   keras_tokenizerr   r   r   r   	tokenizerr   r   configr
   r   r#   r+   r9   r<   r?   rE   r!   r!   r!   r"   <module>   s    