mirror of
https://github.com/romixlab/qmsgpack.git
synced 2025-08-01 11:24:26 +02:00
cmake files added, folder tree reorganized, pack test partially written
This commit is contained in:
11
tests/CMakeLists.txt
Normal file
11
tests/CMakeLists.txt
Normal file
@@ -0,0 +1,11 @@
|
||||
if (Qt5Core_FOUND)
|
||||
find_package(Qt5Test REQUIRED)
|
||||
|
||||
include_directories(${Qt5Test_INCLUDE_DIRS})
|
||||
add_definitions(${Qt5Test_DEFINITIONS})
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Test_EXECUTABLE_COMPILE_FLAGS}")
|
||||
|
||||
set(TEST_LIBRARIES ${Qt5Test_LIBRARIES})
|
||||
endif ()
|
||||
|
||||
add_subdirectory(pack)
|
24
tests/pack/CMakeLists.txt
Normal file
24
tests/pack/CMakeLists.txt
Normal file
@@ -0,0 +1,24 @@
|
||||
set(QT_USE_QTTEST TRUE)
|
||||
|
||||
if (NOT Qt5Core_FOUND)
|
||||
include( $QT_USE_FILE} )
|
||||
endif()
|
||||
|
||||
include(AddFileDependencies)
|
||||
|
||||
include_directories(../../src ${CMAKE_CURRENT_BINARY_DIR})
|
||||
|
||||
set(UNIT_TESTS pack_test)
|
||||
|
||||
foreach(test ${UNIT_TESTS})
|
||||
message(status "Building ${test}")
|
||||
add_executable(${test} ${test}.cpp)
|
||||
|
||||
target_link_libraries(${test}
|
||||
${QT_LIBRARIES}
|
||||
${TEST_LIBRARIES}
|
||||
qmsgpack
|
||||
)
|
||||
|
||||
add_test(${test} ${test})
|
||||
endforeach()
|
22
tests/pack/pack-test.pro
Normal file
22
tests/pack/pack-test.pro
Normal file
@@ -0,0 +1,22 @@
|
||||
#-------------------------------------------------
|
||||
#
|
||||
# Project created by QtCreator 2014-09-20T15:17:37
|
||||
#
|
||||
#-------------------------------------------------
|
||||
|
||||
QT += testlib
|
||||
|
||||
QT -= gui
|
||||
|
||||
TARGET = pack_test
|
||||
CONFIG += console
|
||||
CONFIG -= app_bundle
|
||||
|
||||
TEMPLATE = app
|
||||
|
||||
LIBS += -lqmsgpack
|
||||
INCLUDEPATH += ../../src
|
||||
|
||||
|
||||
SOURCES += pack_test.cpp
|
||||
DEFINES += SRCDIR=\\\"$$PWD/\\\"
|
198
tests/pack/pack_test.cpp
Normal file
198
tests/pack/pack_test.cpp
Normal file
@@ -0,0 +1,198 @@
|
||||
#include <QString>
|
||||
#include <QByteArray>
|
||||
#include <QtTest>
|
||||
#include "msgpack.h"
|
||||
|
||||
class PackTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
void test_bool();
|
||||
void test_fixint();
|
||||
void test_integer8();
|
||||
void test_integer16();
|
||||
void test_integer32();
|
||||
void test_integer64();
|
||||
};
|
||||
|
||||
void PackTest::test_bool()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(false);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0xc2);
|
||||
|
||||
arr = MsgPack::pack(true);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0xc3);
|
||||
}
|
||||
|
||||
void PackTest::test_fixint()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(0);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0x00);
|
||||
|
||||
arr = MsgPack::pack(127);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0x7f);
|
||||
|
||||
arr = MsgPack::pack(-1);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0xff);
|
||||
|
||||
arr = MsgPack::pack(-32);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0xe0);
|
||||
}
|
||||
|
||||
void PackTest::test_integer8()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(128);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 2);
|
||||
QVERIFY(p[0] == 0xcc);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
|
||||
arr = MsgPack::pack(255);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 2);
|
||||
QVERIFY(p[0] == 0xcc);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
|
||||
arr = MsgPack::pack(-33);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 2);
|
||||
QVERIFY(p[0] == 0xd0);
|
||||
QVERIFY(p[1] == 0xdf);
|
||||
|
||||
arr = MsgPack::pack(-128);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 2);
|
||||
QVERIFY(p[0] == 0xd0);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
}
|
||||
|
||||
void PackTest::test_integer16()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(256);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 3);
|
||||
QVERIFY(p[0] == 0xcd);
|
||||
QVERIFY(p[1] == 0x01);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
|
||||
arr = MsgPack::pack(65535);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 3);
|
||||
QVERIFY(p[0] == 0xcd);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0xff);
|
||||
|
||||
arr = MsgPack::pack(-129);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 3);
|
||||
QVERIFY(p[0] == 0xd1);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0x7f);
|
||||
|
||||
arr = MsgPack::pack(-32768);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 3);
|
||||
QVERIFY(p[0] == 0xd1);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
}
|
||||
|
||||
void PackTest::test_integer32()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(65536);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 5);
|
||||
QVERIFY(p[0] == 0xce);
|
||||
QVERIFY(p[1] == 0x00);
|
||||
QVERIFY(p[2] == 0x01);
|
||||
QVERIFY(p[3] == 0x00);
|
||||
QVERIFY(p[4] == 0x00);
|
||||
|
||||
arr = MsgPack::pack((quint32)4294967295);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 5);
|
||||
QVERIFY(p[0] == 0xce);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0xff);
|
||||
QVERIFY(p[3] == 0xff);
|
||||
QVERIFY(p[4] == 0xff);
|
||||
|
||||
arr = MsgPack::pack(-32769);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 5);
|
||||
QVERIFY(p[0] == 0xd2);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0xff);
|
||||
QVERIFY(p[3] == 0x7f);
|
||||
QVERIFY(p[4] == 0xff);
|
||||
|
||||
arr = MsgPack::pack((qint32)-2147483648);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 5);
|
||||
QVERIFY(p[0] == 0xd2);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
QVERIFY(p[3] == 0x00);
|
||||
QVERIFY(p[4] == 0x00);
|
||||
}
|
||||
|
||||
void PackTest::test_integer64()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack((quint64)4294967296);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xcf);
|
||||
QVERIFY(p[1] == 0x00);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
QVERIFY(p[3] == 0x00);
|
||||
QVERIFY(p[4] == 0x01);
|
||||
QVERIFY(p[5] == 0x00);
|
||||
QVERIFY(p[6] == 0x00);
|
||||
QVERIFY(p[7] == 0x00);
|
||||
QVERIFY(p[8] == 0x00);
|
||||
|
||||
arr = MsgPack::pack((quint64)18446744073709551615U);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xcf);
|
||||
for (int i = 1; i < 9; ++i)
|
||||
QVERIFY(p[i] == 0xff);
|
||||
|
||||
arr = MsgPack::pack((qint64)-2147483649);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xd3);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0xff);
|
||||
QVERIFY(p[3] == 0xff);
|
||||
QVERIFY(p[4] == 0xff);
|
||||
QVERIFY(p[5] == 0x7f);
|
||||
QVERIFY(p[6] == 0xff);
|
||||
QVERIFY(p[7] == 0xff);
|
||||
QVERIFY(p[8] == 0xff);
|
||||
|
||||
arr = MsgPack::pack((qint64)-9223372036854775808);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xd3);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
for (int i = 2; i < 9; ++i)
|
||||
QVERIFY(p[i] == 0x00);
|
||||
}
|
||||
|
||||
QTEST_APPLESS_MAIN(PackTest)
|
||||
|
||||
#include "pack_test.moc"
|
215
tests/pack/pack_test.cpp.autosave
Normal file
215
tests/pack/pack_test.cpp.autosave
Normal file
@@ -0,0 +1,215 @@
|
||||
#include <QString>
|
||||
#include <QByteArray>
|
||||
#include <QtTest>
|
||||
#include "msgpack.h"
|
||||
|
||||
class PackTest : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
private Q_SLOTS:
|
||||
void test_bool();
|
||||
void test_fixint();
|
||||
void test_integer8();
|
||||
void test_integer16();
|
||||
void test_integer32();
|
||||
void test_integer64();
|
||||
void test_float();
|
||||
};
|
||||
|
||||
void PackTest::test_bool()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(false);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0xc2);
|
||||
|
||||
arr = MsgPack::pack(true);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0xc3);
|
||||
}
|
||||
|
||||
void PackTest::test_fixint()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(0);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0x00);
|
||||
|
||||
arr = MsgPack::pack(127);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0x7f);
|
||||
|
||||
arr = MsgPack::pack(-1);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0xff);
|
||||
|
||||
arr = MsgPack::pack(-32);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 1);
|
||||
QVERIFY(p[0] == 0xe0);
|
||||
}
|
||||
|
||||
void PackTest::test_integer8()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(128);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 2);
|
||||
QVERIFY(p[0] == 0xcc);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
|
||||
arr = MsgPack::pack(255);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 2);
|
||||
QVERIFY(p[0] == 0xcc);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
|
||||
arr = MsgPack::pack(-33);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 2);
|
||||
QVERIFY(p[0] == 0xd0);
|
||||
QVERIFY(p[1] == 0xdf);
|
||||
|
||||
arr = MsgPack::pack(-128);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 2);
|
||||
QVERIFY(p[0] == 0xd0);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
}
|
||||
|
||||
void PackTest::test_integer16()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(256);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 3);
|
||||
QVERIFY(p[0] == 0xcd);
|
||||
QVERIFY(p[1] == 0x01);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
|
||||
arr = MsgPack::pack(65535);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 3);
|
||||
QVERIFY(p[0] == 0xcd);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0xff);
|
||||
|
||||
arr = MsgPack::pack(-129);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 3);
|
||||
QVERIFY(p[0] == 0xd1);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0x7f);
|
||||
|
||||
arr = MsgPack::pack(-32768);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 3);
|
||||
QVERIFY(p[0] == 0xd1);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
}
|
||||
|
||||
void PackTest::test_integer32()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(65536);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 5);
|
||||
QVERIFY(p[0] == 0xce);
|
||||
QVERIFY(p[1] == 0x00);
|
||||
QVERIFY(p[2] == 0x01);
|
||||
QVERIFY(p[3] == 0x00);
|
||||
QVERIFY(p[4] == 0x00);
|
||||
|
||||
arr = MsgPack::pack((quint32)4294967295);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 5);
|
||||
QVERIFY(p[0] == 0xce);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0xff);
|
||||
QVERIFY(p[3] == 0xff);
|
||||
QVERIFY(p[4] == 0xff);
|
||||
|
||||
arr = MsgPack::pack(-32769);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 5);
|
||||
QVERIFY(p[0] == 0xd2);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0xff);
|
||||
QVERIFY(p[3] == 0x7f);
|
||||
QVERIFY(p[4] == 0xff);
|
||||
|
||||
arr = MsgPack::pack((qint32)-2147483648);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 5);
|
||||
QVERIFY(p[0] == 0xd2);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
QVERIFY(p[3] == 0x00);
|
||||
QVERIFY(p[4] == 0x00);
|
||||
}
|
||||
|
||||
void PackTest::test_integer64()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack((quint64)4294967296);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xcf);
|
||||
QVERIFY(p[1] == 0x00);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
QVERIFY(p[3] == 0x00);
|
||||
QVERIFY(p[4] == 0x01);
|
||||
QVERIFY(p[5] == 0x00);
|
||||
QVERIFY(p[6] == 0x00);
|
||||
QVERIFY(p[7] == 0x00);
|
||||
QVERIFY(p[8] == 0x00);
|
||||
|
||||
arr = MsgPack::pack((quint64)18446744073709551615U);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xcf);
|
||||
for (int i = 1; i < 9; ++i)
|
||||
QVERIFY(p[i] == 0xff);
|
||||
|
||||
arr = MsgPack::pack((qint64)-2147483649);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xd3);
|
||||
QVERIFY(p[1] == 0xff);
|
||||
QVERIFY(p[2] == 0xff);
|
||||
QVERIFY(p[3] == 0xff);
|
||||
QVERIFY(p[4] == 0xff);
|
||||
QVERIFY(p[5] == 0x7f);
|
||||
QVERIFY(p[6] == 0xff);
|
||||
QVERIFY(p[7] == 0xff);
|
||||
QVERIFY(p[8] == 0xff);
|
||||
|
||||
arr = MsgPack::pack((qint64)-9223372036854775808);
|
||||
p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xd3);
|
||||
QVERIFY(p[1] == 0x80);
|
||||
for (int i = 2; i < 9; ++i)
|
||||
QVERIFY(p[i] == 0x00);
|
||||
}
|
||||
|
||||
void PackTest::test_float()
|
||||
{
|
||||
QByteArray arr = MsgPack::pack(1.234567);
|
||||
quint8 *p = (quint8 *)arr.data();
|
||||
QVERIFY(arr.size() == 9);
|
||||
QVERIFY(p[0] == 0xcf);
|
||||
QVERIFY(p[1] == 0x00);
|
||||
QVERIFY(p[2] == 0x00);
|
||||
QVERIFY(p[3] == 0x00);
|
||||
QVERIFY(p[4] == 0x01);
|
||||
QVERIFY(p[5] == 0x00);
|
||||
QVERIFY(p[6] == 0x00);
|
||||
QVERIFY(p[7] == 0x00);
|
||||
QVERIFY(p[8] == 0x00);
|
||||
}
|
||||
|
||||
QTEST_APPLESS_MAIN(PackTest)
|
||||
|
||||
#include "pack_test.moc"
|
Reference in New Issue
Block a user