From 80a5136a2539e618c30d75cdee7360e10647b5d1 Mon Sep 17 00:00:00 2001 From: Mika Date: Sun, 12 Apr 2026 02:07:10 +0000 Subject: [PATCH] Add temperature_data_analysis/tests/test_core.py --- temperature_data_analysis/tests/test_core.py | 43 ++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 temperature_data_analysis/tests/test_core.py diff --git a/temperature_data_analysis/tests/test_core.py b/temperature_data_analysis/tests/test_core.py new file mode 100644 index 0000000..45753be --- /dev/null +++ b/temperature_data_analysis/tests/test_core.py @@ -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 \ No newline at end of file