Add temperature_data_analysis/tests/test_core.py
This commit is contained in:
parent
a921493d89
commit
80a5136a25
1 changed files with 43 additions and 0 deletions
43
temperature_data_analysis/tests/test_core.py
Normal file
43
temperature_data_analysis/tests/test_core.py
Normal 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
|
||||
Loading…
Reference in a new issue