
    ;e6                         d dl Z  G d de j                  Z G d de j                  Zedk    r e j                     dS dS )    Nc                   h    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd ZdS )ExceptTestCasesc                     d}d}d}	 t          d          #  d}Y nxY w	 d}n# d}w xY w|                     |           |                     |           |                     |           d S NFznyaa!T	Exception
assertTrueassertFalseself
hit_excepthit_elsehit_finallys       5/usr/lib/python3.11/test/test_exception_variations.pytest_try_except_else_finallyz,ExceptTestCases.test_try_except_else_finally   s    
	G$$$	JJJJ KK$K
###$$$"""""s    $ (c                     d}d}d}	 	 d}n	#  d}Y nxY wd}n# d}w xY w|                      |           |                     |           |                     |           d S NFTr
   r	   r   s       r   )test_try_except_else_finally_no_exceptionz9ExceptTestCases.test_try_except_else_finally_no_exception   s    
	 HH	JJJ KK$K$$$$$$!!!!!s     c                     d}d}	 t          d          #  d}Y nxY w	 d}n# d}w xY w|                     |           |                     |           d S NFzyarr!Tr   r	   r   r   r   s      r   test_try_except_finallyz'ExceptTestCases.test_try_except_finally)   su    
	G$$$	JJJJKK$K
###$$$$$s    " &c                     d}d}	 n	#  d}Y nxY wd}n# d}w xY w|                      |           |                     |           d S r   r   r   s      r   $test_try_except_finally_no_exceptionz4ExceptTestCases.test_try_except_finally_no_exception7   sj    
		JJJKK$K$$$$$$$$s     c                 f    d}	 t          d          #  d}Y nxY w|                     |           d S NFzahoy!Tr   r   r   s     r   test_try_exceptzExceptTestCases.test_try_exceptE   sD    
	G$$$	JJJ
#####s    c                 J    d}	 n	#  d}Y nxY w|                      |           d S r   )r
   r   s     r   test_try_except_no_exceptionz,ExceptTestCases.test_try_except_no_exceptionO   s;    
		JJJ$$$$$s   c                     d}d}	 t          d          #  d}Y nxY w|                     |           |                     |           d S NFzfoo!Tr   r
   r	   r   r   r   s      r   test_try_except_elsez$ExceptTestCases.test_try_except_elseY   s_    
	F###	JJJ 	"""
#####s    c                 ~    d}d}	 	 d}n	#  d}Y nxY w|                      |           |                     |           d S r   r   r&   s      r   !test_try_except_else_no_exceptionz1ExceptTestCases.test_try_except_else_no_exceptiong   s]    
	 HH	JJJ 	$$$!!!!!s   c                 L    d}	 	 d}n# d}w xY w|                      |           d S r   r	   r   r   s     r   test_try_finally_no_exceptionz-ExceptTestCases.test_try_finally_no_exceptionu   ?    	KK$K$$$$$   c                     d}d}d}	 	 t          d          #  d}Y nxY w	 d}n# d}w xY w	 d}n# d}w xY w|                     |           |                     |           |                     |           d S NFinner exceptionTr   r   r   hit_inner_excepthit_inner_finallys       r   test_nestedzExceptTestCases.test_nested   s     !	) 1222(#'    $(!!D!((((!KK$K())))***$$$$$s    % 0 )0 4c                 P   d}d}d}d}d}	 	 	 d}n	#  d}Y nxY wt          d          #  d}Y nxY w	 d}n# d}w xY w|                     |           |                     |           |                     |           |                     |           |                     |           d S NFTouter exceptionr%   r   r   r   r   r4   hit_inner_elses         r   test_nested_elsez ExceptTestCases.test_nested_else   s    
 	& "&(#'    -...	JJJJ KK$K)***'''"""$$$
#####s   ) ) /6 :c                 b   d}d}d}d}d}	 	 t          d          #  d}t          d          xY w#  d}Y nxY w	 d}n# d}w xY w|                     |           |                     |           |                     |           |                     |           |                     |           d S NFr2   Tr9   r   r:   s         r   test_nested_exception_in_exceptz/ExceptTestCases.test_nested_exception_in_except   s    
 	& 12223#'  1222	JJJJ KK$K()))((("""$$$
