corrscope/tests/test_renderer.py

48 wiersze
1.1 KiB
Python
Czysty Zwykły widok Historia

from unittest.mock import patch
import pytest
from ovgenpy.renderer import RendererConfig, MatplotlibRenderer
WIDTH = 640
HEIGHT = 360
def test_config():
with pytest.raises(ValueError):
RendererConfig(WIDTH, HEIGHT, nrows=1, ncols=1)
one_col = RendererConfig(WIDTH, HEIGHT, ncols=1)
assert one_col
one_row = RendererConfig(WIDTH, HEIGHT, nrows=1)
assert one_row
default = RendererConfig(WIDTH, HEIGHT)
assert default.ncols == 1 # Should default to single-column layout
assert default.nrows is None
2018-07-24 11:52:12 +00:00
def test_renderer():
"""
TODO check image output using:
https://matplotlib.org/devel/testing.html#writing-an-image-comparison-test
https://stackoverflow.com/a/27950953
"[I]mage comparison tests end up bring more trouble than they are worth"
"""
# 2 columns
cfg = RendererConfig(WIDTH, HEIGHT, ncols=2)
nplots = 15
r = MatplotlibRenderer(cfg, nplots)
# 2 columns, 8 rows
assert r.layout.ncols == 2
assert r.layout.nrows == 8
# TODO: test get_frame()
# (integration test) ensure rendering to output works