1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
// SPDX-License-Identifier: LGPL-2.1-or-later
//
// SPDX-FileCopyrightText: 2013 Adrian Draghici <draghici.adrian.b@gmail.com>
//
#include "MarbleGlobal.h"
#include "MarbleMath.h"
#include "TestUtils.h"
namespace Marble
{
class TestGudermannian : public QObject
{
Q_OBJECT
private Q_SLOTS:
void testGudermannian_data();
void testGudermannian();
};
void TestGudermannian::testGudermannian_data()
{
QTest::addColumn<qreal>("angle");
addRow() << 1.0;
addRow() << 5.0;
addRow() << 15.0;
addRow() << 20.0;
addRow() << 30.0;
addRow() << 40.0;
addRow() << 60.0;
addRow() << 70.0;
addRow() << 80.0;
}
void TestGudermannian::testGudermannian()
{
QFETCH(qreal, angle);
QFUZZYCOMPARE(atan(sinh(angle * DEG2RAD)) * RAD2DEG, gd(angle * DEG2RAD) * RAD2DEG, 0.1);
}
}
QTEST_MAIN(Marble::TestGudermannian)
#include "TestGudermannian.moc"
|