mirror of
https://github.com/subsurface/subsurface.git
synced 2025-02-19 22:16:15 +00:00
Convert the atmospheric pressure in the Information Tab to an editable field
The Information tab shows the atmospheric pressure. Make this value editable and also ensure that changes to it are undo-able. Signed-off-by: willemferguson <willemferguson@zoology.up.ac.za>
This commit is contained in:
parent
ca6aa38139
commit
1bdf00b2b4
19 changed files with 323 additions and 20 deletions
63
tests/testAirPressure.cpp
Normal file
63
tests/testAirPressure.cpp
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
// SPDX-License-Identifier: GPL-2.0
|
||||
#include "testAirPressure.h"
|
||||
#include "core/divesite.h"
|
||||
#include "core/divelist.h"
|
||||
#include "core/file.h"
|
||||
#include "core/dive.h"
|
||||
#include <QString>
|
||||
#include <core/qthelper.h>
|
||||
|
||||
void TestAirPressure::initTestCase()
|
||||
{
|
||||
/* we need to manually tell that the resource exists, because we are using it as library. */
|
||||
Q_INIT_RESOURCE(subsurface);
|
||||
}
|
||||
|
||||
void TestAirPressure::get_dives()
|
||||
{
|
||||
struct dive *dive;
|
||||
verbose = 1;
|
||||
|
||||
QCOMPARE(parse_file(SUBSURFACE_TEST_DATA "/dives/TestAtmPress.xml", &dive_table, &trip_table, &dive_site_table), 0);
|
||||
dive = get_dive(0);
|
||||
dive->selected = true;
|
||||
QVERIFY(dive != NULL);
|
||||
}
|
||||
|
||||
void TestAirPressure::testReadAirPressure()
|
||||
{
|
||||
struct dive *dive;
|
||||
dive = get_dive(0);
|
||||
QVERIFY(dive != NULL);
|
||||
dive->selected = true;
|
||||
QCOMPARE(1012, dive->surface_pressure.mbar);
|
||||
dive = get_dive(1);
|
||||
QVERIFY(dive != NULL);
|
||||
dive->selected = true;
|
||||
QCOMPARE(991, dive->surface_pressure.mbar);
|
||||
}
|
||||
|
||||
void TestAirPressure::testConvertAltitudetoAirPressure()
|
||||
{
|
||||
QCOMPARE(891,altitude_to_pressure(1000000)); // 1000 m altitude in mm
|
||||
QCOMPARE(1013,altitude_to_pressure(0)); // sea level
|
||||
}
|
||||
|
||||
void TestAirPressure::testWriteReadBackAirPressure()
|
||||
{
|
||||
struct dive *dive;
|
||||
int32_t ap = 1111;
|
||||
dive = get_dive(0);
|
||||
QVERIFY(dive != NULL);
|
||||
dive->selected = true;
|
||||
dive->surface_pressure.mbar = ap;
|
||||
QCOMPARE(save_dives("./testout.ssrf"), 0);
|
||||
clear_dive_file_data();
|
||||
QCOMPARE(parse_file("./testout.ssrf", &dive_table, &trip_table, &dive_site_table), 0);
|
||||
dive = get_dive(0);
|
||||
QVERIFY(dive != NULL);
|
||||
dive->selected = true;
|
||||
QCOMPARE(ap, dive->surface_pressure.mbar);
|
||||
}
|
||||
|
||||
QTEST_GUILESS_MAIN(TestAirPressure)
|
||||
Loading…
Add table
Add a link
Reference in a new issue