B
    u9a                 @   sl   d dl Z d dlmZ d dlmZ d dlZd dlmZ G dd de jZG dd de jZ	e
d	krhe   dS )
    N)support)StringIO)SortKeyc               @   s   e Zd Zdd ZdS )AddCallersTestCasec             C   sd   ddi}ddd}t ||}| |ddd ddi}ddd}t ||}| |ddd d S )	Na)            )            )r   b)r   r
   r   r   r   r   r   )pstatsZadd_callersassertEqual)selftargetsourceZnew_callers r   !/usr/lib/python3.7/test_pstats.pytest_combine_results   s    

z'AddCallersTestCase.test_combine_resultsN)__name__
__module____qualname__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 )StatsTestCasec             C   s   t d}t|| _d S )Nz
pstats.pck)r   Zfindfiler   Statsstats)r   Z
stats_filer   r   r   setUp   s    
zStatsTestCase.setUpc             C   s&   t  }tj|d}|| j| j d S )N)stream)r   r   r   addr   )r   r   r   r   r   r   test_add    s    zStatsTestCase.test_addc             C   sP   ddddd}x<|  D ]0\}}| j| | | jj| jj| d  qW d S )Nstdnamecallstime
cumulative)r   r   r   r&   )itemsr   
sort_statsr   	sort_typesort_arg_dict_default)r   Z
valid_argsZarg_intZarg_strr   r   r   test_sort_stats_int%   s    
z!StatsTestCase.test_sort_stats_intc             C   s:   x4dD ],}| j | | | j j| j j| d  qW d S )N)r#   ZncallsZcumtimer%   filenamelinemodulenameZnflZpcallsr"   r$   Ztottimer&   )r   r(   r   r)   r*   )r   	sort_namer   r   r   test_sort_stats_string/   s    

z$StatsTestCase.test_sort_stats_stringc             C   s>   d}x4dD ],}| j | | | j j| j j| d  q
W d S )Nr,   )ffiZfilfileZfilenZfilenaZfilenamr,   r&   )r   r(   r   r)   r*   )r   Zsortkeyr0   r   r   r   test_sort_stats_partial7   s
    

z%StatsTestCase.test_sort_stats_partialc             C   s<   x6t D ].}| j| | | jj| jj|j d  qW d S )Nr&   )r   r   r(   r   r)   r*   value)r   memberr   r   r   test_sort_stats_enum?   s
    
z"StatsTestCase.test_sort_stats_enumc             C   s0   |  t| jjdtj |  t| jjtjd d S )Nr#   )ZassertRaises	TypeErrorr   r(   r   ZTIME)r   r   r   r   test_sort_starts_mixF   s    z"StatsTestCase.test_sort_starts_mixN)
r   r   r   r   r!   r+   r1   r5   r8   r:   r   r   r   r   r      s   
r   __main__)ZunittestZtestr   ior   r   r   ZTestCaser   r   r   mainr   r   r   r   <module>   s   4