o
    soi                      @  sH   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 )    )annotationsN)Base)expectc                   @  sR   e Zd ZedddZedddZedddZedd	d
ZedddZdS )StringSplitreturnNonec                  C  sz   t jjddgddgdd d} tddgt}td	d
gddggt}tjddgtjd}t| |g||gdd d S )Nr   x
substringslength.inputsoutputs	delimitermaxsplitzabc.comdef.netabccomdefnet   dtypetest_string_split_basicr   r   name	onnxhelper	make_nodenparrayastypeobjectint64r   noder   r	   r
    r'   \/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/node/string_split.pyexport_basic   s    
zStringSplit.export_basicc                  C  s   t jjddgddgdd} tddgd	d
ggt}tg dg dgg dg dggt}tddgddggtj}t| |g||gdd d S )Nr   r   r	   r
   r   )r   r   r   zhello worldr   zo n n xzthe quick brown fox)helloworld )r   r,   r,   )onzn x)thequickz	brown fox      test_string_split_maxsplitr   r   r%   r'   r'   r(   export_maxsplit%   s2   
zStringSplit.export_maxsplitc                  C  sz   t jjddgddgdd d} tddgt}tg d	g d
gt}tjddgtjd}t| |g||gdd d S )Nr   r   r	   r
   -r   z	o-n-n--x-z	o-n----nx)r-   r.   r.   r,   r   r,   )r-   r.   r,   r,   r,   nx   r   (test_string_split_consecutive_delimitersr   r   r%   r'   r'   r(   export_consecutive_delimitersB   s(   
z)StringSplit.export_consecutive_delimitersc                  C  s   dD ]B\} }t jjddgddg| d d}tg dt}tg dg dg dgt}tjg d	tjd
}t||g||g|d qd S )N))r,   (test_string_split_empty_string_delimiter)Ntest_string_split_no_delimiterr   r   r	   r
   r   )zhello world !z  hello   world !z hello world   ! )r*   r+   !)r2   r2   r2   r   r   r   )r   	test_namer&   r   r	   r
   r'   r'   r(   export_empty_string_delimiter[   s:   z)StringSplit.export_empty_string_delimiterc               	   C  s   t jjddgddgd d d} tg t}tg tdd}tjg tjd}t	| |g||gdt j
t jjd	d gd
 d S )Nr   r   r	   r
   r   r   r   test_string_split_empty_tensor)r   N)r   r   r   output_type_protos)r   r   r   r    r!   r"   r#   reshaper$   r   make_tensor_type_protoTensorProtoSTRINGr%   r'   r'   r(   export_empty_string_split~   s&   
z%StringSplit.export_empty_string_splitN)r   r   )	__name__
__module____qualname__staticmethodr)   r4   r9   r>   rE   r'   r'   r'   r(   r      s    "r   )

__future__r   numpyr    r   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r'   r'   r'   r(   <module>   s   