Skip to content

Commit

Permalink
extended samples tests
Browse files Browse the repository at this point in the history
  • Loading branch information
wolph committed Mar 3, 2018
1 parent 06e1f9a commit 9214fe0
Showing 1 changed file with 49 additions and 22 deletions.
71 changes: 49 additions & 22 deletions tests/test_samples.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,68 @@


def test_numeric_samples():
samples = widgets.SamplesMixin(samples=10)
bar = progressbar.ProgressBar(widgets=[samples])
samples = 5
samples_widget = widgets.SamplesMixin(samples=samples)
bar = progressbar.ProgressBar(widgets=[samples_widget])

# Force updates in all cases
samples.INTERVAL = - timedelta(1)
samples_widget.INTERVAL = timedelta(0)

bar.update(0)
assert samples(bar, None)[1] == [0, 0, 0]
bar.update(1)
assert samples(bar, None)[1] == [0, 0, 0, 1, 1]
bar.update(2)
assert samples(bar, None)[1] == [0, 0, 0, 1, 1, 2, 2]
start = datetime(2000, 1, 1)

bar.value = 1
bar.last_update_time = start + timedelta(seconds=bar.value)
assert samples_widget(bar, None, True) == (None, None)

for i in range(2, 6):
bar.value = i
bar.last_update_time = start + timedelta(seconds=i)
assert samples_widget(bar, None, True) == (timedelta(0, i - 1), i - 1)

bar.value = 8
bar.last_update_time = start + timedelta(seconds=bar.value)
assert samples_widget(bar, None, True) == (timedelta(0, 6), 6)

assert samples(bar, None, delta=True)[1] == 2
bar.value = 10
bar.last_update_time = start + timedelta(seconds=bar.value)
assert samples_widget(bar, None, True) == (timedelta(0, 7), 7)

bar.value = 20
bar.last_update_time = start + timedelta(seconds=bar.value)
assert samples_widget(bar, None, True) == (timedelta(0, 16), 16)

assert samples_widget(bar, None)[1] == [4, 5, 8, 10, 20]


def test_timedelta_samples():
samples = widgets.SamplesMixin(samples=timedelta(seconds=5))
bar = progressbar.ProgressBar(widgets=[samples])
samples = timedelta(seconds=5)
samples_widget = widgets.SamplesMixin(samples=samples)
bar = progressbar.ProgressBar(widgets=[samples_widget])

# Force updates in all cases
samples.INTERVAL = - timedelta(1)
samples_widget.INTERVAL = timedelta(0)

start = datetime(2000, 1, 1)

bar.value = 1
bar.last_update_time = start + timedelta(seconds=1)
assert samples(bar, None, True) == (None, None)
bar.last_update_time = start + timedelta(seconds=bar.value)
assert samples_widget(bar, None, True) == (None, None)

for i in range(2, 6):
bar.value = i
bar.last_update_time = start + timedelta(seconds=i)
assert samples_widget(bar, None, True) == (timedelta(0, i - 1), i - 1)

bar.value = 8
bar.last_update_time = start + timedelta(seconds=bar.value)
assert samples_widget(bar, None, True) == (timedelta(0, 5), 5)

bar.value = 2
bar.last_update_time = start + timedelta(seconds=2)
assert samples(bar, None, True) == (timedelta(0, 1), 1)
bar.value = 10
bar.last_update_time = start + timedelta(seconds=bar.value)
assert samples_widget(bar, None, True) == (timedelta(0, 5), 5)

bar.value = 3
bar.last_update_time = start + timedelta(seconds=3)
assert samples(bar, None, True) == (timedelta(0, 2), 2)
bar.value = 20
bar.last_update_time = start + timedelta(seconds=bar.value)
assert samples_widget(bar, None, True) == (timedelta(0, 10), 10)

assert samples(bar, None)[1] == [1, 2, 3, 3]
assert samples_widget(bar, None)[1] == [10, 20]

0 comments on commit 9214fe0

Please sign in to comment.