mirror of https://github.com/qTox/qTox.git
4 changed files with 203 additions and 1 deletions
@ -0,0 +1,91 @@ |
|||||||
|
#include "src/core/toxid.h" |
||||||
|
|
||||||
|
#include "test/common.h" |
||||||
|
|
||||||
|
#include <QString> |
||||||
|
#include <check.h> |
||||||
|
|
||||||
|
const QString corrupted = QStringLiteral("C7719C6808C14B77348004956D1D98046CE09A34370E7608150EAD74C3815D30C8BA3AB9BEBA"); |
||||||
|
const QString testToxId = QStringLiteral("C7719C6808C14B77348004956D1D98046CE09A34370E7608150EAD74C3815D30C8BA3AB9BEB9"); |
||||||
|
const QString publicKey = QStringLiteral("C7719C6808C14B77348004956D1D98046CE09A34370E7608150EAD74C3815D30"); |
||||||
|
const QString echoToxId = QStringLiteral("76518406F6A9F2217E8DC487CC783C25CC16A15EB36FF32E335A235342C48A39218F515C39A6"); |
||||||
|
|
||||||
|
START_TEST(toStringTest) |
||||||
|
{ |
||||||
|
ToxId toxId(testToxId); |
||||||
|
ck_assert(testToxId == toxId.toString()); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(equalTest) |
||||||
|
{ |
||||||
|
ToxId toxId1(testToxId); |
||||||
|
ToxId toxId2(publicKey); |
||||||
|
ck_assert(toxId1 == toxId2); |
||||||
|
ck_assert(!(toxId1 != toxId2)); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(notEqualTest) |
||||||
|
{ |
||||||
|
ToxId toxId1(testToxId); |
||||||
|
ToxId toxId2(echoToxId); |
||||||
|
ck_assert(toxId1 != toxId2); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(clearTest) |
||||||
|
{ |
||||||
|
ToxId empty; |
||||||
|
ToxId test(testToxId); |
||||||
|
ck_assert(empty != test); |
||||||
|
test.clear(); |
||||||
|
ck_assert(empty == test); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(copyTest) |
||||||
|
{ |
||||||
|
ToxId src(testToxId); |
||||||
|
ToxId copy = src; |
||||||
|
ck_assert(copy == src); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(validationTest) |
||||||
|
{ |
||||||
|
ck_assert(ToxId(testToxId).isValid()); |
||||||
|
ck_assert(!ToxId(publicKey).isValid()); |
||||||
|
ck_assert(!ToxId(corrupted).isValid()); |
||||||
|
QString deadbeef = "DEADBEEF"; |
||||||
|
ck_assert(!ToxId(deadbeef).isValid()); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
static Suite *toxIdSuite(void) |
||||||
|
{ |
||||||
|
Suite *s = suite_create("ToxId"); |
||||||
|
|
||||||
|
DEFTESTCASE(toString); |
||||||
|
DEFTESTCASE(equal); |
||||||
|
DEFTESTCASE(notEqual); |
||||||
|
DEFTESTCASE(clear); |
||||||
|
DEFTESTCASE(copy); |
||||||
|
DEFTESTCASE(validation); |
||||||
|
|
||||||
|
return s; |
||||||
|
} |
||||||
|
|
||||||
|
int main(int argc, char *argv[]) |
||||||
|
{ |
||||||
|
srand((unsigned int) time(NULL)); |
||||||
|
|
||||||
|
Suite *toxId = toxIdSuite(); |
||||||
|
SRunner *runner = srunner_create(toxId); |
||||||
|
srunner_run_all(runner, CK_NORMAL); |
||||||
|
|
||||||
|
int res = srunner_ntests_failed(runner); |
||||||
|
srunner_free(runner); |
||||||
|
|
||||||
|
return res; |
||||||
|
} |
@ -0,0 +1,92 @@ |
|||||||
|
#include "src/core/toxid.h" |
||||||
|
|
||||||
|
#include "test/common.h" |
||||||
|
|
||||||
|
#include <QString> |
||||||
|
#include <QByteArray> |
||||||
|
|
||||||
|
#include <check.h> |
||||||
|
|
||||||
|
const uint8_t testPkArray[32] = { |
||||||
|
0xC7, 0x71, 0x9C, 0x68, 0x08, 0xC1, 0x4B, 0x77, 0x34, 0x80, 0x04, |
||||||
|
0x95, 0x6D, 0x1D, 0x98, 0x04, 0x6C, 0xE0, 0x9A, 0x34, 0x37, 0x0E, |
||||||
|
0x76, 0x08, 0x15, 0x0E, 0xAD, 0x74, 0xC3, 0x81, 0x5D, 0x30 |
||||||
|
}; |
||||||
|
|
||||||
|
const QString testStr = QStringLiteral("C7719C6808C14B77348004956D1D98046CE09A34370E7608150EAD74C3815D30"); |
||||||
|
const QByteArray testPk = QByteArray::fromHex(testStr.toLatin1()); |
||||||
|
|
||||||
|
const QString echoStr = QStringLiteral("76518406F6A9F2217E8DC487CC783C25CC16A15EB36FF32E335A235342C48A39"); |
||||||
|
const QByteArray echoPk = QByteArray::fromHex(echoStr.toLatin1()); |
||||||
|
|
||||||
|
START_TEST(toStringTest) |
||||||
|
{ |
||||||
|
ToxPk pk(testPk); |
||||||
|
ck_assert(testStr == pk.toString()); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(equalTest) |
||||||
|
{ |
||||||
|
ToxPk pk1(testPk); |
||||||
|
ToxPk pk2(testPk); |
||||||
|
ToxPk pk3(echoPk); |
||||||
|
ck_assert(pk1 == pk2); |
||||||
|
ck_assert(pk1 != pk3); |
||||||
|
ck_assert(!(pk1 != pk2)); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(clearTest) |
||||||
|
{ |
||||||
|
ToxPk empty; |
||||||
|
ToxPk pk(testPk); |
||||||
|
ck_assert(empty.isEmpty()); |
||||||
|
ck_assert(!pk.isEmpty()); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(copyTest) |
||||||
|
{ |
||||||
|
ToxPk src(testPk); |
||||||
|
ToxPk copy = src; |
||||||
|
ck_assert(copy == src); |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
START_TEST(publicKeyTest) |
||||||
|
{ |
||||||
|
ToxPk pk(testPk); |
||||||
|
ck_assert(testPk == pk.getKey()); |
||||||
|
for (int i = 0; i < 32; i++) { |
||||||
|
ck_assert(testPkArray[i] == pk.getBytes()[i]); |
||||||
|
} |
||||||
|
} |
||||||
|
END_TEST |
||||||
|
|
||||||
|
static Suite *toxPkSuite(void) |
||||||
|
{ |
||||||
|
Suite *s = suite_create("ToxPk"); |
||||||
|
|
||||||
|
DEFTESTCASE(toString); |
||||||
|
DEFTESTCASE(equal); |
||||||
|
DEFTESTCASE(clear); |
||||||
|
DEFTESTCASE(publicKey); |
||||||
|
DEFTESTCASE(copy); |
||||||
|
|
||||||
|
return s; |
||||||
|
} |
||||||
|
|
||||||
|
int main(int argc, char *argv[]) |
||||||
|
{ |
||||||
|
srand((unsigned int) time(NULL)); |
||||||
|
|
||||||
|
Suite *toxPk = toxPkSuite(); |
||||||
|
SRunner *runner = srunner_create(toxPk); |
||||||
|
srunner_run_all(runner, CK_NORMAL); |
||||||
|
|
||||||
|
int res = srunner_ntests_failed(runner); |
||||||
|
srunner_free(runner); |
||||||
|
|
||||||
|
return res; |
||||||
|
} |
@ -0,0 +1,13 @@ |
|||||||
|
#ifndef _TEST_UTILS_H_ |
||||||
|
#define _TEST_UTILS_H_ |
||||||
|
|
||||||
|
#define DEFTESTCASE(NAME) \ |
||||||
|
TCase *tc_##NAME = tcase_create(#NAME); \ |
||||||
|
tcase_add_test(tc_##NAME, NAME##Test); \ |
||||||
|
suite_add_tcase(s, tc_##NAME); |
||||||
|
|
||||||
|
#define DEFTESTCASE_SLOW(NAME, TIMEOUT) \ |
||||||
|
DEFTESTCASE(NAME) \ |
||||||
|
tcase_set_timeout(tc_##NAME, TIMEOUT); |
||||||
|
|
||||||
|
#endif // _TEST_UTILS_H_
|
Loading…
Reference in new issue