subsurface/tests/testrenumber.cpp
Berthold Stoeger 176f544106 core: move process_import_dives() and related functions to divelog
These functions accessed the global divelog make this explicit.

I'm still not happy about the situation, because these functions
access global state, such as the selection. I think these
should be moved up the call-chain.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
2024-08-13 19:28:30 +02:00

39 lines
1 KiB
C++

// SPDX-License-Identifier: GPL-2.0
#include "testrenumber.h"
#include "core/device.h"
#include "core/dive.h"
#include "core/divelog.h"
#include "core/divesite.h"
#include "core/trip.h"
#include "core/file.h"
#include "core/pref.h"
#include <QTextStream>
void TestRenumber::setup()
{
prefs.cloud_base_url = default_prefs.cloud_base_url;
QCOMPARE(parse_file(SUBSURFACE_TEST_DATA "/dives/test47.xml", &divelog), 0);
divelog.process_loaded_dives();
}
void TestRenumber::testMerge()
{
struct divelog log;
QCOMPARE(parse_file(SUBSURFACE_TEST_DATA "/dives/test47b.xml", &log), 0);
divelog.add_imported_dives(log, import_flags::merge_all_trips);
QCOMPARE(divelog.dives.size(), 1);
}
void TestRenumber::testMergeAndAppend()
{
struct divelog log;
QCOMPARE(parse_file(SUBSURFACE_TEST_DATA "/dives/test47c.xml", &log), 0);
divelog.add_imported_dives(log, import_flags::merge_all_trips);
QCOMPARE(divelog.dives.size(), 2);
struct dive *d = get_dive(1);
QVERIFY(d != NULL);
if (d)
QCOMPARE(d->number, 2);
}
QTEST_GUILESS_MAIN(TestRenumber)