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;