o
    soiK                     @  sd   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
 er(d dlmZ G dd deZdS )	    )annotations)TYPE_CHECKINGN)Base)expect)Sequencec                   @  s   e Zd ZedddZdS )NormalizeStringsreturnNonec            	      C  sN  d+dd	} d
g}t jjddgdgd|d}tg dt}tg d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g dt}tg d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g dt}tg d"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g d&t
|}tg d'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 ),Nnodeonnx.helper.NodeProtoinput_shapeSequence[int]output_shaper   onnx.helper.GraphProtoc              	   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)nodesnameinputsoutputs)onnxhelper
make_graphmake_tensor_value_infoTensorProtoSTRING)r
   r   r    r   a/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/model/stringnormalizer.pyr      s   

z+NormalizeStrings.export.<locals>.make_graphmondayr   r   r      )r   r   is_case_sensitive	stopwords)r   tuesday	wednesdaythursday)r#   r$   r%         zbackend-test 
   )producer_nameopset_imports5test_strnorm_model_monday_casesensintive_nochangecase)r   r   r   )r   r   r!   r#      +test_strnorm_model_nostopwords_nochangecaseLOWER)r   r   case_change_actionr!   r"   .test_strnorm_model_monday_casesensintive_lowerUPPER)TUESDAY	WEDNESDAYTHURSDAY.test_strnorm_model_monday_casesensintive_upper)r   r   r0   r"      )Mondayr#   r$   r8   r#   r$   )r3   r4   r3   r4   3test_strnorm_model_monday_insensintive_upper_twodimr   &test_strnorm_model_monday_empty_output)r
   r   r   r   r   r   r   r   )r   r   	make_nodenparrayastypeobjectmake_model_gen_versionmake_opsetidr   reshape)	r   r"   r
   r   r   graphmodelr   r   r   r   r   export   s  
			
zNormalizeStrings.exportN)r   r	   )__name__
__module____qualname__staticmethodrE   r   r   r   r   r      s    r   )
__future__r   typingr   numpyr<   r   onnx.backend.test.case.baser   onnx.backend.test.case.modelr   collections.abcr   r   r   r   r   r   <module>   s   