U
    fw%Z,
                     @   s&   d dl Z d dlZG dd de jZdS )    Nc                   @   sT   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d Z
dd ZdS )ByteSpeedTestsc                 C   s   t d| _d S )Nfoo)	ttystatus	ByteSpeedwself r	   ;/usr/lib/python3/dist-packages/ttystatus/bytespeed_tests.pysetUp   s    zByteSpeedTests.setUpc                 C   s   |  | jj d S N)ZassertFalser   Zstatic_widthr   r	   r	   r
   test_is_not_static_width   s    z'ByteSpeedTests.test_is_not_static_widthc                 C   s   |  | jdd d S )Nr   0 B/s)assertEqualr   renderr   r	   r	   r
   &test_formats_zero_speed_without_update   s    z5ByteSpeedTests.test_formats_zero_speed_without_updatec                 C   sP   dd | j _| j ddi dd | j _| j ddi | | j dd d S )Nc                   S   s   dS N   r	   r	   r	   r	   r
   <lambda>"       zBByteSpeedTests.test_formats_zero_bytes_correctly.<locals>.<lambda>r   r   c                   S   s   dS N   r	   r	   r	   r	   r
   r   $   r   r   r   nowupdater   r   r   r	   r	   r
   !test_formats_zero_bytes_correctly!   s
    z0ByteSpeedTests.test_formats_zero_bytes_correctlyc                 C   sP   dd | j _| j ddi dd | j _| j ddi | | j dd d S )Nc                   S   s   dS r   r	   r	   r	   r	   r
   r   )   r   zKByteSpeedTests.test_formats_one_byte_per_second_correctly.<locals>.<lambda>r   r   c                   S   s   dS r   r	   r	   r	   r	   r
   r   +   r   r   z1 B/sr   r   r	   r	   r
   *test_formats_one_byte_per_second_correctly(   s
    z9ByteSpeedTests.test_formats_one_byte_per_second_correctlyc                 C   sP   dd | j _| j ddi dd | j _| j ddi | | j dd d S )Nc                   S   s   dS r   r	   r	   r	   r	   r
   r   0   r   zLByteSpeedTests.test_formats_ten_bytes_per_second_correctly.<locals>.<lambda>r   r   c                   S   s   dS )N   r	   r	   r	   r	   r
   r   2   r   d   z10 B/sr   r   r	   r	   r
   +test_formats_ten_bytes_per_second_correctly/   s
    z:ByteSpeedTests.test_formats_ten_bytes_per_second_correctlyc                 C   sP   dd | j _| j ddi dd | j _| j ddi | | j dd d S )Nc                   S   s   dS r   r	   r	   r	   r	   r
   r   7   r   zKByteSpeedTests.test_formats_ten_tibs_per_second_correctly.<locals>.<lambda>r   r   c                   S   s   dS r   r	   r	   r	   r	   r
   r   9   r   l        (z10.00 TiB/sr   r   r	   r	   r
   *test_formats_ten_tibs_per_second_correctly6   s
    z9ByteSpeedTests.test_formats_ten_tibs_per_second_correctlyc                    sF   t dD ]$  fdd| j_| jddi q| | jdd d S )Nr   c                      s    S r   r	   r	   Zwhenr	   r
   r   ?   r   zWByteSpeedTests.test_keeps_only_two_data_points_with_infinite_duration.<locals>.<lambda>r   r   r   )ranger   r   r   r   r   r   r	   r!   r
   6test_keeps_only_two_data_points_with_infinite_duration=   s    zEByteSpeedTests.test_keeps_only_two_data_points_with_infinite_durationc                    sZ   ddddg}t jddd}|D ]$\ } fdd	|_|d|i q| |d
d d S )N)r   r   )r      )
   r$   )r   r$   r      )Zdurationc                      s    S r   r	   r	   r!   r	   r
   r   M   r   zHByteSpeedTests.test_shows_current_speed_when_requested.<locals>.<lambda>r   r   )r   r   r   r   r   r   )r   itemsr   Z	num_bytesr	   r!   r
   'test_shows_current_speed_when_requestedC   s    z6ByteSpeedTests.test_shows_current_speed_when_requestedN)__name__
__module____qualname__r   r   r   r   r   r   r    r#   r(   r	   r	   r	   r
   r      s   r   )Zunittestr   ZTestCaser   r	   r	   r	   r
   <module>   s   