Model/model_data/tests/test_sap_model.py
2023-07-05 13:07:55 +01:00

37 lines
1.1 KiB
Python

import pytest
from model_data.EpcClean import EpcClean
from model_data.analysis.SapModel import SapModel
from model_data.tests.test_data.sap_model_data import data
class TestSapModel:
@pytest.fixture
def cleaner(self):
cleaner = EpcClean(data=data)
cleaner.clean()
return cleaner
@pytest.fixture
def model(self, cleaner):
model = SapModel(data, cleaner=cleaner)
return model
def test_run(self, model):
assert model.final_model is None
assert model.test_model is None
model.run()
assert model.final_model is not None
assert model.test_model is not None
# Note - this will potentially be different on different machines so may need to adjust these tests accordingly
# when running in CI/CD
assert (model.fit_error['Median Absolute Error'] - 1.7316860436422203) < 0.00001
assert (model.predict_error['Median Absolute Error'] - 2.85481857667385) < 0.00001
# final model doesn't do that well on this test data
assert (model.final_error['Median Absolute Error'] - 10.050349496213855) < 0.00001