From 5f5e64a57ff886ef10b19f8358e618cbfd14bf61 Mon Sep 17 00:00:00 2001 From: Huamonarch Date: Mon, 18 May 2026 09:53:24 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B5=8B=E8=AF=95=E4=B8=AD=20vars=20?= =?UTF-8?q?=E8=B5=8B=E5=80=BC=E7=A7=BB=E5=88=B0=20ExpressionEngine=20?= =?UTF-8?q?=E6=9E=84=E9=80=A0=E4=B9=8B=E5=90=8E=EF=BC=88=E9=81=BF=E5=85=8D?= =?UTF-8?q?=E8=A2=AB=E6=9E=84=E9=80=A0=E5=87=BD=E6=95=B0=E8=A6=86=E7=9B=96?= =?UTF-8?q?=E4=B8=BA=200.0=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- eqpalg/test/test_algorithms.cc | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/eqpalg/test/test_algorithms.cc b/eqpalg/test/test_algorithms.cc index fa6ba78..fc42c9e 100644 --- a/eqpalg/test/test_algorithms.cc +++ b/eqpalg/test/test_algorithms.cc @@ -177,9 +177,9 @@ struct TestEnv { TEST(logic_alg_trigger_true_produces_alarm) { std::map vars; std::vector tags = {"tag1"}; - vars["tag1"] = 1.0; ExpressionEngine engine(vars, tags); + vars["tag1"] = 1.0; // 必须在构造后设置(构造函数会用共享内存 0.0 覆盖) engine.registerExpression("act", "tag1 > 0.5"); // trigger 为 true → 应产生报警 @@ -202,10 +202,10 @@ TEST(logic_alg_trigger_false_no_alarm) { TEST(logic_alg_complex_expression) { std::map vars; std::vector tags = {"tag1", "tag2"}; - vars["tag1"] = 3.0; - vars["tag2"] = 7.0; ExpressionEngine engine(vars, tags); + vars["tag1"] = 3.0; + vars["tag2"] = 7.0; engine.registerExpression("act", "tag1 > 2 && tag2 < 10"); CHECK_EQ(engine.evaluateBool("act"), true); @@ -226,10 +226,10 @@ TEST(logic_alg_and_short_circuit_false) { TEST(logic_alg_or_expression) { std::map vars; std::vector tags = {"tag1", "tag2"}; - vars["tag1"] = 0.0; - vars["tag2"] = 100.0; ExpressionEngine engine(vars, tags); + vars["tag1"] = 0.0; + vars["tag2"] = 100.0; engine.registerExpression("act", "tag1 > 2 || tag2 > 50"); CHECK_EQ(engine.evaluateBool("act"), true); @@ -378,9 +378,9 @@ TEST(bound_alg_filter_expression) { TEST(bound_alg_filter_boundary) { std::map vars; std::vector tags = {"tag1"}; - vars["tag1"] = 200.0; ExpressionEngine engine(vars, tags); + vars["tag1"] = 200.0; engine.registerExpression("feedback", "tag1 >= 200"); // exactly at boundary @@ -454,13 +454,13 @@ TEST(bound_hold_long_delay) { TEST(feedback_full_flow_start_to_done) { std::map vars; std::vector tags = {"tag1"}; - vars["tag1"] = 1.0; + + ExpressionEngine engine(vars, tags); + vars["tag1"] = 1.0; // 必须在构造后设置(构造函数覆盖) vars["p1"] = 1.0; vars["now"] = 0; vars["stime"] = 0; vars["time"] = 0; - - ExpressionEngine engine(vars, tags); engine.registerExpression("act", "tag1 > 0.5"); engine.registerExpression("feedback", "tag1 < 0.1"); engine.registerExpression("result", "1"); @@ -568,9 +568,9 @@ TEST(feedback_timeout_scenario) { TEST(exp_times_occurrence_counting_logic) { std::map vars; std::vector tags = {"tag1"}; - vars["tag1"] = 1.0; ExpressionEngine engine(vars, tags); + vars["tag1"] = 1.0; // 必须在构造后设置 engine.registerExpression("act", "tag1"); int shear_times = 0; @@ -590,9 +590,9 @@ TEST(exp_times_occurrence_counting_logic) { TEST(exp_times_occurrence_below_threshold) { std::map vars; std::vector tags = {"tag1"}; - vars["tag1"] = 1.0; ExpressionEngine engine(vars, tags); + vars["tag1"] = 1.0; // 必须在构造后设置 engine.registerExpression("act", "tag1 > 0.5"); int shear_times = 0;