Your IP : 216.73.216.85


Current Path : /opt/alt/python35/lib64/python3.5/test/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib64/python3.5/test/__pycache__/test_heapq.cpython-35.opt-2.pyc



���]�:�@syddlZddlZddlZddlmZddlmZmZddlmZej	dddg�Z
ej	dddg�Zd	d
ddd
dddgZGdd�de�Z
Gdd�d�ZGdd�dee�Zeed�Gdd�dee��ZGdd�d�ZGdd�d�ZGdd�d�Zd d!�ZGd"d#�d#�ZGd$d%�d%�ZGd&d'�d'�ZGd(d)�d)�ZGd*d+�d+�ZGd,d-�d-�ZGd.d/�d/�Zdd0lmZd1d2�ZGd3d4�d4�ZGd5d6�d6�Z Gd7d8�d8e e�Z!eed�Gd9d:�d:e e��Z"e#d;kruej$�dS)<�N)�support)�TestCase�
skipUnless)�
itemgetter�heapqZblocked�_heapqZfresh�heapify�heappop�heappush�heappushpop�heapreplace�_heappop_max�_heapreplace_max�_heapify_maxc@s7eZdZdd�Zeed�dd��ZdS)�TestModulescCs1x*tD]"}|jtt|�jd�qWdS)Nr)�
func_names�assertEqual�getattr�py_heapq�
__module__)�self�fname�r�//opt/alt/python35/lib64/python3.5/test_heapq.py�test_py_functionss
zTestModules.test_py_functionszrequires _heapqcCs1x*tD]"}|jtt|�jd�qWdS)Nr)rrr�c_heapqr)rrrrr�test_c_functionss
zTestModules.test_c_functionsN)�__name__r�__qualname__rrrrrrrrrsrc@s�eZdZdd�Zdd�Zdd�Zdd�Zd	d
�Zdd�Zd
d�Z	dd�Z
dd�Zdd�Zdd�Z
dd�Zdd�Zdd�Zdd�ZdS) �TestHeapcCsJg}g}|j|�xMtd�D]?}tj�}|j|�|jj||�|j|�q&Wg}x6|r�|jj|�}|j|�|j|�qrW|dd�}|j�|j||�|j|�|j	t
|jjg�y9|j	t
|jjdd�|j	t
|jjd�Wntk
rEYnXdS)N�)�check_invariant�range�random�append�moduler
r	�sortr�assertRaises�	TypeError�AttributeError)r�heap�data�i�item�resultsZdata_sortedrrr�
test_push_pop s.

	



zTestHeap.test_push_popcCsLxEt|�D]7\}}|r
|dd?}|j|||k�q
WdS)N�)�	enumerateZ
assertTrue)rr*�posr-�	parentposrrrr!<szTestHeap.check_invariantcCswxWttd��dgD]<}dd�t|�D�}|jj|�|j|�qW|jt|jjd�dS)N�i NcSsg|]}tj��qSr)r#)�.0�dummyrrr�
<listcomp>Es	z)TestHeap.test_heapify.<locals>.<listcomp>)�listr"r%rr!r'r()r�sizer*rrr�test_heapifyCs
 zTestHeap.test_heapifycCs�dd�td�D�}g}xC|D];}|jj||�t|�dkr&|jj|�q&W|j�|j|t|�dd��dS)NcSsg|]}tjd��qS)i�)r#�	randrange)r5r,rrrr7Ls	z-TestHeap.test_naive_nbest.<locals>.<listcomp>i��
i����)r"r%r
�lenr	r&r�sorted)rr+r*r-rrr�test_naive_nbestKs

zTestHeap.test_naive_nbestccs5yx|jj|�VqWWntk
r0YnXdS)N)r%r	�
IndexError)rr*rrr�heapiterUs

