Add temperature_data_analysis/tests/test_core.py

This commit is contained in:
Mika 2026-04-12 02:07:10 +00:00
parent a921493d89
commit 80a5136a25

View file

@ -0,0 +1,43 @@
import pytest
from temperature_data_analysis import core
def test_analyze_temperature_data_basic():
data = [20.0, 22.0, 24.0, 26.0]
result = core.analyze_temperature_data(data)
expected_mean = 23.0
expected_variance = pytest.approx(6.6667, rel=1e-3)
assert isinstance(result, dict)
assert result['mean_temperature'] == pytest.approx(expected_mean)
assert result['temperature_variance'] == expected_variance
def test_analyze_temperature_data_single_value():
data = [25.5]
result = core.analyze_temperature_data(data)
assert result['mean_temperature'] == 25.5
assert result['temperature_variance'] == 0.0
def test_analyze_temperature_data_invalid_input_type():
with pytest.raises((TypeError, ValueError)):
core.analyze_temperature_data(["a", "b", "c"])
def test_analyze_temperature_data_empty_list():
with pytest.raises(ValueError):
core.analyze_temperature_data([])
def test_analysisresult_structure():
result_obj = core.AnalysisResult(mean_temperature=21.5, temperature_variance=1.2)
assert result_obj.mean_temperature == 21.5
assert result_obj.temperature_variance == 1.2
# to_dict behavior
result_dict = result_obj.__dict__
assert 'mean_temperature' in result_dict
assert 'temperature_variance' in result_dict
assert result_dict['mean_temperature'] == 21.5
assert result_dict['temperature_variance'] == 1.2