
    h'                     6   S SK r S SKJr  S SKrS SKrS SKJr   " S S\ R                  5      r " S S\ R                  5      r " S S	\ R                  5      r	 " S
 S\ R                  5      r
 " S S\ R                  5      r\S:X  a  \ R                  " 5         gg)    N)Sequence)defsc                   <    \ rS rSrSS jrSS jrSS jrSS jrSrg)	
TestSchema   Nc                 0    [         R                  " S5        g )NRelur   
get_schemaselfs    O/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/test/schema_test.pytest_get_schemaTestSchema.test_get_schema           c                 0    [         R                  " S5        g )NConvr
   r   s    r   test_typecheckTestSchema.test_typecheck   r   r   c                    [         R                  " S5      R                  S   R                  nU R	                  [        U5      [        R                  5        U R	                  UR
                  [        R                  R                  5        g )NBatchNormalizationepsilon)	r   r   
attributesdefault_valueassertEqualtypeonnxAttributeProtoFLOAT)r   vs     r   test_attr_default_value"TestSchema.test_attr_default_value   s\    OO01<<YGUUa$"5"56!4!4!:!:;r   c                     U R                  [        [        R                  " S5      R                  5      [
        R                  5        g )NSelu)r   r   r   r   function_bodyr   FunctionProtor   s    r   test_function_bodyTestSchema.test_function_body   s/    (6679K9K	
r    returnN)	__name__
__module____qualname____firstlineno__r   r   r"   r(   __static_attributes__r*   r   r   r   r      s      <

r   r   c                   \    \ rS rSrS rSS jrSS jrSS jrS rS r	S	 r
S
 rS rS rSrg)TestOpSchema   c                 t    [         R                  " SSS5      nU R                  U[         R                  5        g Ntest_optest_domain   )r   OpSchemaassertIsInstancer   schemas     r   	test_initTestOpSchema.test_init    s(    y-;fdmm4r   Nc           	         [         R                  " SSS[         R                  R                  SS5      /SS/S4/S9nU R                  UR                  S5        U R                  UR
                  S5        U R                  UR                  S5        U R                  [        UR                  5      S5        U R                  UR                  S	   R                  S5        U R                  UR                  S	   R                  S5        U R                  [        UR                  5      S5        U R                  UR                  S	   R                  S5        U R                  UR                  S	   R                  S/5        g )
Nr7   r8   r9   input1Ttensor(int64) inputstype_constraintsr   )r   r:   FormalParameterr   namedomainsince_versionlenrF   type_strrG   type_param_strallowed_type_strsr   	op_schemas     r   test_init_with_inputs"TestOpSchema.test_init_with_inputs%   sB   MMMM11(C@A"_$5r:;
	 	3))=900!4Y--.2))!,118<))!,55s;Y778!<33A6EEsK&&q);;o=N	
r   c                 V   [         R                  " SSS[         R                  R                  SS5      [         R                  R                  SS5      /[         R                  R                  SS5      [         R                  R                  SS5      /SS	/S
4/[         R                  R                  S[         R                  R                  R
                  S5      /S9nU R                  [        UR                  5      S5        U R                  UR                  S   R                  S5        U R                  UR                  S   R                  S5        U R                  UR                  S   R                  S5        U R                  UR                  S   R                  S5        U R                  [        UR                  5      S5        U R                  UR                  S   R                  S5        U R                  UR                  S   R                  S5        U R                  UR                  S   R                  S5        U R                  UR                  S   R                  S5        U R                  [        UR                  5      S5        U R                  UR                  S   R                  S5        U R                  UR                  S   R                  S	/5        U R                  [        UR                  5      S5        U R                  UR                  S   R                  S5        U R                  UR                  S   R                   [         R                  R                  R
                  5        U R                  UR                  S   R"                  S5        g )Nr7   r8   r9   rA   rB   input2output1output2rC   rD   attr1attr1 description)rF   outputsrG   r      r   )r   r:   rH   	AttributeAttrTypeINTSr   rL   rF   rI   rM   rZ   rG   rN   rO   r   r   descriptionrP   s     r   +test_init_creates_multi_input_output_schema8TestOpSchema.test_init_creates_multi_input_output_schema9   s   MM--h<--h<
 --i=--i=  #_$5r:;''T]]3388:M
	& 	Y--.2))!,118<))!,55s;))!,118<))!,55s;Y../3**1-22I>**1-66<**1-22I>**1-66<Y778!<33A6EEsK&&q);;o=N	
 	Y112A6--g6;;WE  )..0F0F0K0K	
 	--g6BBDWXr   c                    [         R                  " SSS5      nU R                  UR                  S5        U R                  UR                  S5        U R                  UR
                  S5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        U R                  [        UR                  5      S5        g )Nr7   r8   r9   r   )
r   r:   r   rI   rJ   rK   rL   rF   rZ   rG   rP   s     r   $test_init_without_optional_arguments1TestOpSchema.test_init_without_optional_argumentsc   s    MM)]A>	3))=900!4Y--.2Y../3Y778!<r   c                    U R                  [        5         [        R                  " SSS9  S S S 5        U R                  [        5         [        R                  " SSS5        S S S 5        [        R                  " SSS5      nU R	                  UR
                  S5        g ! , (       d  f       Ny= f! , (       d  f       NT= f)Nr8   r9   )rJ   rK   {   r7   )assertRaises	TypeErrorr   r:   r   rI   r<   s     r   	test_nameTestOpSchema.test_namel   s~    y)MMa@ *y)MM#}a0 * y-;i0 *)))   B	B0
B-0
B>c                    U R                  [        5         [        R                  " SSS9  S S S 5        U R                  [        5         [        R                  " SSS5        S S S 5        [        R                  " SSS5      nU R	                  UR
                  S5        g ! , (       d  f       Ny= f! , (       d  f       NT= f)Nr7   r9   )rI   rK   rf   r8   )rg   rh   r   r:   r   rJ   r<   s     r   r8   TestOpSchema.test_domainv   s~    y)MMy: *y)MM)S!, * y-;6 *)))rk   c                     U R                  [        5         [        R                  " SS5        S S S 5        [        R                  " SSS5      nU R	                  UR
                  S5        g ! , (       d  f       NC= fr6   )rg   rh   r   r:   r   rK   r<   s     r   test_since_versionTestOpSchema.test_since_version   sV    y)MM)]3 * y-;--q1	 *)s   A++
