annotate TestMemoryDBLink.cpp @ 115:404795616b1e default tip

Added a lot of common files to ignore
author Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
date Sat, 25 Mar 2017 17:43:57 +0100
parents 9744ec195be3
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
73
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
1 #include "MemoryDBLink.hpp"
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
2 #include "Exception/ValueExistsException.hpp"
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
3 #include "TestFramework.hpp"
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
4
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
5 BOOST_AUTO_TEST_CASE( AddUpdateDeleteFile )
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
6 {
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
7 MemoryDBLink link;
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
8
76
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
9 QDateTime time1 = QDateTime::currentDateTime();
73
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
10 QDateTime time2 = time1.addSecs(1);
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
11
76
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
12 BOOST_REQUIRE(!link.exists("test"));
73
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
13 BOOST_REQUIRE_EQUAL(link.existsWithMtime("test", time1), FileDBLink::NONE);
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
14 link.addFile("test", 1, time1, "a");
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
15 BOOST_REQUIRE_EQUAL(link.existsWithMtime("test", time1), FileDBLink::SAME);
76
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
16 BOOST_REQUIRE(link.exists("test"));
73
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
17 BOOST_REQUIRE_THROW(link.addFile("test", 1, time1, "a"),
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
18 ValueExistsException);
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
19
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
20 link.updateFile("test", 1, time2, "a");
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
21 BOOST_REQUIRE_EQUAL(link.existsWithMtime("test", time1), FileDBLink::MTIME_DIFFERENT);
76
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
22 BOOST_REQUIRE(link.exists("test"));
73
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
23 BOOST_REQUIRE_THROW(link.addFile("test", 1, time1, "a"),
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
24 ValueExistsException);
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
25
76
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
26
73
c9447697609f Fixed some issues with raise.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents:
diff changeset
27 }
76
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
28
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
29 BOOST_AUTO_TEST_CASE( SortUnsortable )
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
30 {
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
31 MemoryDBLink link;
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
32
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
33 QString path1 = "a";
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
34 int size1 = 1;
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
35 QDateTime time1 = QDateTime::currentDateTime();
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
36 QByteArray checksum1 = QByteArray::fromHex("a");
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
37
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
38 QString path2 = "b";
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
39 int size2 = 2;
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
40 QDateTime time2 = time1.addSecs(1);
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
41 QByteArray checksum2 = QByteArray::fromHex("b");
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
42
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
43
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
44 link.addFile(path2, size2, time2, checksum2);
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
45 link.addFile(path1, size1, time1, checksum1);
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
46
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
47
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
48 {
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
49 QList<FileDBLink::dbinf_ptr_t > out;
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
50 out = link.sortOn("", FileDBLink::PATH, false);
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
51
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
52 bool first = true;
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
53 QString prev;
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
54 foreach(FileDBLink::dbinf_ptr_t info, out) {
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
55 if (first) {
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
56 first = false;
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
57 }
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
58 else {
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
59 BOOST_REQUIRE(prev <= info->path());
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
60 }
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
61 prev = info->path();
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
62 }
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
63 }
78
9744ec195be3 Encapsulate EditDistance with caching.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 76
diff changeset
64
76
8136057988bc Fixes to automatic report generating system.
Tom Fredrik Blenning Klaussen <bfg@bfgconsult.no>
parents: 73
diff changeset
65 }