U
    rh                      @  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                   @  sf   e Zd ZeddddZeddddZeddddZeddd	d
ZeddddZdS )StringSplitNone)returnc                  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   ZdtypeZtest_string_split_basicr   r   name	onnxhelper	make_nodenparrayastypeobjectint64r   noder   r	   r
    r%   L/tmp/pip-unpacked-wheel-xnis5xre/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dddgdddggdddgdddg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 onzn xZtheZquickz	brown fox      Ztest_string_split_maxsplitr   r   r#   r%   r%   r&   export_maxsplit%   s2    zStringSplit.export_maxsplitc               	   C  s   t jjddgddgdd d} tddgt}td	d
d
dddgd	d
ddddg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----nxr+   r,   r*   Znx   r   Z(test_string_split_consecutive_delimitersr   r   r#   r%   r%   r&   export_consecutive_delimitersB   s(    z)StringSplit.export_consecutive_delimitersc                  C  s   dD ]\} }t jjddgddg| d d}tddd	gt}td
ddgd
ddgd
ddggt}tjdddgtjd}t||g||g|d qd S )N))r*   Z(test_string_split_empty_string_delimiter)NZtest_string_split_no_delimiterr   r   r	   r
   r   zhello world !z  hello   world !z hello world   ! r(   r)   !r.   r   r   r   )r   Z	test_namer$   r   r	   r
   r%   r%   r&   export_empty_string_delimiter[   s8    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   Ztest_string_split_empty_tensor)r   N)r   r   r   Zoutput_type_protos)r   r   r   r   r   r    r!   Zreshaper"   r   Zmake_tensor_type_protoZTensorProtoSTRINGr#   r%   r%   r&   export_empty_string_split~   s&    z%StringSplit.export_empty_string_splitN)	__name__
__module____qualname__staticmethodr'   r/   r2   r4   r6   r%   r%   r%   r&   r      s   "r   )

__future__r   Znumpyr   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r%   r%   r%   r&   <module>   s
   