- Use absolute file paths by using $$PWD variable.
- Adds unit testing project + unit-test for serialization.
- Adds ADS_IMPORT define possibility for static code include.

Core
- Fixes usage of QBuffer.. missed the QBuffer::open() call..
This commit is contained in:
mfreiholz
2016-04-01 11:49:16 +02:00
parent 5ab1751f9b
commit 158dac5309
11 changed files with 123 additions and 43 deletions

View File

@@ -0,0 +1,7 @@
HEADERS += \
$$PWD/src/TestCore.h
SOURCES += \
$$PWD/src/main.cpp \
$$PWD/src/TestCore.cpp

View File

@@ -0,0 +1,14 @@
TARGET = AdvancedDockingSystemUnitTests
QT += core gui testlib
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets
greaterThan(QT_MAJOR_VERSION, 4): DEFINES += ADS_NAMESPACE_ENABLED
DEFINES += ADS_IMPORT
INCLUDEPATH += $$PWD/src
INCLUDEPATH += $$PWD/../AdvancedDockingSystem/include
DEPENDPATH += $$PWD/../AdvancedDockingSystem/include
include(AdvancedDockingSystemUnitTests.pri)
include(../AdvancedDockingSystem/AdvancedDockingSystem.pri)

View File

@@ -0,0 +1,35 @@
#include "TestCore.h"
#include "ads/API.h"
#include "ads/Serialization.h"
void TestCore::serialization()
{
QList<QByteArray> datas;
datas.append(QByteArray("Custom Data Here!!!"));
datas.append(QByteArray("Even More..."));
datas.append(QByteArray("lalalaalalalalalalal").toBase64());
// Write some data.
ADS_NS_SER::InMemoryWriter writer;
for (int i = 0; i < datas.count(); ++i)
{
QVERIFY(writer.write(i + 1, datas.at(i)));
}
QVERIFY(writer.offsetsCount() == datas.count());
const QByteArray writtenData = writer.toByteArray();
QVERIFY(writtenData.size() > 0);
// Read and validate written data.
ADS_NS_SER::InMemoryReader reader(writtenData);
QVERIFY(reader.initReadHeader());
QVERIFY(reader.offsetsCount() == datas.count());
for (int i = 0; i < datas.count(); ++i)
{
QByteArray readData;
QVERIFY(reader.read(i + 1, readData));
QVERIFY(readData == datas.at(i));
}
}
QTEST_MAIN(TestCore)

View File

@@ -0,0 +1,14 @@
#ifndef TEST_CORE_H
#define TEST_CORE_H
#include <QtTest/QtTest>
class TestCore : public QObject
{
Q_OBJECT
private slots:
void serialization();
};
#endif

View File

@@ -0,0 +1 @@
#include <QtTest/QtTest>