mirror of https://github.com/JoshKarpel/spiel
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.
42 lines
1003 B
Python
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
|