a
    
3j_                     @   s   d dl mZmZ d dlmZ dZdZdZdZdZ	dZ
eee e
 e e	  Zdd Zd	d
 ZdddZdd Zdd Zdd Zdd ZeddZdd Zdd ZdS )    )
namedtupleCounter)commonprefixTP         c                 C   sB   t | | | }|tkr>d| d | || t | | d  f } | S )Nz%s[%d chars]%s)len_PLACEHOLDER_LEN)s	prefixlenZ	suffixlenskip r   I/www/server/python_manager/versions/3.9.10/lib/python3.9/unittest/util.py_shorten   s    &r   c                     s   t tt| } ttt| }|tkr(| S t|  t t| t t  }|t	krxt
 t| t  fdd| D S t
 tt	 t  fdd| D S )Nc                 3   s   | ]} |d   V  qd S Nr   .0r
   prefixr   r   r   	<genexpr>'       z'_common_shorten_repr.<locals>.<genexpr>c                 3   s&   | ]} t |d  tt V  qd S r   )r   _MIN_DIFF_LEN_MIN_END_LENr   r   r   r   r   *   s   )tuplemap	safe_reprmaxr   _MAX_LENGTHr   _MIN_BEGIN_LENr	   _MIN_COMMON_LENr   )argsmaxlenZ
common_lenr   r   r   _common_shorten_repr   s     r"   Fc                 C   sN   zt | }W n ty(   t| }Y n0 |r:t|tk r>|S |d t d S )Nz [truncated]...)repr	Exceptionobject__repr__r   r   )objZshortresultr   r   r   r   -   s    r   c                 C   s   d| j | jf S )Nz%s.%s)
__module____qualname__)clsr   r   r   strclass6   s    r,   c                 C   s4  d }}g }g }z| | }|| }||k rT| | |d7 }| | |kr|d7 }q<n||kr| | |d7 }|| |kr|d7 }qnnb|d7 }z8| | |kr|d7 }qW |d7 }|| |kr|d7 }qn |d7 }|| |kr|d7 }q0 W q ty(   || |d   |||d   Y q,Y q0 q||fS Nr      )append
IndexErrorextend)expectedactualijmissingZ
unexpectedear   r   r   sorted_list_difference9   s>    

r9   c                 C   sF   g }| r>|   }z|| W q ty:   || Y q0 q||fS r   )popremove
ValueErrorr/   )r2   r3   r6   itemr   r   r   unorderable_list_differenceb   s    r>   c                 C   s   | |k| |k  S r   r   )xyr   r   r   three_way_cmps   s    rA   ZMismatchzactual expected valuec                 C   s,  t | t | }}t|t| }}t }g }t|D ]\}}	|	|u rHq6d }
}t||D ] }|| |	krZ|
d7 }
|||< qZt|D ] \}}||	kr|d7 }|||< q|
|kr6t|
||	}|| q6t|D ]X\}}	|	|u rqd}t||D ] }|| |	kr|d7 }|||< qtd||	}|| q|S r-   )listr   r%   	enumeraterange	_Mismatchr/   )r3   r2   r
   tmnZNULLr(   r4   elemcnt_scnt_tr5   Z
other_elemdiffr   r   r   _count_diff_all_purposey   s<    


rM   c           	      C   s   t | t | }}g }| D ]2\}}||d}||krt|||}|| q| D ]&\}}||vrZtd||}|| qZ|S )Nr   )r   itemsgetrE   r/   )	r3   r2   r
   rF   r(   rI   rJ   rK   rL   r   r   r   _count_diff_hashable   s    rP   N)F)collectionsr   r   Zos.pathr   Z
__unittestr   r	   r   r   r   r   r   r"   r   r,   r9   r>   rA   rE   rM   rP   r   r   r   r   <module>   s0   

	)
#