diff options
Diffstat (limited to 'tests/auto/corelib/tools/qmargins/tst_qmargins.cpp')
-rw-r--r-- | tests/auto/corelib/tools/qmargins/tst_qmargins.cpp | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp b/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp index d49e0efe43..409a82aab2 100644 --- a/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp +++ b/tests/auto/corelib/tools/qmargins/tst_qmargins.cpp @@ -51,6 +51,10 @@ private slots: void getSetCheck(); void dataStreamCheck(); void operators(); + + void getSetCheckF(); + void dataStreamCheckF(); + void operatorsF(); }; // Testing get/set functions @@ -157,5 +161,102 @@ void tst_QMargins::dataStreamCheck() } } +// Testing get/set functions +void tst_QMargins::getSetCheckF() +{ + QMarginsF margins; + // int QMarginsF::width() + // void QMarginsF::setWidth(int) + margins.setLeft(1.1); + QCOMPARE(1.1, margins.left()); + margins.setTop(2.2); + QCOMPARE(2.2, margins.top()); + margins.setBottom(3.3); + QCOMPARE(3.3, margins.bottom()); + margins.setRight(4.4); + QCOMPARE(4.4, margins.right()); + + margins = QMarginsF(); + QVERIFY(margins.isNull()); + margins.setLeft(5.5); + margins.setRight(5.5); + QVERIFY(!margins.isNull()); + QCOMPARE(margins, QMarginsF(5.5, 0.0, 5.5, 0.0)); +} + +void tst_QMargins::operatorsF() +{ + const QMarginsF m1(12.1, 14.1, 16.1, 18.1); + const QMarginsF m2(2.1, 3.1, 4.1, 5.1); + + const QMarginsF added = m1 + m2; + QCOMPARE(added, QMarginsF(14.2, 17.2, 20.2, 23.2)); + QMarginsF a = m1; + a += m2; + QCOMPARE(a, added); + + const QMarginsF subtracted = m1 - m2; + QCOMPARE(subtracted, QMarginsF(10.0, 11.0, 12.0, 13.0)); + a = m1; + a -= m2; + QCOMPARE(a, subtracted); + + QMarginsF h = m1; + h += 2.1; + QCOMPARE(h, QMarginsF(14.2, 16.2, 18.2, 20.2)); + h -= 2.1; + QCOMPARE(h, m1); + + const QMarginsF doubled = m1 * 2.0; + QCOMPARE(doubled, QMarginsF(24.2, 28.2, 32.2, 36.2)); + QCOMPARE(2.0 * m1, doubled); + QCOMPARE(m1 * 2.0, doubled); + + a = m1; + a *= 2.0; + QCOMPARE(a, doubled); + + const QMarginsF halved = m1 / 2.0; + QCOMPARE(halved, QMarginsF(6.05, 7.05, 8.05, 9.05)); + + a = m1; + a /= 2.0; + QCOMPARE(a, halved); + + QCOMPARE(m1 + (-m1), QMarginsF()); + + QMarginsF m3 = QMarginsF(10.3, 11.4, 12.5, 13.6); + QCOMPARE(m3 + 1.1, QMarginsF(11.4, 12.5, 13.6, 14.7)); + QCOMPARE(1.1 + m3, QMarginsF(11.4, 12.5, 13.6, 14.7)); + QCOMPARE(m3 - 1.1, QMarginsF(9.2, 10.3, 11.4, 12.5)); + QCOMPARE(+m3, QMarginsF(10.3, 11.4, 12.5, 13.6)); + QCOMPARE(-m3, QMarginsF(-10.3, -11.4, -12.5, -13.6)); +} + +// Testing QDataStream operators +void tst_QMargins::dataStreamCheckF() +{ + QByteArray buffer; + + // stream out + { + QMarginsF marginsOut(1.1, 2.2, 3.3, 4.4); + QDataStream streamOut(&buffer, QIODevice::WriteOnly); + streamOut << marginsOut; + } + + // stream in & compare + { + QMarginsF marginsIn; + QDataStream streamIn(&buffer, QIODevice::ReadOnly); + streamIn >> marginsIn; + + QCOMPARE(marginsIn.left(), 1.1); + QCOMPARE(marginsIn.top(), 2.2); + QCOMPARE(marginsIn.right(), 3.3); + QCOMPARE(marginsIn.bottom(), 4.4); + } +} + QTEST_APPLESS_MAIN(tst_QMargins) #include "tst_qmargins.moc" |