aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorGravatar Robert C. Helling <helling@atdotde.de>2020-05-02 21:38:55 +0200
committerGravatar Dirk Hohndel <dirk@hohndel.org>2020-05-04 13:39:18 -0700
commitb3270222fd884c2b1c68519bdadf7fbc357a5d06 (patch)
treeb8f4295ea7411cbc73768297a26b9d1adef66532 /tests
parent6066ead0d5950cfc1330d37a96e6e6ba5fb0f8c8 (diff)
downloadsubsurface-b3270222fd884c2b1c68519bdadf7fbc357a5d06.tar.gz
Add test for profile data
There was a TestProfile but that was a stub that did not test anything. We have an export function that serialises the profile data (including lots of derived data like deco information and cylinder pressure interpolation). So here is now a simple tests that can detect regressions in the profle. Signed-off-by: Robert C. Helling <helling@atdotde.de>
Diffstat (limited to 'tests')
-rw-r--r--tests/testprofile.cpp16
-rw-r--r--tests/testprofile.h2
2 files changed, 15 insertions, 3 deletions
diff --git a/tests/testprofile.cpp b/tests/testprofile.cpp
index 4e1c470b4..f491f5169 100644
--- a/tests/testprofile.cpp
+++ b/tests/testprofile.cpp
@@ -3,10 +3,22 @@
#include "core/divesite.h"
#include "core/trip.h"
#include "core/file.h"
+#include "core/save-profiledata.h"
-void TestProfile::testRedCeiling()
+void TestProfile::testProfileExport()
{
- parse_file("../dives/deep.xml", &dive_table, &trip_table, &dive_site_table);
+ parse_file("../dives/abitofeverything.ssrf", &dive_table, &trip_table, &dive_site_table);
+ save_profiledata("exportprofile.csv", false);
+ QFile org("../dives/exportprofilereference.csv");
+ org.open(QFile::ReadOnly);
+ QFile out("exportprofile.csv");
+ out.open(QFile::ReadOnly);
+ QTextStream orgS(&org);
+ QTextStream outS(&out);
+ QString readin = orgS.readAll();
+ QString written = outS.readAll();
+ QCOMPARE(readin, written);
+
}
QTEST_GUILESS_MAIN(TestProfile)
diff --git a/tests/testprofile.h b/tests/testprofile.h
index c40d40e6a..0a2f8fb6e 100644
--- a/tests/testprofile.h
+++ b/tests/testprofile.h
@@ -8,7 +8,7 @@
class TestProfile : public QObject {
Q_OBJECT
private slots:
- void testRedCeiling();
+ void testProfileExport();
};
#endif