diff --git a/TestProject/RNG/model/BoolToggleModel.h b/TestProject/RNG/model/BoolToggleModel.h index 217cc4f..60f2dc6 100644 --- a/TestProject/RNG/model/BoolToggleModel.h +++ b/TestProject/RNG/model/BoolToggleModel.h @@ -8,6 +8,7 @@ struct BoolToggleModel : IModel { BoolToggleModel(const json& params, float) : period_ticks(params.value("period_ms", 2000) / 20) {} bool evaluateBool(size_t t) override { - return (t / period_ticks) % 2 == 0; + int half = period_ticks / 2; + return (t % period_ticks) < static_cast(half); } }; diff --git a/TestProject/RNG/test/test_registry.cc b/TestProject/RNG/test/test_registry.cc index c287748..468240f 100644 --- a/TestProject/RNG/test/test_registry.cc +++ b/TestProject/RNG/test/test_registry.cc @@ -15,7 +15,7 @@ TEST(registry_load_models_and_get_builtin) { auto& reg = ModelRegistry::instance(); reg.loadModels(testJsonPath()); - IModel* m = reg.getOrCreate("const_100", 0.0f, "builtin_1"); + IModel* m = reg.getOrCreate("const_100", 100.0f, "builtin_1"); CHECK(m != nullptr); CHECK_FLOAT_EQ(m->evaluate(0), 100.0f, 0.001f); CHECK_FLOAT_EQ(m->evaluate(999), 100.0f, 0.001f); @@ -69,7 +69,7 @@ TEST(registry_find_nonexistent) { TEST(registry_composite_syntax) { auto& reg = ModelRegistry::instance(); // const_100 + linear_k1: evaluate(0) = 100 + 0 = 100, evaluate(3) = 100 + 8 = 108 - IModel* m = reg.getOrCreate("const_100+linear_k1", 0.0f, "composite_1"); + IModel* m = reg.getOrCreate("const_100+linear_k1", 100.0f, "composite_1"); CHECK(m != nullptr); CHECK_FLOAT_EQ(m->evaluate(0), 100.0f, 0.001f); CHECK_FLOAT_EQ(m->evaluate(3), 108.0f, 0.001f); diff --git a/TestProject/RNG/test/test_valve_pair.cc b/TestProject/RNG/test/test_valve_pair.cc index 39c5363..fb206f5 100644 --- a/TestProject/RNG/test/test_valve_pair.cc +++ b/TestProject/RNG/test/test_valve_pair.cc @@ -9,7 +9,7 @@ struct ValvePairFixture { ValvePairModel valve; ValvePairFixture(int on_delay_ms = 0, int off_delay_ms = 0) - : action(std::make_unique(json{{"period_ms", 200}}, 0.0f)) + : action(std::make_unique(json{{"period_ms", 2000}}, 0.0f)) , valve(json{{"on_delay_ms", on_delay_ms}, {"off_delay_ms", off_delay_ms}}, 0.0f) { valve.action = action.get(); }