a
    äzeº  ã                   @   s`   d dl Z d dlZd dlZd dlZd dlT G dd„ dejƒZG dd„ dejƒZe	dkr\e 
¡  dS )é    N)Ú*c                   @   s,   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	S )
ÚEmptyNodeListTestCasec                 C   sŽ   t ƒ }|  | d¡¡ |  | d¡¡ |  t¡ |d  W d   ƒ n1 sN0    Y  |  t¡ |d  W d   ƒ n1 s€0    Y  d S )Nr   éÿÿÿÿ)ÚEmptyNodeListÚassertIsNoneÚitemÚassertRaisesÚ
IndexError©ÚselfÚ	node_list© r   ú2/usr/lib/python3.9/test/test_xml_dom_minicompat.pyÚtest_emptynodelist_item   s    &z-EmptyNodeListTestCase.test_emptynodelist_itemc                 C   sL   t ƒ }|  |jd¡ |  tjj¡ d|_W d   ƒ n1 s>0    Y  d S )Nr   éo   )r   ÚassertEqualÚlengthr   ÚxmlÚdomÚNoModificationAllowedErrr
   r   r   r   Útest_emptynodelist_length   s    z/EmptyNodeListTestCase.test_emptynodelist_lengthc                 C   s   t ƒ tƒ  }|  |tƒ ¡ d S )N)r   ÚNodeListr   r
   r   r   r   Útest_emptynodelist___add__"   s    z0EmptyNodeListTestCase.test_emptynodelist___add__c                 C   s"   ddgt ƒ  }|  |ddg¡ d S ©Né   é   )r   r   r
   r   r   r   Útest_emptynodelist___radd__&   s    z1EmptyNodeListTestCase.test_emptynodelist___radd__N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   r   r      s   r   c                   @   sD   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dS )ÚNodeListTestCasec                 C   sä   t ƒ }|  | d¡¡ |  | d¡¡ |  t¡ |d  W d   ƒ n1 sN0    Y  |  t¡ |d  W d   ƒ n1 s€0    Y  | d¡ | d¡ |  | d¡d¡ |  | d¡¡ |  |d d¡ |  |d d¡ d S )Nr   r   r   iç  )r   r   r   r   r	   Úappendr   r
   r   r   r   Útest_nodelist_item.   s    &&

z#NodeListTestCase.test_nodelist_itemc                 C   sR   t ddgƒ}|  |jd¡ |  tjj¡ d|_W d   ƒ n1 sD0    Y  d S )Nr   r   r   )r   r   r   r   r   r   r   r
   r   r   r   Útest_nodelist_lengthE   s    z%NodeListTestCase.test_nodelist_lengthc                 C   s,   t ddgƒddg }|  |t g d¢ƒ¡ d S )Né   é   r   r   )r$   r%   r   r   ©r   r   r
   r   r   r   Útest_nodelist___add__M   s    z&NodeListTestCase.test_nodelist___add__c                 C   s,   ddgt ddgƒ }|  |t g d¢ƒ¡ d S )Nr   r   r$   r%   )r   r   r$   r%   r&   r
   r   r   r   Útest_nodelist___radd__Q   s    z'NodeListTestCase.test_nodelist___radd__c                 C   sŽ   t tjd ƒD ]z}tƒ }t ||¡}t |¡}|  ||¡ |  ||¡ | d¡ | d¡ t ||¡}t |¡}|  ||¡ |  ||¡ qd S r   )	ÚrangeÚpickleÚHIGHEST_PROTOCOLr   ÚdumpsÚloadsÚassertIsNotr   r!   )r   Úprotor   ZpickledZ	unpickledr   r   r   Útest_nodelist_pickle_roundtripU   s    



z/NodeListTestCase.test_nodelist_pickle_roundtripc                 C   s†   t ƒ }t |¡}|  ||¡ |  ||¡ | dg¡ | dg¡ t |¡}|  ||¡ |  ||¡ t||ƒD ]\}}|  ||¡ qld S r   )r   Úcopyr.   r   r!   ÚzipZassertIs©r   r   ZcopiedÚxÚyr   r   r   Útest_nodelist_copyh   s    

z#NodeListTestCase.test_nodelist_copyc                 C   s’   t ƒ }t |¡}|  ||¡ |  ||¡ | dg¡ | dg¡ t |¡}|  ||¡ |  ||¡ t||ƒD ] \}}|  ||¡ |  ||¡ qld S r   )r   r1   Údeepcopyr.   r   r!   r2   r3   r   r   r   Útest_nodelist_deepcopyx   s    

z'NodeListTestCase.test_nodelist_deepcopyN)
r   r   r   r"   r#   r'   r(   r0   r6   r8   r   r   r   r   r    +   s   r    Ú__main__)r1   r*   ZunittestZxml.domr   Zxml.dom.minicompatZTestCaser   r    r   Úmainr   r   r   r   Ú<module>   s    ^