U
    rh$                     @  sT   d dl mZ d dlmZ d dlZd dlZd dlmZ d dl	m
Z
 G dd deZdS )    )annotations)SequenceN)Base)expectc                   @  s   e Zd ZeddddZdS )NormalizeStringsNone)returnc            	      C  sv  ddddddd} dg}t jjdd	gd
gd|d}tddddgt}tdddgt}| |dgdg}t jj|dt jddgd}t	||g|gdd t jjdd	gd
gdd}tddgt}|}| |dgdg}t jj|dt jddgd}t	||g|gdd dg}t jjdd	gd
gdd|d}tddddgt}tdddgt}| |dgdg}t jj|dt jddgd}t	||g|gdd dg}t jjdd	gd
gdd|d}tddddgt}tdd d!gt}| |dgdg}t jj|dt jddgd}t	||g|gd"d dg}t jjdd	gd
gd|d#}dd$g}ddg}td%ddd%ddgt
|}tdd dd gt
|}| |||}t jj|dt jddgd}t	||g|gd&d dg}t jjdd	gd
gdd'|d}tddgt}tdgt}| |dgdg}t jj|dt jddgd}t	||g|gd(d d S ))Nzonnx.helper.NodeProtozSequence[int]zonnx.helper.GraphProto)nodeinput_shapeoutput_shaper   c              	   S  s>   t jj| gdt jdt jj|gt jdt jj|gd}|S )NStringNormalizerxy)Znodesnameinputsoutputs)onnxhelper
make_graphZmake_tensor_value_infoZTensorProtoSTRING)r	   r
   r   graph r   Q/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/model/stringnormalizer.pyr      s"        z+NormalizeStrings.export.<locals>.make_graphZmondayr   r   r      )r   r   is_case_sensitive	stopwordsZtuesdayZ	wednesdayZthursday      zbackend-test 
   )Zproducer_nameZopset_importsZ5test_strnorm_model_monday_casesensintive_nochangecase)r   r   r   )r   r   r      Z+test_strnorm_model_nostopwords_nochangecaseZLOWER)r   r   case_change_actionr   r   Z.test_strnorm_model_monday_casesensintive_lowerZUPPERTUESDAY	WEDNESDAYTHURSDAYZ.test_strnorm_model_monday_casesensintive_upper)r   r   r!   r      ZMondayZ3test_strnorm_model_monday_insensintive_upper_twodimr   Z&test_strnorm_model_monday_empty_output)r   r   Z	make_nodenparrayZastypeobjectZmake_model_gen_versionZmake_opsetidr   Zreshape)	r   r   r	   r   r   r   modelr
   r   r   r   r   export   s(      			zNormalizeStrings.exportN)__name__
__module____qualname__staticmethodr*   r   r   r   r   r      s   r   )
__future__r   typingr   Znumpyr&   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.modelr   r   r   r   r   r   <module>   s   