o
    IXh	                     @   sR   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r'e 
  dS 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.10.19/usr/lib/python3.10/test/test_userstring.py
checkequal   s   

zUserStringTest.checkequalc                 G   sX   |  |}| |}t|||  W d    n1 sw   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   
<