summaryrefslogtreecommitdiff
path: root/tests/desktop/rule/matchEngine/BoolMatchEngine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/desktop/rule/matchEngine/BoolMatchEngine.cpp')
-rw-r--r--tests/desktop/rule/matchEngine/BoolMatchEngine.cpp70
1 files changed, 70 insertions, 0 deletions
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 <desktop/rule/matchEngine/BoolMatchEngine.hpp>
+
+#include <gtest/gtest.h>
+
+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));
+}