zTestHeap.heapitercCs�dd�td�D�}|dd�}|jj|�x;|dd�D])}||dkrJ|jj||�qJW|jt|j|��t|�dd��|jt	|jjd�|jt	|jjdd�|jt
|jjgd�dS)NcSsg|]}tjd��qS)i�)r#r;)r5r,rrrr7cs	z'TestHeap.test_nbest.<locals>.<listcomp>i�r<ri����)r"r%rrrr8rAr>r'r(r@)rr+r*r-rrr�
test_nbest]s/zTestHeap.test_nbestcCs�dd�td�D�}|dd�}|jj|�x+|dd�D]}|jj||�qJW|jt|j|��t|�dd��|j|jjgd�d�dS)NcSsg|]}tjd��qS)i�)r#r;)r5r,rrrr7ps	z4TestHeap.test_nbest_with_pushpop.<locals>.<listcomp>i�r<�xi����)r"r%rrrr8rAr>)rr+r*r-rrr�test_nbest_with_pushpopos/z TestHeap.test_nbest_with_pushpopcCs"g}|jj|d�}|j||fgdf�dg}|jj|d�}|j||fdgdf�|jt|d�t�|jt|�t�dg}|jj|d�}|j||fdgdf�dg}|jj|d�}|j||fdgdf�dS)Nr<g$@r�	�)r%rr�type�int�float)r�hrCrrr�test_heappushpopxs			zTestHeap.test_heappushpopcs�x�td�D]�}tjd�}dd�t|�D�}|d@rh|dd���jj��n*g�x!|D]}�jj�|�quW��fdd�t|�D�}�j|t|��q
WdS)N�d�2cSsg|]}tjd��qS)�)r#r;)r5r,rrrr7�s	z*TestHeap.test_heapsort.<locals>.<listcomp>r0cs"g|]}�jj���qSr)r%r	)r5r,)r*rrrr7�s	)r"r#r;r%rr
rr>)rZtrialr9r+r-Zheap_sortedr)r*rr�
test_heapsort�s

"zTestHeap.test_heapsortc
Csog}x~ttjd��D]g}g}xKttjd��D]4}tjd�tjdd�f}|j|�q>W|j|�qWx�dtd�td�tdd�gD]�}x�ddgD]�}g}x-|D]%}	|jt|	d	|d
|��q�W|jtt|�d	|d
|�t	|j
j|d	|d
|���|jt	|j
j��g�q�Wq�WdS)NrNrL�ABCi�rr0FT�key�reversei���)r"r#r;�choicer$rr>r�chainr8r%�merge)
r�inputsr,�row�j�tuprQrRZseqs�seqrrr�
test_merge�s!.
#!%zTestHeap.test_mergecCsFdd�}|jt��$t|jj|�|���WdQRXdS)Ncss6ttd��}xtd�D]}||VqWdS)Nr<�)r8r")�sr,rrr�iterable�szCTestHeap.test_merge_does_not_suppress_index_error.<locals>.iterable)r'r@r8r%rU)rr^rrr�(test_merge_does_not_suppress_index_error�sz1TestHeap.test_merge_does_not_suppress_index_errorcCs�Gdd�dt�}ggggg}x^td�D]P}tjd�}tjd�}||�}||f|_||j|�q5Wx|D]}|j�q�Wdd�|jj|�D�}|j	|t
|��dS)Nc@seZdZdS)z*TestHeap.test_merge_stability.<locals>.IntN)rrrrrrr�Int�sr`i N�i�cSsg|]}|j�qSr)�pair)r5r,rrrr7�s	z1TestHeap.test_merge_stability.<locals>.<listcomp>)rHr"r#r;rbr$r&r%rUrr>)rr`rVr,�streamrC�obj�resultrrr�test_merge_stability�s
zTestHeap.test_merge_stabilityc
Cs�dd�td�D�}x�ddd�fD]�}x�dD]|}|jt|jj||��t|�d|��|jt|jj||d|��t|d|�d|��q9Wq,WdS)NcSs%g|]}tjd�|f�qS)i�)r#r;)r5r,rrrr7�s	z+TestHeap.test_nsmallest.<locals>.<listcomp>��cSs|dddS)Nri#i�r)rCrrr�<lambda>�sz)TestHeap.test_nsmallest.<locals>.<lambda>rr0�r<rL����LrQ)	rr0rir<rLrjrkrgrl)r"rr8r%�	nsmallestr>)rr+�f�nrrr�test_nsmallest�s
$zTestHeap.test_nsmallestc
Cs�dd�td�D�}x�ddd�fD]�}x�dD]�}|jt|jj||��t|dd�d|��|jt|jj||d|��t|d|dd�d|��q9Wq,WdS)NcSs%g|]}tjd�|f�qS)i�)r#r;)r5r,rrrr7�s	z*TestHeap.test_nlargest.<locals>.<listcomp>��cSs|dddS)Nri#i�r)rCrrrrh�sz(TestHeap.test_nlargest.<locals>.<lambda>rr0rir<rL����LrRTrQ)	rr0rir<rLrrrsrqrt)r"rr8r%�nlargestr>)rr+rnrorrr�
test_nlargest�s
$zTestHeap.test_nlargestcs��fdd�}Gdd�d�}Gdd�d�}dd�td	�D�}t|d
d�}�j|||�|��jt||�dS)NcsO�fdd��D���jj����fdd�tt���D�S)Ncsg|]}�|��qSrr)r5rC)�comprrr7�s	zDTestHeap.test_comparison_operator.<locals>.hsort.<locals>.<listcomp>cs%g|]}�jj��j�qSr)r%r	rC)r5r,)r+rrrr7�s	)r%rr"r=)r+rw)r)rwr+r�hsort�sz0TestHeap.test_comparison_operator.<locals>.hsortc@s(eZdZdd�Zdd�ZdS)z-TestHeap.test_comparison_operator.<locals>.LTcSs
||_dS)N)rC)rrCrrr�__init__�sz6TestHeap.test_comparison_operator.<locals>.LT.__init__cSs|j|jkS)N)rC)r�otherrrr�__lt__�sz4TestHeap.test_comparison_operator.<locals>.LT.__lt__N)rrrryr{rrrr�LT�sr|c@s(eZdZdd�Zdd�ZdS)z-TestHeap.test_comparison_operator.<locals>.LEcSs
||_dS)N)rC)rrCrrrry�sz6TestHeap.test_comparison_operator.<locals>.LE.__init__cSs|j|jkS)N)rC)rrzrrr�__le__�sz4TestHeap.test_comparison_operator.<locals>.LE.__le__N)rrrryr}rrrr�LE�sr~cSsg|]}tj��qSr)r#)r5r,rrrr7�s	z5TestHeap.test_comparison_operator.<locals>.<listcomp>rLrRT)r"r>rr'r()rrxr|r~r+�targetr)rr�test_comparison_operator�sz!TestHeap.test_comparison_operatorN)rrrr/r!r:r?rArBrDrKrOr[r_rfrprvr�rrrrrs
				rc@seZdZeZdS)�TestHeapPythonN)rrrrr%rrrrr��sr�zrequires _heapqc@seZdZeZdS)�	TestHeapCN)rrrrr%rrrrr��sr�c@seZdZdd�ZdS)�LenOnlycCsdS)Nr<r)rrrr�__len__�szLenOnly.__len__N)rrrr�rrrrr��sr�c@seZdZdd�ZdS)�GetOnlycCsdS)Nr<r)rZndxrrr�__getitem__�szGetOnly.__getitem__N)rrrr�rrrrr��sr�c@s2eZdZdd�ZeZZZZZdS)�CmpErrcCs
