qfloat16: add QDataStream tests

Change-Id: I3d74c753055744deb8acfffd172494bf935864b8
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This commit is contained in:
Thiago Macieira 2022-11-04 21:08:32 -07:00
parent beab4d30e2
commit c53bf1b45e

View File

@ -41,6 +41,7 @@ private slots:
void properties();
void limits();
void mantissaOverflow();
void dataStream();
};
void tst_qfloat16::fuzzyCompare_data()
@ -631,5 +632,29 @@ void tst_qfloat16::mantissaOverflow()
QVERIFY(qIsNaN(f16));
}
void tst_qfloat16::dataStream()
{
QByteArray ba;
QDataStream ds(&ba, QIODevice::ReadWrite);
ds << qfloat16(1.5) << qfloat16(-1);
QCOMPARE(ba.size(), 4);
QCOMPARE(ds.status(), QDataStream::Ok);
QCOMPARE(ba, QByteArray("\x3e\0\xbc\0", 4));
ds.device()->seek(0);
ds.resetStatus();
ds.setByteOrder(QDataStream::LittleEndian);
ds << qfloat16(0) << qfloat16(-1);
QCOMPARE(ds.status(), QDataStream::Ok);
QCOMPARE(ba, QByteArray("\0\0\0\xbc", 4));
ds.device()->seek(0);
ds.resetStatus();
qfloat16 zero = 1;
ds >> zero;
QCOMPARE(ds.status(), QDataStream::Ok);
QCOMPARE(zero, qfloat16(0));
}
QTEST_APPLESS_MAIN(tst_qfloat16)
#include "tst_qfloat16.moc"