-
Notifications
You must be signed in to change notification settings - Fork 0
/
tests.cpp
59 lines (53 loc) · 1.84 KB
/
tests.cpp
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
53
54
55
56
57
58
59
#include <gtest/gtest.h>
#include <string>
#include "utils.hpp"
//XOR Encrypt test
TEST(XorEncryptDecryptTest, SameLength) {
std::string input = "Hello";
std::string key = "Key123";
std::string encrypted = xorEncryptDecrypt(input, key);
EXPECT_EQ(xorEncryptDecrypt(encrypted, key), input);
}
TEST(SortWordsVTest, EmptyVector) {
std::vector<std::string> words;
sortWordsV(words);
EXPECT_TRUE(words.empty());
}
TEST(SortWordsVTest, SingleWordVector) {
std::vector<std::string> words = {"apple"};
sortWordsV(words);
EXPECT_EQ(words.size(), 1);
EXPECT_EQ(words[0], "apple");
}
TEST(SortWordsVTest, MultipleWordsVector) {
std::vector<std::string> words = {"Apple", "banana", "cat", "Dog", "Elephant"};
sortWordsV(words);
EXPECT_EQ(words.size(), 5);
EXPECT_EQ(words[0], "Apple");
EXPECT_EQ(words[1], "banana");
EXPECT_EQ(words[2], "cat");
EXPECT_EQ(words[3], "Dog");
EXPECT_EQ(words[4], "Elephant");
}
TEST(WriteAndReadToDBTest, OneTableInDB){
fstream db("dbdata/utest.bin", ios::out | ios::binary);
dbTable inputTable;
inputTable.secret = "hash";
inputTable.words = {"Adrian", "test", "dlugie zdanie", "Zenon", "raz"};
vector<string> expected = {"Adrian", "dlugie zdanie", "raz", "test", "Zenon"};
writeTableToDB(db, inputTable);
db.close();
fstream dbRead("dbdata/utest.bin", ios::in | ios::binary);
dbTable readTable = readTableFromDB(dbRead, inputTable.secret);
dbRead.close();
EXPECT_EQ(readTable.words.size(), 5);
EXPECT_EQ(readTable.words[0], expected[0]);
EXPECT_EQ(readTable.words[1], expected[1]);
EXPECT_EQ(readTable.words[2], expected[2]);
EXPECT_EQ(readTable.words[3], expected[3]);
EXPECT_EQ(readTable.words[4], expected[4]);
}
int main(int argc, char **argv) {
::testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}