Your IP : 216.73.216.213
�
�#�j� � �f � d dl mZmZ G d� d� Z G d� d� Z G d� d� Z G d� d e� Zy
)� )�copysign�isnanc �L � e Zd Zd
d�Zd
d�Zd
d�Zd
d�Zd
d�Zd
d�Zd
d�Z d
d �Z
y)�ExtraAssertionsNc �n � t ||� ry |�d|��}| j | j ||� � y )Nz is not a subclass of ��
issubclass�fail�_formatMessage��self�cls�
superclass�msg�standardMsgs �</opt/alt/python312/lib64/python3.12/test/support/testcase.py�assertIsSubclassz ExtraAssertions.assertIsSubclass s9 � ��c�:�&����5�j�^�D��� � �$�%�%�c�;�7�8� c �n � t ||� sy |�d|��}| j | j ||� � y )Nz is a subclass of r r s r �assertNotIsSubclassz#ExtraAssertions.assertNotIsSubclass s9 � ��#�z�*����1�*��@��� � �$�%�%�c�;�7�8r c �4 � t ||� s�t |t j � rd|j �d|��}n=t |t
� rd|j �d|��}nt |� j �d|��}| j
| j ||� � y y )N�module z has no attribute �type object z object has no attribute ��hasattr�
isinstance�types�
ModuleType�__name__�typer
r �r
�obj�namer r s r �
assertHasAttrzExtraAssertions.assertHasAttr s� � ��s�D�!��#�u�/�/�0� '����'7�7I�$��R���C��&� ,�S�\�\�,<�<N�t�h�W��!%�c��!3�!3� 6�6O�PT�x�X���I�I�d�)�)�#�{�;�<� "r c �4 � t ||� r�t |t j � rd|j �d|��}n=t |t
� rd|j �d|��}nt |� j �d|��}| j
| j ||� � y y )Nr z has unexpected attribute r z! object has unexpected attribute r r! s r �assertNotHasAttrz ExtraAssertions.assertNotHasAttr s� � ��3����#�u�/�/�0� '����'7�7Q�RV�QY�Z���C��&� ,�S�\�\�,<�<V�W[�V^�_��!%�c��!3�!3� 6�6W�X\�W_�`���I�I�d�)�)�#�{�;�<� r c �x � |j |� ry |�d|��}| j | j ||� � y )Nz doesn't start with ��
startswithr
r )r
�s�prefixr r s r �assertStartsWithz ExtraAssertions.assertStartsWith&