summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt1
-rw-r--r--tests/testrenumber.cpp38
-rw-r--r--tests/testrenumber.h15
3 files changed, 54 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b261dbae8..a90d11c7f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -583,6 +583,7 @@ if(NOT NO_TESTS)
TEST(TestParse testparse.cpp)
TEST(TestPlan testplan.cpp)
TEST(TestDiveSiteDuplication testdivesiteduplication.cpp)
+ TEST(TestRenumber testrenumber.cpp)
TEST(TestGitStorage testgitstorage.cpp)
endif()
diff --git a/tests/testrenumber.cpp b/tests/testrenumber.cpp
new file mode 100644
index 000000000..86ad6fae4
--- /dev/null
+++ b/tests/testrenumber.cpp
@@ -0,0 +1,38 @@
+#include "windowtitleupdate.h"
+#include "testrenumber.h"
+#include "dive.h"
+#include "file.h"
+#include "divelist.h"
+#include <QTextStream>
+
+void TestRenumber::setup()
+{
+ WindowTitleUpdate *wtu = new WindowTitleUpdate();
+ QCOMPARE(parse_file(SUBSURFACE_SOURCE "/dives/test47.xml"), 0);
+ process_dives(false, false);
+ dive_table.preexisting = dive_table.nr;
+}
+
+void TestRenumber::testMerge()
+{
+ QCOMPARE(parse_file(SUBSURFACE_SOURCE "/dives/test47b.xml"), 0);
+ process_dives(true, false);
+ QCOMPARE(dive_table.nr, 1);
+ QCOMPARE(unsaved_changes(), 1);
+ mark_divelist_changed(false);
+ dive_table.preexisting = dive_table.nr;
+}
+
+void TestRenumber::testMergeAndAppend()
+{
+ QCOMPARE(parse_file(SUBSURFACE_SOURCE "/dives/test47c.xml"), 0);
+ process_dives(true, false);
+ QCOMPARE(dive_table.nr, 2);
+ QCOMPARE(unsaved_changes(), 1);
+ struct dive *d = get_dive(1);
+ QVERIFY(d != NULL);
+ if (d)
+ QCOMPARE(d->number, 2);
+}
+
+QTEST_MAIN(TestRenumber)
diff --git a/tests/testrenumber.h b/tests/testrenumber.h
new file mode 100644
index 000000000..4c87e94c4
--- /dev/null
+++ b/tests/testrenumber.h
@@ -0,0 +1,15 @@
+#ifndef TESTRENUMBER_H
+#define TESTRENUMBER_H
+
+#include <QtTest>
+
+class TestRenumber : public QObject
+{
+ Q_OBJECT
+private slots:
+ void setup();
+ void testMerge();
+ void testMergeAndAppend();
+};
+
+#endif