Skip to content

Commit 799d6b9

Browse files
author
Hendrik Muhs
committed
fix merge problem in CModelParams initialization unit test
1 parent d89d6b5 commit 799d6b9

File tree

2 files changed

+22
-6
lines changed

2 files changed

+22
-6
lines changed

include/model/CForecastModelPersist.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,14 @@ class MODEL_EXPORT CForecastModelPersist final {
8383
private:
8484
static bool restoreOneModel(core::CStateRestoreTraverser& traverser,
8585
SModelParams modelParams,
86-
double inimumSeasonalVarianceScale,
86+
double minimumSeasonalVarianceScale,
8787
TMathsModelPtr& model,
8888
model_t::EFeature& feature,
8989
std::string& byFieldValue);
9090

9191
private:
9292
//! model parameters required in order to restore the model
93-
SModelParams m_ModelParams;
93+
const SModelParams m_ModelParams;
9494

9595
//! minimum seasonal variance scale specific to the model
9696
double m_MinimumSeasonalVarianceScale;

lib/model/unittest/CForecastModelPersistTest.cc

Lines changed: 20 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#include "CForecastModelPersistTest.h"
88

99
#include <core/CLogger.h>
10+
#include <core/Constants.h>
1011
#include <core/CoreTypes.h>
1112

1213
#include <maths/CNormalMeanPrecConjugate.h>
@@ -28,26 +29,34 @@ void CForecastModelPersistTest::testPersistAndRestore() {
2829
SModelParams params{bucketLength};
2930
params.s_DecayRate = 0.001;
3031
params.s_LearnRate = 1.0;
32+
params.s_MinimumTimeToDetectChange = 6 * core::constants::HOUR;
33+
params.s_MaximumTimeToTestForChange = core::constants::DAY;
3134
maths::CTimeSeriesDecomposition trend(params.s_DecayRate, bucketLength);
35+
3236
maths::CNormalMeanPrecConjugate prior{maths::CNormalMeanPrecConjugate::nonInformativePrior(
3337
maths_t::E_ContinuousData, params.s_DecayRate)};
34-
maths::CModelParams timeSeriesModelParams{bucketLength, params.s_LearnRate,
38+
maths::CModelParams timeSeriesModelParams{bucketLength,
39+
params.s_LearnRate,
3540
params.s_DecayRate,
36-
minimumSeasonalVarianceScale};
41+
minimumSeasonalVarianceScale,
42+
params.s_MinimumTimeToDetectChange,
43+
params.s_MaximumTimeToTestForChange};
3744
maths::CUnivariateTimeSeriesModel timeSeriesModel{timeSeriesModelParams, 1, trend, prior};
3845

3946
CForecastModelPersist::CPersist persister(ml::test::CTestTmpDir::tmpDir());
4047
persister.addModel(&timeSeriesModel, model_t::EFeature::E_IndividualCountByBucketAndPerson,
4148
"some_by_field");
42-
49+
trend.dataType(maths_t::E_MixedData);
4350
maths::CNormalMeanPrecConjugate otherPrior{maths::CNormalMeanPrecConjugate::nonInformativePrior(
4451
maths_t::E_MixedData, params.s_DecayRate)};
52+
4553
maths::CUnivariateTimeSeriesModel otherTimeSeriesModel{timeSeriesModelParams,
4654
2, trend, otherPrior};
4755

4856
persister.addModel(&otherTimeSeriesModel, model_t::EFeature::E_IndividualLowMeanByPerson,
4957
"some_other_by_field");
5058

59+
trend.dataType(maths_t::E_DiscreteData);
5160
maths::CNormalMeanPrecConjugate otherPriorEmptyByField{
5261
maths::CNormalMeanPrecConjugate::nonInformativePrior(maths_t::E_DiscreteData,
5362
params.s_DecayRate)};
@@ -83,7 +92,10 @@ void CForecastModelPersistTest::testPersistAndRestore() {
8392
CPPUNIT_ASSERT_EQUAL(params.s_DecayRate, restoredModel->params().decayRate());
8493
CPPUNIT_ASSERT_EQUAL(minimumSeasonalVarianceScale,
8594
restoredModel->params().minimumSeasonalVarianceScale());
86-
95+
CPPUNIT_ASSERT_EQUAL(params.s_MinimumTimeToDetectChange,
96+
restoredModel->params().minimumTimeToDetectChange());
97+
CPPUNIT_ASSERT_EQUAL(params.s_MaximumTimeToTestForChange,
98+
restoredModel->params().maximumTimeToTestForChange());
8799
CPPUNIT_ASSERT_EQUAL(timeSeriesModelForForecast->checksum(42),
88100
restoredModel->checksum(42));
89101

@@ -103,6 +115,10 @@ void CForecastModelPersistTest::testPersistAndRestore() {
103115
CPPUNIT_ASSERT_EQUAL(params.s_DecayRate, restoredModel->params().decayRate());
104116
CPPUNIT_ASSERT_EQUAL(minimumSeasonalVarianceScale,
105117
restoredModel->params().minimumSeasonalVarianceScale());
118+
CPPUNIT_ASSERT_EQUAL(params.s_MinimumTimeToDetectChange,
119+
restoredModel->params().minimumTimeToDetectChange());
120+
CPPUNIT_ASSERT_EQUAL(params.s_MaximumTimeToTestForChange,
121+
restoredModel->params().maximumTimeToTestForChange());
106122
CPPUNIT_ASSERT_EQUAL(otherTimeSeriesModelForForecast->checksum(42),
107123
restoredModel->checksum(42));
108124

0 commit comments

Comments
 (0)