You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
spiel/tests/test_rps.py

42 lines
1003 B
Python

import pytest
from spiel.rps import RPSCounter
@pytest.fixture
def counter() -> RPSCounter:
return RPSCounter()
def test_renders_per_second(counter: RPSCounter) -> None:
# 3 renders in 4 seconds
counter.render_time_history.extend([1, 2, 5])
assert counter.renders_per_second() == 3 / 4
def test_not_enough_samples_for_renders_per_second(counter: RPSCounter) -> None:
counter.render_time_history.extend([1])
# 1 sample isn't enough
assert counter.renders_per_second() == 0
def test_last_elapsed_render_time(counter: RPSCounter) -> None:
counter.render_time_history.extend([1, 2, 5])
assert counter.last_elapsed_render_time() == 3
def test_not_enough_samples_last_elapsed_render_time(counter: RPSCounter) -> None:
counter.render_time_history.extend([1])
# 1 sample isn't enough
assert counter.last_elapsed_render_time() == 0
def test_custom_length() -> None:
assert RPSCounter(render_history_length=5).render_time_history.maxlen == 5