mirror of
https://github.com/subsurface/subsurface.git
synced 2025-01-19 06:15:26 +00:00
Export-import test for manual CSV
Note that the actual validation of the result is currently disabled, so the tests will pass even though there are some bugs and rounding errors present. Signed-off-by: Miika Turkia <miika.turkia@gmail.com>
This commit is contained in:
parent
a0ed0ff823
commit
acd791b7c1
2 changed files with 93 additions and 0 deletions
|
@ -404,4 +404,93 @@ void TestParse::testParseMerge()
|
|||
SUBSURFACE_TEST_DATA "/dives/mergedVyperOstc.xml");
|
||||
}
|
||||
|
||||
int TestParse::parseCSVmanual(int units, std::string file)
|
||||
{
|
||||
verbose = 1;
|
||||
char *params[55];
|
||||
int pnr = 0;
|
||||
|
||||
params[pnr++] = strdup(strdup("numberField"));
|
||||
params[pnr++] = intdup(0);
|
||||
params[pnr++] = strdup("dateField");
|
||||
params[pnr++] = intdup(1);
|
||||
params[pnr++] = strdup("timeField");
|
||||
params[pnr++] = intdup(2);
|
||||
params[pnr++] = strdup("durationField");
|
||||
params[pnr++] = intdup(3);
|
||||
params[pnr++] = strdup("locationField");
|
||||
params[pnr++] = intdup(13);
|
||||
params[pnr++] = strdup("gpsField");
|
||||
params[pnr++] = intdup(14);
|
||||
params[pnr++] = strdup("maxDepthField");
|
||||
params[pnr++] = intdup(4);
|
||||
params[pnr++] = strdup("meanDepthField");
|
||||
params[pnr++] = intdup(5);
|
||||
params[pnr++] = strdup("divemasterField");
|
||||
params[pnr++] = intdup(15);
|
||||
params[pnr++] = strdup("buddyField");
|
||||
params[pnr++] = intdup(16);
|
||||
params[pnr++] = strdup("suitField");
|
||||
params[pnr++] = intdup(17);
|
||||
params[pnr++] = strdup("notesField");
|
||||
params[pnr++] = intdup(20);
|
||||
params[pnr++] = strdup("weightField");
|
||||
params[pnr++] = intdup(21);
|
||||
params[pnr++] = strdup("tagsField");
|
||||
params[pnr++] = intdup(22);
|
||||
params[pnr++] = strdup("separatorIndex");
|
||||
params[pnr++] = intdup(0);
|
||||
params[pnr++] = strdup("units");
|
||||
params[pnr++] = intdup(units);
|
||||
params[pnr++] = strdup("datefmt");
|
||||
params[pnr++] = intdup(2);
|
||||
params[pnr++] = strdup("durationfmt");
|
||||
params[pnr++] = intdup(2);
|
||||
params[pnr++] = strdup("cylindersizeField");
|
||||
params[pnr++] = intdup(8);
|
||||
params[pnr++] = strdup("startpressureField");
|
||||
params[pnr++] = intdup(9);
|
||||
params[pnr++] = strdup("endpressureField");
|
||||
params[pnr++] = intdup(10);
|
||||
params[pnr++] = strdup("o2Field");
|
||||
params[pnr++] = intdup(11);
|
||||
params[pnr++] = strdup("heField");
|
||||
params[pnr++] = intdup(12);
|
||||
params[pnr++] = strdup("airtempField");
|
||||
params[pnr++] = intdup(6);
|
||||
params[pnr++] = strdup("watertempField");
|
||||
params[pnr++] = intdup(7);
|
||||
params[pnr++] = NULL;
|
||||
|
||||
return parse_manual_file(file.c_str(), params, pnr - 1);
|
||||
}
|
||||
|
||||
void TestParse::exportCSVDiveDetails()
|
||||
{
|
||||
parse_file(SUBSURFACE_TEST_DATA "/dives/test40.xml");
|
||||
|
||||
export_dives_xslt("testcsvexportmanual.csv", 0, 0, "xml2manualcsv.xslt");
|
||||
export_dives_xslt("testcsvexportmanualimperial.csv", 0, 1, "xml2manualcsv.xslt");
|
||||
|
||||
clear_dive_file_data();
|
||||
|
||||
parseCSVmanual(1, "testcsvexportmanualimperial.csv");
|
||||
export_dives_xslt("testcsvexportmanual2.csv", 0, 0, "xml2manualcsv.xslt");
|
||||
save_dives("./testing.xml");
|
||||
|
||||
/*
|
||||
* Keeping the actual test disabled, until rounding errors and other bugs are fixed
|
||||
*
|
||||
|
||||
FILE_COMPARE("testcsvexportmanual2.csv",
|
||||
"testcsvexportmanual.csv");
|
||||
*/
|
||||
}
|
||||
|
||||
void TestParse::testExport()
|
||||
{
|
||||
exportCSVDiveDetails();
|
||||
}
|
||||
|
||||
|
||||
QTEST_GUILESS_MAIN(TestParse)
|
||||
|
|
|
@ -23,6 +23,10 @@ private slots:
|
|||
void testParseDLD();
|
||||
void testParseMerge();
|
||||
|
||||
int parseCSVmanual(int, std::string);
|
||||
void exportCSVDiveDetails();
|
||||
void testExport();
|
||||
|
||||
private:
|
||||
sqlite3 *_sqlite3_handle = NULL;
|
||||
};
|
||||
|
|
Loading…
Add table
Reference in a new issue