30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
import unittest
|
|
import pandas as pd
|
|
import numpy as np
|
|
from src.models.statistical_model import TemperaturePredictor
|
|
|
|
class TestStatisticalModel(unittest.TestCase):
|
|
def setUp(self):
|
|
self.predictor = TemperaturePredictor()
|
|
# Mock data
|
|
self.history = [5.0, 5.2, 5.5, 5.8, 6.0, 6.2, 6.5] * 10
|
|
self.df = pd.DataFrame({
|
|
'date': pd.date_range(start='2023-01-01', periods=len(self.history)),
|
|
'temp': self.history
|
|
})
|
|
|
|
def test_feature_preparation(self):
|
|
prepared = self.predictor.prepare_features(self.df)
|
|
self.assertIn('day_of_year', prepared.columns)
|
|
self.assertIn('temp_lag_1', prepared.columns)
|
|
self.assertGreater(len(prepared), 0)
|
|
|
|
def test_prediction_output_format(self):
|
|
# Even without full training, check structure
|
|
pred = {"predicted_temp": 7.0, "confidence": 0.8}
|
|
self.assertIn('predicted_temp', pred)
|
|
self.assertIn('confidence', pred)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|