[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/JoeSc/python-progressbar/develop/tests/test_timer.py [Back]  [Original]

from datetime import timedelta

import progressbar


def test_poll_interval():
    # Test int, float and timedelta intervals
    bar = progressbar.ProgressBar(poll_interval=1)
    assert bar.poll_interval.seconds == 1
    assert bar.poll_interval.microseconds == 0

    bar = progressbar.ProgressBar(poll_interval=.001)
    assert bar.poll_interval.seconds == 0
    assert bar.poll_interval.microseconds < 1001

    bar = progressbar.ProgressBar(poll_interval=timedelta(seconds=1))
    assert bar.poll_interval.seconds == 1
    assert bar.poll_interval.microseconds == 0

    bar = progressbar.ProgressBar(poll_interval=timedelta(microseconds=1000))
    assert bar.poll_interval.seconds == 0
    assert bar.poll_interval.microseconds < 1001


def test_intervals():
    bar = progressbar.ProgressBar(max_value=100)
    bar._MINIMUM_UPDATE_INTERVAL = 1

    # Initially there should be no last_update_time
    assert bar.last_update_time is None

    # After updating there should be a last_update_time
    bar.update(1)
    assert bar.last_update_time

    # We should not need an update if the time is nearly the same as before
    last_update_time = bar.last_update_time
    bar.update(2)
    assert bar.last_update_time == last_update_time

    # We should need an update if we're beyond the poll_interval
    bar._last_update_time -= 2
    bar.update(3)
    assert bar.last_update_time != last_update_time


Web Proxy Viewer  |  New URL  |  Original Page