aboutsummaryrefslogtreecommitdiff
path: root/src/test/DBTest.cpp
blob: 7f2c3399f81083abdee2ef347108b6b30051da98 (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
#include <gtest/gtest.h>

#include <crepe/facade/DB.h>

using namespace std;
using namespace crepe;
using namespace testing;

class DBTest : public Test {
public:
	DB db;
};

TEST_F(DBTest, ReadWrite) {
	db.set("foo", "bar");
	EXPECT_EQ(db.get("foo"), "bar");
}

TEST_F(DBTest, Nonexistant) {
	EXPECT_THROW(db.get("foo"), std::out_of_range);
	db.set("foo", "bar");
	EXPECT_NO_THROW(db.get("foo"));
}

TEST_F(DBTest, Has) {
	EXPECT_EQ(db.has("foo"), false);
	db.set("foo", "bar");
	EXPECT_EQ(db.has("foo"), true);
}

TEST_F(DBTest, MultipleKeys) {
	db.set("foo", "foo");
	db.set("bar", "bar");

	EXPECT_EQ(db.get("foo"), "foo");
	EXPECT_EQ(db.get("bar"), "bar");
}