summaryrefslogtreecommitdiff
path: root/tests/desktop/rule/matchEngine/IntMatchEngine.cpp
blob: a5fb13ea5aba25f9b5b24dc600e0002e75c546a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include <desktop/rule/matchEngine/IntMatchEngine.hpp>

#include <gtest/gtest.h>

using namespace Desktop::Rule;

TEST(IntMatchEngine, positiveInteger) {
    CIntMatchEngine engine("42");
    EXPECT_TRUE(engine.match(42));
    EXPECT_FALSE(engine.match(41));
    EXPECT_FALSE(engine.match(0));
}

TEST(IntMatchEngine, zero) {
    CIntMatchEngine engine("0");
    EXPECT_TRUE(engine.match(0));
    EXPECT_FALSE(engine.match(1));
}

TEST(IntMatchEngine, negativeInteger) {
    CIntMatchEngine engine("-5");
    EXPECT_TRUE(engine.match(-5));
    EXPECT_FALSE(engine.match(5));
}

TEST(IntMatchEngine, invalidStringDefaultsToZero) {
    CIntMatchEngine engine("abc");
    EXPECT_TRUE(engine.match(0));
    EXPECT_FALSE(engine.match(1));
}

TEST(IntMatchEngine, emptyStringDefaultsToZero) {
    CIntMatchEngine engine("");
    EXPECT_TRUE(engine.match(0));
    EXPECT_FALSE(engine.match(1));
}

TEST(IntMatchEngine, leadingWhitespace) {
    CIntMatchEngine engine(" 123");
    EXPECT_TRUE(engine.match(123));
}

TEST(IntMatchEngine, trailingNonDigits) {
    CIntMatchEngine engine("123abc");
    EXPECT_TRUE(engine.match(123));
}

TEST(IntMatchEngine, largeValue) {
    CIntMatchEngine engine("999999");
    EXPECT_TRUE(engine.match(999999));
    EXPECT_FALSE(engine.match(0));
}