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 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
|
// Copyright (C) 2017-2020 Ford Motor Company
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "rep_enums_replica.h"
#include <QTest>
#include <QByteArray>
#include <QDataStream>
class tst_Enums : public QObject {
Q_OBJECT
private Q_SLOTS:
void testMarshalling();
void testEnumContainingENUM();
};
void tst_Enums::testMarshalling()
{
QByteArray ba;
QDataStream ds(&ba, QIODevice::ReadWrite);
{
const Qt::DayOfWeek format1 = Qt::Monday;
const Qt::DayOfWeek format2 = Qt::Tuesday;
const Qt::DayOfWeek format3 = Qt::Wednesday;
const Qt::DayOfWeek format4 = Qt::Thursday;
const Qt::DayOfWeek format5 = Qt::Friday;
const Qt::DayOfWeek format6 = Qt::Saturday;
const Qt::DayOfWeek format7 = Qt::Sunday;
ds << int(format1) << int(format2) << int(format3) << int(format4)
<< int(format5) << int(format6) << int(format7);
}
ds.device()->seek(0);
{
int format1, format2, format3, format4, format5, format6, format7;
ds >> format1 >> format2 >> format3 >> format4 >> format5 >> format6 >> format7;
QCOMPARE(format1, int(Qt::Monday));
QCOMPARE(format2, int(Qt::Tuesday));
QCOMPARE(format3, int(Qt::Wednesday));
QCOMPARE(format4, int(Qt::Thursday));
QCOMPARE(format5, int(Qt::Friday));
QCOMPARE(format6, int(Qt::Saturday));
QCOMPARE(format7, int(Qt::Sunday));
}
}
void tst_Enums::testEnumContainingENUM()
{
// We mostly just want to make sure the generation for this doesn't change,
// so test using the type name and the value of the first entry:
XENUMxEnum::XENUMx xenum = XENUMxEnum::Foo;
QCOMPARE(int(xenum), 0);
ENUM_Enum::ENUM_ enum_ = ENUM_Enum::Foo;
QCOMPARE(int(enum_), 0);
}
QTEST_APPLESS_MAIN(tst_Enums)
#include "tst_enums.moc"
|