diff options
-rw-r--r-- | CMakeLists.txt | 1 | ||||
-rw-r--r-- | tests/testrenumber.cpp | 38 | ||||
-rw-r--r-- | tests/testrenumber.h | 15 |
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 |