o
    NiU                     @   s   d Z ddlmZ ddlmZ ddlmZ ddlm  mZ ddl	m
Z
 ddl	mZ ddl	mZ dd	lmZ dd
lmZ ddlmZ ddlmZ ddlmZ ddlmZ e  G dd dejZedkrje  dS dS )z.Tests for tensorflow_datasets.testing.mocking.    )absolute_import)division)print_functionN)dataset_utils)decode)
registered)mocking)	test_case)
test_utils)imagenet)mnist)lm1bc                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )MockingTestc              
   C   s   t  4 tjddd}| |jtjdtjdtjdtj	dtjdtj
dd t|d W d    d S 1 s;w   Y  d S )	Nimagenet2012trainsplit shapedtypeNN   	file_nameimagelabelr   )r   	mock_datar   loadassertEqualelement_spectf
TensorSpecstringuint8int64listtake)selfdsr   r   \/home/ubuntu/.local/lib/python3.10/site-packages/tensorflow_datasets/testing/mocking_test.pytest_mocking_imagenet,   s   
"z!MockingTest.test_mocking_imagenetc              
   C   s   t  U tjdddt idd\}}| |jtj	dtj
dtj	dtj
dtj	dtjdd |d	D ]}|jd |d }|jd
 | |jtj q6W d    d S 1 s\w   Y  d S )Nr   r   r   T)r   decoders	with_infor   r   r   
   r   )r   r   r   r   r   SkipDecodingr   r    r!   r"   r#   r%   r'   featuresdecode_exampler   assert_is_compatible_withr   r$   )r(   r)   ds_infoexr   r   r   r*   test_mocking_imagenet_decoders6   s$   


"z*MockingTest.test_mocking_imagenet_decodersc              	   C   s   t  9 tjddd}| |jdtjdtjdi |	dD ]}| |d j
tj |d jd q W d    d S 1 s@w   Y  d S )Nz
lm1b/bytesr   r   text)Nr   r.   )r   r   r   r   r   r    r!   r"   r%   r'   r   r   r2   r(   r)   r4   r   r   r*   test_mocking_lm1bI   s   
"zMockingTest.test_mocking_lm1bc                 C   sl   dd }t j|d" tjddd}dd t|D }| |d	d
g W d    d S 1 s/w   Y  d S )Nc                 _   s$   t jjjdd | jjj| jjjdS )Nc                   S   s   dd dD S )Nc                 s   s    | ]}d |iV  qdS )r6   Nr   ).0tr   r   r*   	<genexpr>V   s
    z\MockingTest.test_custom_as_dataset.<locals>._as_dataset.<locals>.<lambda>.<locals>.<genexpr>)zsome sentencezsome other sentencer   r   r   r   r*   <lambda>V   s    zIMockingTest.test_custom_as_dataset.<locals>._as_dataset.<locals>.<lambda>)output_typesoutput_shapes)r!   dataDatasetfrom_generatorinfor0   r   r   )r(   argskwargsr   r   r*   _as_datasetT   s
   z7MockingTest.test_custom_as_dataset.<locals>._as_dataset)as_dataset_fnr   r   r   c                 S   s   g | ]}|d  qS )r6   r   r9   r4   r   r   r*   
<listcomp>_   s    z6MockingTest.test_custom_as_dataset.<locals>.<listcomp>s   some sentences   some other sentence)r   r   r   r   r   as_numpyr   )r(   rE   r)   outr   r   r*   test_custom_as_datasetS   s   	"z"MockingTest.test_custom_as_datasetc              	   C   s   t jdd\ tjddd}| |jtjdtjdtjdtj	dd	 |
dD ]}| tj|d
  d q)| dd |
dD g d | dd |
dD g d W d    d S 1 sew   Y  d S )N2   )num_examplesr   r   r   )   rN      r   r   )r   r   r   r.   c                 S      g | ]}|d    qS r   numpyrG   r   r   r*   rH   l       z/MockingTest.test_max_values.<locals>.<listcomp>   )rO   	      rU   r   c                 S   rP   rQ   rR   rG   r   r   r*   rH   p   rT   )r   r   r   r   r   r    r!   r"   r$   r%   r'   assertLessEqualmath
reduce_maxrS   r7   r   r   r*   test_max_valuesb   s"   "zMockingTest.test_max_valuesN)__name__
__module____qualname__r+   r5   r8   rK   r[   r   r   r   r*   r   *   s    

r   __main__)__doc__
__future__r   r   r   tensorflow.compat.v2compatv2r!   tensorflow_datasets.corer   r   r   tensorflow_datasets.testingr   r	   r
   (tensorflow_datasets.image_classificationr   r   tensorflow_datasets.textr   enable_v2_behaviorTestCaser   r\   	test_mainr   r   r   r*   <module>   s&   K