diff options
author | Laszlo Papp <lpapp@kde.org> | 2013-01-26 13:25:45 +0000 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-02-05 14:40:14 +0100 |
commit | 6c6960015ef32f3e58c9a1a14fe61413cbb19ce8 (patch) | |
tree | 5bdfe2194d44f158eccf8fab31d443b7458c9d38 /tests/auto/corelib/kernel/qmath/tst_qmath.cpp | |
parent | 53f9e77140a07eb8f36eeea460f13a54dad7330e (diff) |
Add qDegreesToRadians and qRadiansToDegrees math functions
Change-Id: I6e9fd76f2d2860f46531a72349b46193b8eeaaa7
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Diffstat (limited to 'tests/auto/corelib/kernel/qmath/tst_qmath.cpp')
-rw-r--r-- | tests/auto/corelib/kernel/qmath/tst_qmath.cpp | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qmath/tst_qmath.cpp b/tests/auto/corelib/kernel/qmath/tst_qmath.cpp index 0d977317ca..a1ca2ca8cb 100644 --- a/tests/auto/corelib/kernel/qmath/tst_qmath.cpp +++ b/tests/auto/corelib/kernel/qmath/tst_qmath.cpp @@ -1,6 +1,7 @@ /**************************************************************************** ** ** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies). +** Copyright (C) 2013 Laszlo Papp <lpapp@kde.org> ** Contact: http://www.qt-project.org/legal ** ** This file is part of the test suite of the Qt Toolkit. @@ -49,6 +50,10 @@ class tst_QMath : public QObject Q_OBJECT private slots: void fastSinCos(); + void degreesToRadians_data(); + void degreesToRadians(); + void radiansToDegrees_data(); + void radiansToDegrees(); }; void tst_QMath::fastSinCos() @@ -62,6 +67,76 @@ void tst_QMath::fastSinCos() } } +void tst_QMath::degreesToRadians_data() +{ + QTest::addColumn<float>("degreesFloat"); + QTest::addColumn<float>("radiansFloat"); + QTest::addColumn<double>("degreesDouble"); + QTest::addColumn<double>("radiansDouble"); + + QTest::newRow( "pi" ) << 180.0f << float(M_PI) << 180.0 << PI; + QTest::newRow( "doublepi" ) << 360.0f << float(2*M_PI) << 360.0 << 2*PI; + QTest::newRow( "halfpi" ) << 90.0f << float(M_PI_2) << 90.0 << PI/2; + + QTest::newRow( "random" ) << 123.1234567f << 2.1489097058516724f << 123.123456789123456789 << 2.148909707407169856192285627; + QTest::newRow( "bigrandom" ) << 987654321.9876543f << 17237819.79023679f << 987654321987654321.987654321987654321 << 17237819790236794.0; + + QTest::newRow( "zero" ) << 0.0f << 0.0f << 0.0 << 0.0; + + QTest::newRow( "minuspi" ) << -180.0f << float(-M_PI) << 180.0 << PI; + QTest::newRow( "minusdoublepi" ) << -360.0f << float(-2*M_PI) << -360.0 << -2*PI; + QTest::newRow( "minushalfpi" ) << -90.0f << float(-M_PI_2) << -90.0 << -PI/2; + + QTest::newRow( "minusrandom" ) << -123.1234567f << -2.1489097058516724f << -123.123456789123456789 << -2.148909707407169856192285627; + QTest::newRow( "minusbigrandom" ) << -987654321.9876543f << -17237819.79023679f << -987654321987654321.987654321987654321 << -17237819790236794.0; +} + +void tst_QMath::degreesToRadians() +{ + QFETCH(float, degreesFloat); + QFETCH(float, radiansFloat); + QFETCH(double, degreesDouble); + QFETCH(double, radiansDouble); + + QCOMPARE(qDegreesToRadians(degreesFloat), radiansFloat); + QCOMPARE(qDegreesToRadians(degreesDouble), radiansDouble); +} + +void tst_QMath::radiansToDegrees_data() +{ + QTest::addColumn<float>("radiansFloat"); + QTest::addColumn<float>("degreesFloat"); + QTest::addColumn<double>("radiansDouble"); + QTest::addColumn<double>("degreesDouble"); + + QTest::newRow( "pi" ) << float(M_PI) << 180.0f << PI << 180.0; + QTest::newRow( "doublepi" ) << float(2*M_PI) << 360.0f << 2*PI << 360.0; + QTest::newRow( "halfpi" ) << float(M_PI_2) << 90.0f<< PI/2 << 90.0; + + QTest::newRow( "random" ) << 123.1234567f << 7054.454427971739f << 123.123456789123456789 << 7054.4544330781363896676339209079742431640625; + QTest::newRow( "bigrandom" ) << 987654321.9876543f << 56588424267.74745f << 987654321987654321.987654321987654321 << 56588424267747450880.0; + + QTest::newRow( "zero" ) << 0.0f << 0.0f << 0.0 << 0.0; + + QTest::newRow( "minuspi" ) << float(-M_PI) << -180.0f << -PI << -180.0; + QTest::newRow( "minusdoublepi" ) << float(-2*M_PI) << -360.0f << -2*PI << -360.0; + QTest::newRow( "minushalfpi" ) << float(-M_PI_2) << -90.0f << -PI/2 << -90.0; + + QTest::newRow( "minusrandom" ) << -123.1234567f << -7054.454427971739f << -123.123456789123456789 << -7054.4544330781363896676339209079742431640625; + QTest::newRow( "minusbigrandom" ) << -987654321.9876543f << -56588424267.74745f << -987654321987654321.987654321987654321 << -56588424267747450880.0; +} + +void tst_QMath::radiansToDegrees() +{ + QFETCH(float, radiansFloat); + QFETCH(float, degreesFloat); + QFETCH(double, radiansDouble); + QFETCH(double, degreesDouble); + + QCOMPARE(qRadiansToDegrees(radiansFloat), degreesFloat); + QCOMPARE(qRadiansToDegrees(radiansDouble), degreesDouble); +} + QTEST_APPLESS_MAIN(tst_QMath) #include "tst_qmath.moc" |