From ec20d36f3c895abfb68320176e8b23b9b90b6e2c Mon Sep 17 00:00:00 2001
From: Dirk Hohndel <dirk@hohndel.org>
Date: Thu, 9 Feb 2017 22:16:08 -0800
Subject: Add test for merging multiple cylinders

Signed-off-by: Dirk Hohndel <dirk@hohndel.org>
---
 tests/testparse.cpp | 22 ++++++++++++++++++++++
 tests/testparse.h   |  1 +
 2 files changed, 23 insertions(+)

(limited to 'tests')

diff --git a/tests/testparse.cpp b/tests/testparse.cpp
index 223b4469b..b0baab403 100644
--- a/tests/testparse.cpp
+++ b/tests/testparse.cpp
@@ -419,4 +419,26 @@ void TestParse::testParseCompareDLDOutput()
 	clear_dive_file_data();
 }
 
+void TestParse::testParseMerge()
+{
+	/*
+	 * check that we correctly merge mixed cylinder dives
+	 */
+	QCOMPARE(parse_file(SUBSURFACE_SOURCE "/dives/ostc.xml"), 0);
+	QCOMPARE(parse_file(SUBSURFACE_SOURCE "/dives/vyper.xml"), 0);
+	QCOMPARE(save_dives("./testmerge.ssrf"), 0);
+	QFile org(SUBSURFACE_SOURCE "/dives/mergedVyperOstc.xml");
+	org.open(QFile::ReadOnly);
+	QFile out("./testmerge.ssrf");
+	out.open(QFile::ReadOnly);
+	QTextStream orgS(&org);
+	QTextStream outS(&out);
+	QStringList readin = orgS.readAll().split("\n");
+	QStringList written = outS.readAll().split("\n");
+	while(readin.size() && written.size()){
+		QCOMPARE(readin.takeFirst(), written.takeFirst());
+	}
+	clear_dive_file_data();
+}
+
 QTEST_GUILESS_MAIN(TestParse)
diff --git a/tests/testparse.h b/tests/testparse.h
index d99f9e53e..c11420794 100644
--- a/tests/testparse.h
+++ b/tests/testparse.h
@@ -20,6 +20,7 @@ private slots:
 	void testParseCompareNewFormatOutput();
 	void testParseDLD();
 	void testParseCompareDLDOutput();
+	void testParseMerge();
 };
 
 #endif
-- 
cgit v1.2.3-70-g09d2