From 94d46848095bc75627873708b1d0d5b2632b85db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20Mr=C3=A1zek?= Date: Thu, 3 Mar 2016 01:40:12 +0100 Subject: NOISSUE add basic unit tests for MojangVersionFormat reading/writing will have to make them pass now --- tests/tst_MojangVersionFormat.cpp | 54 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/tst_MojangVersionFormat.cpp (limited to 'tests/tst_MojangVersionFormat.cpp') diff --git a/tests/tst_MojangVersionFormat.cpp b/tests/tst_MojangVersionFormat.cpp new file mode 100644 index 00000000..760f65b1 --- /dev/null +++ b/tests/tst_MojangVersionFormat.cpp @@ -0,0 +1,54 @@ +#include +#include +#include "TestUtil.h" + +#include "minecraft/MojangVersionFormat.h" + +class MojangVersionFormatTest : public QObject +{ + Q_OBJECT + + static QJsonDocument readJson(const char *file) + { + auto path = QFINDTESTDATA(file); + QFile jsonFile(path); + jsonFile.open(QIODevice::ReadOnly); + auto data = jsonFile.readAll(); + jsonFile.close(); + return QJsonDocument::fromJson(data); + } + static void writeJson(const char *file, QJsonDocument doc) + { + QFile jsonFile(file); + jsonFile.open(QIODevice::WriteOnly | QIODevice::Text); + auto data = doc.toJson(QJsonDocument::Indented); + jsonFile.write(data); + jsonFile.close(); + } + +private +slots: + void test_Through_Simple() + { + + QJsonDocument doc = readJson("tests/data/1.9-simple.json"); + auto vfile = MojangVersionFormat::versionFileFromJson(doc, "1.9-simple.json"); + auto doc2 = MojangVersionFormat::profilePatchToJson(vfile); + writeJson("beast.json", doc2); + QCOMPARE(doc, doc2); + } + void test_Through() + { + + QJsonDocument doc = readJson("tests/data/1.9.json"); + auto vfile = MojangVersionFormat::versionFileFromJson(doc, "1.9.json"); + auto doc2 = MojangVersionFormat::profilePatchToJson(vfile); + QCOMPARE(doc, doc2); + } + +}; + +QTEST_GUILESS_MAIN(MojangVersionFormatTest) + +#include "tst_MojangVersionFormat.moc" + -- cgit v1.2.3