a
     Rh	                     @   sN   d dl Z d dlmZ d dlmZ G dd dejeje jZe	dkrJe 
  dS )    N)string_tests)
UserStringc                   @   s@   e Zd ZeZdd Zdd Zdd Zdd Zd	d
 Z	dd Z
dS )UserStringTestc                 O   s8   |  |}|  |}t|||i |}| || d S N)fixtypegetattrassertEqual)selfresultobject
methodnameargskwargsZ
realresult r   </opt/python-3.9.24/usr/lib/python3.9/test/test_userstring.py
checkequal   s    

zUserStringTest.checkequalc                 G   sX   |  |}| |}t|||  W d    n1 s80    Y  | t|jd d S )N )r   ZassertRaisesr   ZassertNotEqualstr	exception)r	   excobjr   r   cmr   r   r   checkraises   s    
,zUserStringTest.checkraisesc                 G   s   |  |}t|||  d S r   )r   r   )r	   r   r   r   r   r   r   	checkcall%   s    
zUserStringTest.checkcallc                 C   sD   G dd dt }G dd d|}|d}|d}| || d d S )Nc                   @   s   e Zd ZdS )z'UserStringTest.test_rmod.<locals>.ustr2N)__name__
__module____qualname__r   r   r   r   ustr2+   s   r   c                       s   e Zd Z fddZ  ZS )z'UserStringTest.test_rmod.<locals>.ustr3c                    s   t  |S r   )super__rmod__)r	   other	__class__r   r   r   /   s    z0UserStringTest.test_rmod.<locals>.ustr3.__rmod__)r   r   r   r   __classcell__r   r   r!   r   ustr3.   s   r$   zvalue is %sZTESTzvalue is TEST)r   r   )r	   r   r$   Zfmt2Zstr3r   r   r   	test_rmod*   s
    zUserStringTest.test_rmodc                 C   s.   |  ddd |  ddd | tdd d S Ns   helloZhelloencodes   𣑖u   𣑖u   r   r   UnicodeErrorr	   r   r   r   test_encode_default_args6   s    z'UserStringTest.test_encode_default_argsc                 C   s:   |  dddd d  |  dddd d  | tddd d  d S r&   r(   r*   r   r   r   test_encode_explicit_none_args=   s    z-UserStringTest.test_encode_explicit_none_argsN)r   r   r   r   Z	type2testr   r   r   r%   r+   r,   r   r   r   r   r   	   s   
r   __main__)Zunittesttestr   collectionsr   Z
CommonTestZMixinStrUnicodeUserStringTestZTestCaser   r   mainr   r   r   r   <module>   s   
<