58 lines
1.3 KiB
C++
58 lines
1.3 KiB
C++
/*!
|
|
* \brief Unit tests for \ref Asn1BCDDateUtil
|
|
*
|
|
* \copyright Copyright (c) 2015-2017 Governikus GmbH & Co. KG, Germany
|
|
*/
|
|
|
|
#include "asn1/ASN1Util.h"
|
|
|
|
#include <QtCore>
|
|
#include <QtTest>
|
|
|
|
#include <openssl/objects.h>
|
|
#include <openssl/x509v3.h>
|
|
|
|
using namespace governikus;
|
|
|
|
|
|
class test_Asn1BCDDateUtil
|
|
: public QObject
|
|
{
|
|
Q_OBJECT
|
|
|
|
private Q_SLOTS:
|
|
void convertQDateToUnpackedBCDAndBack()
|
|
{
|
|
QDate date = QDate(2015, 2, 3);
|
|
ASN1_OCTET_STRING* strDate = ASN1_OCTET_STRING_new();
|
|
QByteArray array = Asn1BCDDateUtil::convertFromQDateToUnpackedBCD(date);
|
|
QCOMPARE(array.toHex(), QByteArray("010500020003"));
|
|
|
|
Asn1OctetStringUtil::setValue(array, strDate);
|
|
QDate date2 = Asn1BCDDateUtil::convertFromUnpackedBCDToQDate(strDate);
|
|
QCOMPARE(date2, QDate(2015, 2, 3));
|
|
}
|
|
|
|
|
|
void convertBCDToQDateInvalidLength()
|
|
{
|
|
ASN1_OCTET_STRING* strDate = ASN1_OCTET_STRING_new();
|
|
Asn1OctetStringUtil::setValue(QByteArray("0000000"), strDate);
|
|
|
|
QDate date = Asn1BCDDateUtil::convertFromUnpackedBCDToQDate(strDate);
|
|
QCOMPARE(date.isValid(), false);
|
|
}
|
|
|
|
|
|
void convertBCDToQDateNull()
|
|
{
|
|
QDate date = Asn1BCDDateUtil::convertFromUnpackedBCDToQDate(nullptr);
|
|
QCOMPARE(date.isValid(), false);
|
|
}
|
|
|
|
|
|
};
|
|
|
|
QTEST_GUILESS_MAIN(test_Asn1BCDDateUtil)
|
|
#include "test_Asn1BCDDateUtil.moc"
|