Your IP : 13.59.65.84


Current Path : /lib64/python2.7/unittest/
Upload File :
Current File : //lib64/python2.7/unittest/util.pyc

�
�mec@s�dZddlmZmZeZdZed�Zd�Z	d�Z
ed�Zedd	�Zd
�Z
d�Zd�Zd
S(sVarious utility functions.i����(t
namedtupletOrderedDictiPcCs\yt|�}Wn tk
r2tj|�}nX|sLt|�tkrP|S|t dS(Ns [truncated]...(treprt	Exceptiontobjectt__repr__tlent_MAX_LENGTH(tobjtshorttresult((s%/usr/lib64/python2.7/unittest/util.pyt	safe_reprs
cCsd|j|jfS(Ns%s.%s(t
__module__t__name__(tcls((s%/usr/lib64/python2.7/unittest/util.pytstrclassscCshd}}g}g}xEtr]y||}||}||kr}|j|�|d7}x�|||kry|d7}q\Wn�||kr�|j|�|d7}x|||kr�|d7}q�Wn^|d7}z%x|||kr�|d7}q�WWd|d7}x|||kr |d7}qWXWqtk
rY|j||�|j||�PqXqW||fS(srFinds elements in only one or the other of two, sorted input lists.

    Returns a two-element tuple of lists.    The first list contains those
    elements in the "expected" list but not in the "actual" list, and the
    second contains those elements in the "actual" list but not in the
    "expected" list.    Duplicate elements in either input list are ignored.
    iiN(tTruetappendt
IndexErrortextend(texpectedtactualtitjtmissingt
unexpectedteta((s%/usr/lib64/python2.7/unittest/util.pytsorted_list_differences:
	








	cCsg}g}x�|r�|j�}y|j|�Wntk
rR|j|�nX|rxI||fD]8}yxtr�|j|�qrWWqftk
r�qfXqfWqqW|rxU|r|j�}|j|�yxtr�|j|�q�WWq�tk
rq�Xq�W||fS||fS(s�Same behavior as sorted_list_difference but
    for lists of unorderable items (like dicts).

    As it does a linear search per item (remove) it
    has O(n*n) performance.
    (tpoptremovet
ValueErrorRR(RRtignore_duplicateRRtitemtlst((s%/usr/lib64/python2.7/unittest/util.pytunorderable_list_difference>s4	
	
	
	

tMismatchsactual expected valuecCs�t|�t|�}}t|�t|�}}t�}g}x�t|�D]�\}}	|	|krlqNnd}
}x>t||�D]-}|||	kr�|
d7}
|||<q�q�Wx=t|�D]/\}}
|
|	kr�|d7}|||<q�q�W|
|krNt|
||	�}|j|�qNqNWx�t|�D]�\}}	|	|krTq6nd}x>t||�D]-}|||	krj|d7}|||<qjqjWtd||	�}|j|�q6W|S(sHReturns list of (cnt_act, cnt_exp, elem) triples where the counts differii(tlistRRt	enumeratetranget	_MismatchR(RRtstttmtntNULLR
Rtelemtcnt_stcnt_tRt
other_elemtdiff((s%/usr/lib64/python2.7/unittest/util.pyt_count_diff_all_purposeds<	



cCs8t�}x(|D] }|j|d�d||<qW|S(s@Return dict of element counts, in the order they were first seenii(Rtget(titerabletcR.((s%/usr/lib64/python2.7/unittest/util.pyt_ordered_count�s	
c	Cs�t|�t|�}}g}xZ|j�D]L\}}|j|d�}||kr,t|||�}|j|�q,q,WxH|j�D]:\}}||kr�td||�}|j|�q�q�W|S(sHReturns list of (cnt_act, cnt_exp, elem) triples where the counts differi(R7titemsR4R(R(	RRR)R*R
R.R/R0R2((s%/usr/lib64/python2.7/unittest/util.pyt_count_diff_hashable�sN(t__doc__tcollectionsRRRt
__unittestRtFalseRRRR#R(R3R7R9(((s%/usr/lib64/python2.7/unittest/util.pyt<module>s
		)$	#