#####s    /2 8? Ac                 T   d}d}d}d}d}	 	 	 d}t          d          #  d}Y nxY w	 d}n	#  d}Y nxY wd}n# d}w xY w|                     |           |                     |           |                     |           |                     |           |                     |           d S r8   r%   r:   s         r   test_nested_exception_in_elsez-ExceptTestCases.test_nested_exception_in_else   s    
 	3 "& 1222	(#'     HH	JJJ KK$K)***'''"""$$$
#####s   , %, 8 28 <c                    d}d}d}d}d}d}	 	 	 d}n	#  d}Y nxY wd}t          d          # d}t          d          xY w#  d}Y nxY w	 d}n# d}w xY w|                     |           |                     |           |                     |           |                     |           |                     |           |                     |           d S r8   r%   r   r   r   r   r4   r;   r5   s          r   -test_nested_exception_in_finally_no_exceptionz=ExceptTestCases.test_nested_exception_in_finally_no_exception   s+   
 !	3 "&(#'    %)! 1222 %)! 1222222	JJJJ KK$K)***''')***"""$$$
#####s,   - - A ?A AA Ac                    d}d}d}d}d}d}	 	 t          d          #  d}Y nxY w	 d}t          d          # d}t          d          xY w#  d}Y nxY w	 d}n# d}w xY w|                     |           |                     |           |                     |           |                     |           |                     |           |                     |           d S r>   r   rC   s          r   /test_nested_exception_in_finally_with_exceptionz?ExceptTestCases.test_nested_exception_in_finally_with_exception  s3   
 !	3 1222(#'     %)! 1222 %)! 1222222	JJJJ KK$K 	()))((()***"""$$$
#####s.    $9 A AA AA AN)__name__
__module____qualname__r   r   r   r   r    r"   r'   r)   r-   r6   r<   r?   rA   rD   rF        r   r   r      s        # # #$" " "$% % %% % %$ $ $% % %$ $ $" " "% % %% % %&$ $ $:$ $ $8$ $ $8$ $ $@$ $ $ $ $rK   r   c                   h    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd ZdS )ExceptStarTestCasesc                 
   d}d}d}	 t          d          # xg ct          % x d}n nn X x Y ncY w xY wd}n# d}w xY w|                     |           |                     |           |                     |           d S r   r   BaseExceptionr	   r
   r   s       r   r   z0ExceptStarTestCases.test_try_except_else_finally*  s    
	G$$$	 	 	 	 	 	 	JJJ	
 KK$K
###$$$"""""s    7(	7= Ac                     d}d}d}	 n## xg ct           % x d}n nn X x Y ncY w xY wd}d}n# d}w xY w|                     |           |                     |           |                     |           d S r   rP   r
   r	   r   s       r   r   z=ExceptStarTestCases.test_try_except_else_finally_no_exception<  s    
		 	 	 	 	 	 	JJJ	 HKK$K$$$$$$!!!!!s   1 )	)
1 5c                     d}d}	 t          d          # xg ct          % x d}n nn X x Y ncY w xY wd}n# d}w xY w|                     |           |                     |           d S r   r   rP   r	   r   s      r   r   z+ExceptStarTestCases.test_try_except_finallyN  s    
	G$$$	 	 	 	 	 	 	JJJ	 KK$K
###$$$$$s    5&	5; ?c                     d}d}	 n## xg ct           % x d}n nn X x Y ncY w xY wd}n# d}w xY w|                     |           |                     |           d S r   rR   r   s      r   r   z8ExceptStarTestCases.test_try_except_finally_no_exception\  s    
		 	 	 	 	 	 	JJJ	 KK$K$$$$$$$$s   - '	'- 1c                     d}	 t          d          # xg ct          % x d}n nn X x Y ncY w xY w|                     |           d S r   rT   r   s     r   r    z#ExceptStarTestCases.test_try_exceptj  sx    
	G$$$	 	 	 	 	 	 	JJJ	 	
