summaryrefslogtreecommitdiffstats
path: root/src/test/dbidtest.cpp
blob: 329f64a634dd0ba75bb9724012cba17bf62a26a1 (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
#include <gtest/gtest.h>

#include <QtDebug>

#include "util/db/dbid.h"

namespace {

class DbIdTest : public testing::Test {
  protected:
    static DbId fromValidVariant(const QVariant& variant) {
        DbId actual(variant);
        EXPECT_TRUE(actual.isValid());
        EXPECT_NE(DbId(), actual);
        EXPECT_EQ(variant.toInt(), actual.toInt());
        return actual;
    }

    static DbId fromInvalidVariant(const QVariant& variant) {
        DbId actual(variant);
        EXPECT_FALSE(actual.isValid());
        EXPECT_EQ(DbId(), actual);
        return actual;
    }
};

TEST_F(DbIdTest, DefaultConstructor) {
    DbId actual;

    EXPECT_FALSE(actual.isValid());
}

TEST_F(DbIdTest, Invalid) {
    fromInvalidVariant(-1);
    fromInvalidVariant(-12);
    fromInvalidVariant(-123);
    fromInvalidVariant(-1234);
    fromInvalidVariant("-1234");
    fromInvalidVariant("invalid id");
}

TEST_F(DbIdTest, Valid) {
    fromValidVariant(0);
    fromValidVariant(1);
    fromValidVariant(12);
    fromValidVariant(123);
    fromValidVariant(1234);
    EXPECT_EQ(fromValidVariant(1234), fromValidVariant(" 1234  "));
}

}  // namespace