From 179e1de50715bbb99bac15a5d38b34275106ea67 Mon Sep 17 00:00:00 2001 From: Ioannis Tzavaras Date: Tue, 31 Mar 2026 18:38:18 +0300 Subject: tests: add unit tests for match engine types (#13903) * tests: add unit tests for match engine types * clang-format: fix formatting in TagMatchEngine test --- tests/desktop/rule/matchEngine/BoolMatchEngine.cpp | 70 ++++++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 tests/desktop/rule/matchEngine/BoolMatchEngine.cpp (limited to 'tests/desktop/rule/matchEngine/BoolMatchEngine.cpp') diff --git a/tests/desktop/rule/matchEngine/BoolMatchEngine.cpp b/tests/desktop/rule/matchEngine/BoolMatchEngine.cpp new file mode 100644 index 00000000..99f6d99c --- /dev/null +++ b/tests/desktop/rule/matchEngine/BoolMatchEngine.cpp @@ -0,0 +1,70 @@ +#include + +#include + +using namespace Desktop::Rule; + +TEST(BoolMatchEngine, truthyStringOne) { + CBoolMatchEngine engine("1"); + EXPECT_TRUE(engine.match(true)); + EXPECT_FALSE(engine.match(false)); +} + +TEST(BoolMatchEngine, truthyStringTrue) { + CBoolMatchEngine engine("true"); + EXPECT_TRUE(engine.match(true)); + EXPECT_FALSE(engine.match(false)); +} + +TEST(BoolMatchEngine, truthyStringYes) { + CBoolMatchEngine engine("yes"); + EXPECT_TRUE(engine.match(true)); + EXPECT_FALSE(engine.match(false)); +} + +TEST(BoolMatchEngine, truthyStringOn) { + CBoolMatchEngine engine("on"); + EXPECT_TRUE(engine.match(true)); + EXPECT_FALSE(engine.match(false)); +} + +TEST(BoolMatchEngine, truthyCaseInsensitive) { + CBoolMatchEngine upper("TRUE"); + EXPECT_TRUE(upper.match(true)); + + CBoolMatchEngine mixed("Yes"); + EXPECT_TRUE(mixed.match(true)); + + CBoolMatchEngine onUpper("ON"); + EXPECT_TRUE(onUpper.match(true)); +} + +TEST(BoolMatchEngine, falsyStringZero) { + CBoolMatchEngine engine("0"); + EXPECT_TRUE(engine.match(false)); + EXPECT_FALSE(engine.match(true)); +} + +TEST(BoolMatchEngine, falsyStringFalse) { + CBoolMatchEngine engine("false"); + EXPECT_TRUE(engine.match(false)); + EXPECT_FALSE(engine.match(true)); +} + +TEST(BoolMatchEngine, falsyStringNo) { + CBoolMatchEngine engine("no"); + EXPECT_TRUE(engine.match(false)); + EXPECT_FALSE(engine.match(true)); +} + +TEST(BoolMatchEngine, falsyStringEmpty) { + CBoolMatchEngine engine(""); + EXPECT_TRUE(engine.match(false)); + EXPECT_FALSE(engine.match(true)); +} + +TEST(BoolMatchEngine, falsyStringArbitrary) { + CBoolMatchEngine engine("banana"); + EXPECT_TRUE(engine.match(false)); + EXPECT_FALSE(engine.match(true)); +} -- cgit v1.2.3