From 674f90bfcfd3dbc0f0b5ee2480f7574eff97cff8 Mon Sep 17 00:00:00 2001 From: Raphael Coeffic Date: Fri, 23 Aug 2019 09:49:07 +0200 Subject: [PATCH] added X10 tests --- companion/src/tests/conversions.cpp | 47 +++++++++++++++++++++++++++-- 1 file changed, 45 insertions(+), 2 deletions(-) diff --git a/companion/src/tests/conversions.cpp b/companion/src/tests/conversions.cpp index 190a90f19..a6e7e57aa 100644 --- a/companion/src/tests/conversions.cpp +++ b/companion/src/tests/conversions.cpp @@ -1,13 +1,14 @@ #include "gtests.h" #include "location.h" #include "storage/storage.h" +#include "firmwares/opentx/opentxinterface.h" TEST(Conversions, ConversionX9DPFrom22) { RadioData radioData; Storage store = Storage(RADIO_TESTS_PATH "/eeprom_22_x9d+.bin"); - EXPECT_EQ(true, store.load(radioData)); + ASSERT_EQ(true, store.load(radioData)); const ModelData& model = radioData.models[0]; EXPECT_STREQ("Test", model.name); @@ -34,7 +35,7 @@ TEST(Conversions, ConversionX7From22) RadioData radioData; Storage store = Storage(RADIO_TESTS_PATH "/eeprom_22_x7.bin"); - EXPECT_EQ(true, store.load(radioData)); + ASSERT_EQ(true, store.load(radioData)); const ModelData& model = radioData.models[0]; EXPECT_STREQ("Test", model.name); @@ -68,3 +69,45 @@ TEST(Conversions, ConversionX7From22) EXPECT_EQ(RawSource(SOURCE_TYPE_PPM,0), screen.body.lines[0].source[0]); EXPECT_EQ(RawSource(SOURCE_TYPE_SPECIAL,4), screen.body.lines[0].source[1]); } + + +bool loadFile(QByteArray & filedata, const QString & filename) +{ + QFile file(filename); + if (!file.open(QFile::ReadOnly)) { + qDebug() << QString("Error opening file %1:\n%2.").arg(filename).arg(file.errorString()); + return false; + } + filedata = file.readAll(); + qDebug() << "File" << filename << "read, size:" << filedata.size(); + return true; +} + +TEST(Conversions, ConversionHorusFrom22) +{ + QByteArray modelByteArray; + ASSERT_EQ(true, loadFile(modelByteArray, RADIO_TESTS_PATH "/MODELS/model_22_horus.bin")); + + ModelData model; + ASSERT_NE(nullptr, loadModelFromByteArray(model, modelByteArray)); + + EXPECT_STREQ("Test", model.name); + EXPECT_EQ(80, model.mixData[0].weight); + EXPECT_EQ(RawSource(SOURCE_TYPE_PPM,0), model.mixData[4].srcRaw); + EXPECT_EQ(RawSwitch(SWITCH_TYPE_TELEMETRY,1), model.mixData[4].swtch); + EXPECT_EQ(900, model.limitData[0].max); // -100 + EXPECT_EQ(80, model.expoData[0].weight); + EXPECT_EQ(LS_FN_VPOS, model.logicalSw[0].func); + EXPECT_EQ(RawSource(SOURCE_TYPE_PPM,0).toValue(), model.logicalSw[0].val1); + EXPECT_EQ(0, model.logicalSw[0].val2); + EXPECT_EQ(HELI_SWASH_TYPE_120X, model.swashRingData.type); + EXPECT_STREQ("Tes", model.flightModeData[0].name); + EXPECT_EQ(10, model.flightModeData[0].gvars[0]); + EXPECT_STREQ("Tes", model.gvarData[0].name); + EXPECT_EQ(PULSES_PXX_R9M, model.moduleData[1].protocol); + EXPECT_EQ(MODULE_SUBTYPE_R9M_EU, model.moduleData[1].subType); + EXPECT_STREQ("Rud", model.inputNames[0]); + EXPECT_STREQ("Tes", model.sensorData[0].label); + EXPECT_EQ(10, model.sensorData[0].id); + EXPECT_EQ(9, model.sensorData[0].instance); +}