A9c                 j    [         R                  " SSSSS9nU R                  UR                  S5        g )Nr7   r8   r9   test_doc)doc)r   r:   r   rs   r<   s     r   rr   TestOpSchema.test_doc   s*    y-
KZ0r   c           	         [         R                  R                  SSSS9/n[         R                  " SSSUSS/S	4/S
9nU R                  [	        UR
                  5      S5        U R                  UR
                  S   R                  S5        U R                  UR
                  S   R                  S5        U R                  UR
                  S   R                  S5        g )NrA   rB   The first input.rI   rM   r_   r7   r8   r9   rC   rD   rE   r   )	r   r:   rH   r   rL   rF   rI   rM   r_   )r   rF   r=   s      r   test_inputsTestOpSchema.test_inputs   s     MM))9K * 

 "_$5r:;
 	V]]+Q/q)..9q)22C8q)557IJr   c           	         [         R                  R                  SSSS9/n[         R                  " SSSUSS/S	4/S
9nU R                  [	        UR
                  5      S5        U R                  UR
                  S   R                  S5        U R                  UR
                  S   R                  S5        U R                  UR
                  S   R                  S5        g )NrV   rB   zThe first output.rw   r7   r8   r9   rC   rD   )rZ   rG   r   )	r   r:   rH   r   rL   rZ   rI   rM   r_   )r   rZ   r=   s      r   test_outputsTestOpSchema.test_outputs   s     MM)):M * 
 "_$5r:;
 	V^^,a0*//;*33S9*668KLr   r*   r+   )r-   r.   r/   r0   r>   rR   r`   rc   ri   r8   ro   rr   rx   r{   r1   r*   r   r   r3   r3      s8    5

((YT=1721K(Mr   r3   c                       \ rS rSrS rSrg)TestFormalParameter   c           
      v   SnSnSn[         R                  R                  R                  nSnSn[         R                  R                  R
                  n[         R                  R                  UUUUUUUS9nU R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        g )NrA   tensor(float)rv   Tr9   )param_optionis_homogeneous	min_aritydifferentiation_category)r   r:   FormalParameterOptionSingleDifferentiationCategoryUnknownrH   r   rI   rM   r_   optionr   r   r   )	r   rI   rM   r_   r   r   r   r   formal_parameters	            r   r>   TestFormalParameter.test_init   s   "(}}::AA	#'==#H#H#P#P ==88%)%= 9 
 	)..5)22H=)55{C)00,?)88.I)33Y?557O	
r   r*   N)r-   r.   r/   r0   r>   r1   r*   r   r   r~   r~      s    
r   r~   c                       \ rS rSr\R                  R                  SSS/S4SSSS/S4S/5      S	\S
\S\\   S\SS4
S j5       rSr	g)TestTypeConstraintParam   single_typerB   r   Test descriptiondouble_typesrC   )tuplerB   )r   rC   r   _rN   allowed_typesr_   r,   Nc                     [         R                  R                  X#U5      nU R                  UR                  U5        U R                  UR
                  [        U5      5        U R                  UR                  U5        g )N)r   r:   TypeConstraintParamr   r_   rO   listrN   )r   r   rN   r   r_   type_constraints         r   r>   !TestTypeConstraintParam.test_init   sf    & --;;;
 	44kB::D<OP77Hr   r*   )
r-   r.   r/   r0   parameterizedexpandstrr   r>   r1   r*   r   r   r   r      s      ''C/!24FG /2"	 S		
II I  }	I
 I 
IIr   r   c                        \ rS rSrS rS rSrg)TestAttribute   c                 <   Sn[         R                  R                  R                  nSn[         R                  R	                  XU5      nU R                  UR                  U5        U R                  UR                  U5        U R                  UR                  U5        g )N	test_attrzTest attribute)	r   r:   r]   STRINGSr\   r   rI   r   r_   )r   rI   type_r_   	attributes        r   r>   TestAttribute.test_init   su    &&..&MM++DE	./..<r   c                    [         R                  " S5      R                  S   R                  nU R	                  U[
        R                  5        [         R                  R                  SUS5      nU R                  XR                  5        U R                  SUR                  5        U R                  SUR                  5        g )Nr   r   rX   rY   )r   r   r   r   r;   r   r   r:   r\   r   rI   r_   )r   r   r   s      r   test_init_with_default_value*TestAttribute.test_init_with_default_value   s    OO01<<YGUU 	 	mT-@-@AMM++G]DWX	(?(?@)..1,i.C.CDr   r*   N)r-   r.   r/   r0   r>   r   r1   r*   r   r   r   r      s    =Er   r   __main__)unittesttypingr   r   r   r   TestCaser   r3   r~   r   r   r-   mainr*   r   r   <module>r      s        
"" 
$SM8$$ SMl
(++ 
<Ih// I8EH%% E, zMMO r   