diff --git a/quisp/channels/FreeSpaceChannel_test.cc b/quisp/channels/FreeSpaceChannel_test.cc index c4088eb04..5368b9dff 100644 --- a/quisp/channels/FreeSpaceChannel_test.cc +++ b/quisp/channels/FreeSpaceChannel_test.cc @@ -30,13 +30,13 @@ class MockNode : public quisp_test::TestQNode { class FreeSpaceChannel : public OriginalFreeSpaceChannel { public: FreeSpaceChannel() : OriginalFreeSpaceChannel::FreeSpaceChannel() { - setParDouble(this, "distance", 0); + setParDouble(this, "distance", 0, "km"); setParDouble(this, "delay", 0); setParDouble(this, "datarate", 0); setParDouble(this, "ber", 0); setParDouble(this, "per", 0); setParDouble(this, "orbital_period", 86400); - setParDouble(this, "speed_of_light_in_freespace", 299792458); + setParDouble(this, "speed_of_light_in_freespace", 299792.458, "km"); setParBool(this, "disabled", false); setParBool(this, "csv_varies_delay", true); diff --git a/quisp/test_utils/TestUtilFunctions.cc b/quisp/test_utils/TestUtilFunctions.cc index 2c632062e..813793e65 100644 --- a/quisp/test_utils/TestUtilFunctions.cc +++ b/quisp/test_utils/TestUtilFunctions.cc @@ -34,6 +34,19 @@ void setParDouble(cModule *module, const char *name, const double val) { module->addPar(p); } +void setParDouble(cModule *module, const char *name, const double val, const char *unit) { + if (module->findPar(name) != -1) { + module->par(name) = val; + return; + } + cParImpl *p = new cDoubleParImpl(); + p->setName(name); + p->setDoubleValue(val); + p->setUnit(unit); + p->setIsMutable(true); + module->addPar(p); +} + void setParStr(cModule *module, const char *name, const char *val) { if (module->findPar(name) != -1) { module->par(name) = val; @@ -94,6 +107,19 @@ void setParDouble(cChannel *channel, const char *name, const double val) { channel->addPar(p); } +void setParDouble(cChannel *channel, const char *name, const double val, const char *unit) { + if (channel->findPar(name) != -1) { + channel->par(name) = val; + return; + } + cParImpl *p = new cDoubleParImpl(); + p->setName(name); + p->setDoubleValue(val); + p->setUnit(unit); + p->setIsMutable(true); + channel->addPar(p); +} + void setParStr(cChannel *channel, const char *name, const char *val) { if (channel->findPar(name) != -1) { channel->par(name) = val; diff --git a/quisp/test_utils/TestUtilFunctions.h b/quisp/test_utils/TestUtilFunctions.h index ff7ba92b2..67574cfb9 100644 --- a/quisp/test_utils/TestUtilFunctions.h +++ b/quisp/test_utils/TestUtilFunctions.h @@ -13,11 +13,13 @@ using quisp_test::simulation::TestSimulation; void setParInt(cModule *module, const char *name, const int val); void setParDouble(cModule *module, const char *name, const double val); +void setParDouble(cModule *module, const char *name, const double val, const char *unit); void setParBool(cModule *module, const char *name, const bool val); void setParStr(cModule *module, const char *name, const char *val); void setParObject(cModule *module, const char *name, omnetpp::cObject *val); void setParInt(cChannel *channel, const char *name, const int val); void setParDouble(cChannel *channel, const char *name, const double val); +void setParDouble(cChannel *channel, const char *name, const double val, const char *unit); void setParBool(cChannel *channel, const char *name, const bool val); void setParStr(cChannel *channel, const char *name, const char *val); void setParObject(cChannel *channel, const char *name, omnetpp::cObject *val);