Files
AareCommon/tests/test_zoom_model_camera_settings.py

48 lines
1.2 KiB
Python

import pytest
from aarecommon.models.models import SampleCameraSettings, ZoomModel
def test_get_camera_settings_exact_match():
model = ZoomModel(
z={
100: SampleCameraSettings(gain=1.0, exposure=0.1),
200: SampleCameraSettings(gain=2.0, exposure=0.2),
}
)
settings = model.get_camera_settings(100)
assert settings.gain == 1.0
assert settings.exposure == 0.1
def test_get_camera_settings_interpolates():
model = ZoomModel(
z={
100: SampleCameraSettings(gain=0.0, exposure=0.1),
200: SampleCameraSettings(gain=2.0, exposure=0.3),
}
)
settings = model.get_camera_settings(150)
assert settings.gain == 1.0
assert settings.exposure == 0.2
def test_get_camera_settings_raises_when_empty():
model = ZoomModel(z={})
with pytest.raises(ValueError):
model.get_camera_settings(100)
def test_get_camera_settings_below_minimum_returns_first():
model = ZoomModel(
z={
100: SampleCameraSettings(gain=1.0, exposure=0.1),
200: SampleCameraSettings(gain=2.0, exposure=0.2),
}
)
settings = model.get_camera_settings(50)
assert settings.gain == 1.0
assert settings.exposure == 0.1