t�dS)N)�ZeroDivisionError)rrzrrr�__eq__sz
CmpErr.__eq__N)	rrrr��__ne__r{r}�__gt__�__ge__rrrrr�sr�ccsx|D]}|VqWdS)Nr)�seqnr,rrr�Rs
r�c@s(eZdZdd�Zdd�ZdS)�GcCs
||_dS)N)r�)rr�rrrrysz
G.__init__cCs|j|S)N)r�)rr,rrrr�sz
G.__getitem__N)rrrryr�rrrrr�
sr�c@s4eZdZdd�Zdd�Zdd�ZdS)�IcCs||_d|_dS)Nr)r�r,)rr�rrrrys	z
I.__init__cCs|S)Nr)rrrr�__iter__sz
I.__iter__cCsA|jt|j�krt�|j|j}|jd7_|S)Nr0)r,r=r��
StopIteration)r�vrrr�__next__s
z
I.__next__N)rrrryr�r�rrrrr�sr�c@s(eZdZdd�Zdd�ZdS)�IgcCs||_d|_dS)Nr)r�r,)rr�rrrry#s	zIg.__init__ccsx|jD]}|Vq
WdS)N)r�)r�valrrrr�&szIg.__iter__N)rrrryr�rrrrr�!sr�c@s(eZdZdd�Zdd�ZdS)�XcCs||_d|_dS)Nr)r�r,)rr�rrrry,s	z
X.__init__cCsA|jt|j�krt�|j|j}|jd7_|S)Nr0)r,r=r�r�)rr�rrrr�/s
z
X.__next__N)rrrryr�rrrrr�*sr�c@s(eZdZdd�Zdd�ZdS)�NcCs||_d|_dS)Nr)r�r,)rr�rrrry7s	z
N.__init__cCs|S)Nr)rrrrr�:sz
N.__iter__N)rrrryr�rrrrr�5sr�c@s4eZdZdd�Zdd�Zdd�ZdS)�EcCs||_d|_dS)Nr)r�r,)rr�rrrry?s	z
E.__init__cCs|S)Nr)rrrrr�Bsz
E.__iter__cCsdddS)N�rr)rrrrr�Dsz
E.__next__N)rrrryr�r�rrrrr�=sr�c@s4eZdZdd�Zdd�Zdd�ZdS)�ScCsdS)Nr)rr�rrrryIsz
S.__init__cCs|S)Nr)rrrrr�Ksz
S.__iter__cCs
t�dS)N)r�)rrrrr�Msz
S.__next__N)rrrryr�r�rrrrr�Gsr�)rTcCs+ttdd�ttt|�����S)NcSs|S)Nr)rCrrrrhSszL.<locals>.<lambda>)rT�mapr�r�r�)r�rrr�LQsr�c@s(eZdZdd�Zdd�ZdS)�SideEffectLTcCs||_||_dS)N)�valuer*)rr�r*rrrryWs	zSideEffectLT.__init__cCs#g|jdd�<|j|jkS)N)r*r�)rrzrrrr{[szSideEffectLT.__lt__N)rrrryr{rrrrr�Vsr�c@speZdZdd�Zdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dS)�TestErrorHandlingcCs�x9|jj|jjfD]}|jttf|d�qWxN|jj|jj|jj|jj	fD]"}|jttf|dd�qgWdS)Nr<)
r%rr	r'r(r)r
rrurm)rrnrrr�test_non_sequencebs
z#TestErrorHandling.test_non_sequencecCs�x<|jj|jjfD]"}|jttf|t��qWx?|jj|jjfD]%}|jttf|t�d�qXWx9|jj	|jj
fD]}|jt|dt��q�WdS)Nr<ri)r%rr	r'r(r)r�r
rrurm)rrnrrr�
test_len_onlyis #zTestErrorHandling.test_len_onlycCs�x6|jj|jjfD]}|jt|t��qWx9|jj|jjfD]}|jt|t�d�qRWx9|jj|jj	fD]}|jt|dt��q�WdS)Nr<ri)
r%rr	r'r(r�r
rrurm)rrnrrr�
test_get_onlyqszTestErrorHandling.test_get_onlycCs�t�t�t�g}x3|jj|jjfD]}|jt||�q1Wx6|jj|jjfD]}|jt||d�qgWx6|jj|jj	fD]}|jt|d|�q�WdS)Nr<ri)
r�r%rr	r'r�r
rrurm)rrZrnrrrr�yscCsdx]|jj|jj|jj|jj|jj|jjfD]}|jtt	f|d�q=WdS)Nr<)
r%rr	r
rrurmr'r(r))rrnrrr�test_arg_parsing�sz"TestErrorHandling.test_arg_parsingc	Cs&x|jj|jjfD]}x�ddtd�d
tddd�fD]�}xQtttttfD]:}|j	t
|d	||���t
|d	|���qcW|j	t
|d	t|���g�|jt
|d	t|��|jt
|d	t|��|jt|d	t|��qGWqWdS)NZ123�i�r0�333333�?i�i��ri)r0r�)r%rurmr"r�r�r�r�r�rr8r�r'r(r�r�r�r�)rrnr]�grrr�test_iterable_args�s.8%z$TestErrorHandling.test_iterable_argscsig��j�fdd�td�D��|jttf��!|jj�td���WdQRXdS)Nc3s|]}t|��VqdS)N)r�)r5r,)r*rr�	<genexpr>�sz@TestErrorHandling.test_heappush_mutating_heap.<locals>.<genexpr>��r�)�extendr"r'r@�RuntimeErrorr%r
r�)rr)r*r�test_heappush_mutating_heap�s&z-TestErrorHandling.test_heappush_mutating_heapc	s]g��j�fdd�td�D��|jttf��|jj��WdQRXdS)Nc3s|]}t|��VqdS)N)r�)r5r,)r*rrr��sz?TestErrorHandling.test_heappop_mutating_heap.<locals>.<genexpr>r�)r�r"r'r@r�r%r	)rr)r*r�test_heappop_mutating_heap�s&z,TestErrorHandling.test_heappop_mutating_heapN)
rrrr�r�r�r�r�r�r�rrrrr�`s	r�c@seZdZeZdS)�TestErrorHandlingPythonN)rrrrr%rrrrr��sr�c@seZdZeZdS)�TestErrorHandlingCN)rrrrr%rrrrr��sr��__main__)%�sysr#ZunittestZtestrrr�operatorrZimport_fresh_modulerrrrrr�r�r�r�r�r�r�r�r�r�r�r�r��	itertoolsrTr�r�r�r�r�r�mainrrrr�<module>sD�
	
	
C