Page MenuHomePhorge

conversiontest.cpp
No OneTemporary

Authored By
Unknown
Size
4 KB
Referenced Files
None
Subscribers
None

conversiontest.cpp

#include "conversiontest.h"
#include <QtTest/QtTest>
#include <lib/xcalconversions.h>
#include <lib/xcardconversions.h>
#include "serializers.h"
Q_DECLARE_METATYPE(Kolab::Duration);
Q_DECLARE_METATYPE(Kolab::DayPos);
Q_DECLARE_METATYPE(Kolab::DateTime);
using namespace Kolab::XCAL;
void ConversionTest::durationParserTest_data()
{
QTest::addColumn<Kolab::Duration>("expected");
QTest::addColumn<QString>("string");
QTest::newRow("Time") << Kolab::Duration(0,2,3,4, false) << "+PT2H3M4S";
QTest::newRow("Day") << Kolab::Duration(1,2,3,4, false) << "+P1DT2H3M4S";
QTest::newRow("Week") << Kolab::Duration(1, false) << "+P1W";
QTest::newRow("Week Multidigit, negative") << Kolab::Duration(23, true) << "-P23W";
}
void ConversionTest::durationParserTest()
{
QFETCH(QString, string);
QFETCH(Kolab::Duration, expected);
const Kolab::Duration result = toDuration(string.toStdString());
QCOMPARE(result, expected);
}
void ConversionTest::durationSerializerTest_data()
{
QTest::addColumn<QString>("expected");
QTest::addColumn<Kolab::Duration>("duration");
QTest::newRow("Time") << "PT2H3M4S" << Kolab::Duration(0,2,3,4, false);
QTest::newRow("Day") << "P1DT2H3M4S" << Kolab::Duration(1,2,3,4, false);
QTest::newRow("Week positive") << "P1W" << Kolab::Duration(1, false);
QTest::newRow("Week negative") << "-P3W" << Kolab::Duration(3, true);
QTest::newRow("Week Multidigit, negative") << "-P23W" << Kolab::Duration(23, true);
}
void ConversionTest::durationSerializerTest()
{
QFETCH(Kolab::Duration, duration);
QFETCH(QString, expected);
const std::string result = fromDuration(duration);
QCOMPARE(QString::fromStdString(result), expected);
}
void ConversionTest::dayPosParserTest_data()
{
QTest::addColumn<Kolab::DayPos>("expected");
QTest::addColumn<QString>("string");
QTest::newRow("positive") << Kolab::DayPos(15, Kolab::Wednesday) << "15WE";
QTest::newRow("positive with +") << Kolab::DayPos(15, Kolab::Wednesday) << "+15WE";
QTest::newRow("negative") << Kolab::DayPos(-15, Kolab::Wednesday) << "-15WE";
QTest::newRow("all occurrences") << Kolab::DayPos(0, Kolab::Wednesday) << "WE";
}
void ConversionTest::dayPosParserTest()
{
QFETCH(QString, string);
QFETCH(Kolab::DayPos, expected);
const Kolab::DayPos result = toDayPos(string.toStdString());
QCOMPARE(result, expected);
}
void ConversionTest::dayPosSerializerTest_data()
{
QTest::addColumn<QString>("expected");
QTest::addColumn<Kolab::DayPos>("daypos");
QTest::newRow("pos") << "15WE" << Kolab::DayPos(15, Kolab::Wednesday);
QTest::newRow("negative") << "-15WE" << Kolab::DayPos(-15, Kolab::Wednesday);
QTest::newRow("all occurrences") << "WE" << Kolab::DayPos(0, Kolab::Wednesday);
}
void ConversionTest::dayPosSerializerTest()
{
QFETCH(Kolab::DayPos, daypos);
QFETCH(QString, expected);
const std::string result = fromDayPos(daypos);
QCOMPARE(QString::fromStdString(result), expected);
}
void ConversionTest::xcardDateParserTest_data()
{
QTest::addColumn<QString>("input");
QTest::addColumn<Kolab::DateTime>("expected");
QTest::newRow("datetime local") << "20010102T030405" << Kolab::DateTime(2001, 01, 02, 03, 04 ,05, false);
QTest::newRow("datetime utc") << "20010102T030405Z" << Kolab::DateTime(2001, 01, 02, 03, 04 ,05, true);
QTest::newRow("date only") << "20010102" << Kolab::DateTime(2001, 01, 02);
QTest::newRow("fail 1 short") << "20010102T03040" << Kolab::DateTime();
QTest::newRow("fail non utc") << "20010102T030401s" << Kolab::DateTime();
QTest::newRow("fail no time") << "20010102T" << Kolab::DateTime();
}
void ConversionTest::xcardDateParserTest()
{
QFETCH(QString, input);
QFETCH(Kolab::DateTime, expected);
const Kolab::DateTime &dt = Kolab::XCARD::toDateTime(input.toStdString());
QCOMPARE(dt, expected);
}
void ConversionTest::xCardSerializerTest_data()
{
QTest::addColumn<QString>("expected");
QTest::addColumn<Kolab::DateTime>("dt");
QTest::newRow("datetime local") << "20010102T030405" << Kolab::DateTime(2001, 01, 02, 03, 04 ,05, false);
QTest::newRow("datetime utc") << "20010102T030405Z" << Kolab::DateTime(2001, 01, 02, 03, 04 ,05, true);
QTest::newRow("dateonly") << "20010102" << Kolab::DateTime(2001, 01, 02);
}
void ConversionTest::xCardSerializerTest()
{
QFETCH(QString, expected);
QFETCH(Kolab::DateTime, dt);
const std::string &s = Kolab::XCARD::fromDateTime(dt);
QCOMPARE(QString::fromStdString(s), expected);
}
QTEST_MAIN( ConversionTest )
#include "conversiontest.moc"

File Metadata

Mime Type
text/x-c
Expires
Sun, Apr 5, 11:17 PM (1 w, 6 d ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
18828987
Default Alt Text
conversiontest.cpp (4 KB)

Event Timeline