#####s    3$	3c                 ~    d}	 n## xg ct           % x d}n nn X x Y ncY w xY w|                     |           d S r   )rP   r
   r   s     r   r"   z0ExceptStarTestCases.test_try_except_no_exceptiont  so    
		 	 	 	 	 	 	JJJ	 	$$$$$s   %	%c                     d}d}	 t          d          # xg ct          % x d}n nn X x Y ncY w xY w|                     |           |                     |           d S r$   r   rP   r
   r	   r&   s      r   r'   z(ExceptStarTestCases.test_try_except_else~  s    
	F###	 	 	 	 	 	 	JJJ	
 	"""
#####s    5&	5c                     d}d}	 n## xg ct           % x d}n nn X x Y ncY w xY wd}|                     |           |                     |           d S r   rR   r&   s      r   r)   z5ExceptStarTestCases.test_try_except_else_no_exception  s    
		 	 	 	 	 	 	JJJ	 H$$$!!!!!s   '	'c                 L    d}	 	 d}n# d}w xY w|                      |           d S r   r+   r,   s     r   r-   z1ExceptStarTestCases.test_try_finally_no_exception  r.   r/   c                 "   d}d}d}	 	 t          d          # xg ct          % x d}n nn X x Y ncY w xY wd}n# d}w xY w	 d}n# d}w xY w|                     |           |                     |           |                     |           d S r1   rT   r3   s       r   r6   zExceptStarTestCases.test_nested  s     !	) 1222( ( (M ( ( ( (#'   ( %)!!D!((((!KK$K())))***$$$$$s*    8)	8> A	 AA	 	Ac                    d}d}d}d}d}	 	 n## xg ct           % x d}n nn X x Y ncY w xY wd}t          d          # xg ct           % x d}n nn X x Y ncY w xY wd}n# d}w xY w|                     |           |                     |           |                     |           |                     |           |                     |           d S r8   rP   r   r
   r	   r:   s         r   r<   z$ExceptStarTestCases.test_nested_else  sI   
 	&( ( (M ( ( ( (#'   ( "&-...	 	 	 	 	 	 	JJJ	
 KK$K)***'''"""$$$
#####s4   A .	.A A"A	A"A( (A,c                 b   d}d}d}d}	 	 t          d          # xg ct          % x d}n nn X x Y ncY w xY wd}n# d}w xY wn	#  d}Y nxY wd}n# d}w xY w|                     |           |                     |           |                     |           |                     |           d S r1   rO   r   r   r   r4   r5   s        r   test_nested_mixed1z&ExceptStarTestCases.test_nested_mixed1  s   
 !
	) 1222( ( (M ( ( ( (#'   ( %)!!D!((((!	JJJKK$K())))***$$$$$$$$s>    :+	:A  A  AA A AA Ac                 d   d}d}d}d}	 	 t          d          #  d}Y nxY w	 d}n# d}w xY wn## xg ct          % x d}n nn X x Y ncY w xY wd}n# d}w xY w|                     |           |                     |           |                     |           |                     |           d S r1   rO   r`   s        r   test_nested_mixed2z&ExceptStarTestCases.test_nested_mixed2  s   
 !
	) 1222(#'    $(!!D!((((!	 	 	 	 	 	 	JJJ	 KK$K())))***$$$$$$$$s8     ' / +/ A AA 	A
A Ac                    d}d}d}d}d}	 	 n## xg ct           % x d}n nn X x Y ncY w xY wd}t          d          #  d}Y nxY w	 d}n# d}w xY w|                     |           |                     |           |                     |           |                     |           |                     |           d S r8   r^   r:   s         r   test_nested_else_mixed1z+ExceptStarTestCases.test_nested_else_mixed1  s   
 	&( ( (M ( ( ( (#'   ( "&-...	JJJJ KK$K)***'''"""$$$
#####s(   A .	.A AA Ac                    d}d}d}d}d}	 	 	 d}n	#  d}Y nxY wt          d          # xg ct          % x d}n nn X x Y ncY w xY wd}n# d}w xY w|                     |           |                     |           |                     |           |                     |           |                     |           d S r8   rY   r:   s         r   test_nested_else_mixed2z+ExceptStarTestCases.test_nested_else_mixed2   s   
 	& "&(#'    -...	 	 	 	 	 	 	JJJ	
 KK$K)***'''"""$$$
#####s&   ) ) A	:	A	A AN)rG   rH   rI   r   r   r   r   r    r"   r'   r)   r-   r6   r<   ra   rc   re   rg   rJ   rK   r   rM   rM   )  s        # # #$" " "$% % %% % %$ $ $% % %$ $ $" " "% % %% % %&$ $ $:% % %.% % %0$ $ $:$ $ $ $ $rK   rM   __main__)unittestTestCaser   rM   rG   mainrJ   rK   r   <module>rl      s    b$ b$ b$ b$ b$h' b$ b$ b$J	R$ R$ R$ R$ R$(+ R$ R$ R$j zHMOOOOO rK   