Skip to content

Commit 32cd3f0

Browse files
author
Paolo Fittipaldi
committed
Renamed tests and changed cached parameters from references to pointers to facilitate testing.
1 parent 52ded0d commit 32cd3f0

3 files changed

Lines changed: 24 additions & 22 deletions

File tree

quisp/channels/FreeSpaceChannel.cc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,12 @@
1111
using namespace omnetpp;
1212
namespace channels {
1313

14-
FreeSpaceChannel::FreeSpaceChannel() : parameter_distance(par("distance")), parameter_delay(par("delay")){};
14+
FreeSpaceChannel::FreeSpaceChannel(){};
1515

1616
void FreeSpaceChannel::initialize() {
1717
cDatarateChannel::initialize();
18+
parameter_distance = &par("distance");
19+
parameter_delay = &par("delay");
1820
speed_of_light_in_freespace = par("speed_of_light_in_freespace").doubleValue();
1921
const char *filename = par("distance_csv").stringValue();
2022
csv_varies_delay = par("csv_varies_delay").boolValue();
@@ -60,7 +62,7 @@ SimTime FreeSpaceChannel::getNextCheckTime() {
6062
}
6163

6264
void FreeSpaceChannel::recalculateChannelParameters() {
63-
parameter_distance.setDoubleValue(dist_parser->getPropertyAtTime(simTime().dbl()));
64-
if (csv_varies_delay) parameter_delay.setDoubleValue(parameter_distance.doubleValue() / speed_of_light_in_freespace);
65+
parameter_distance->setDoubleValue(dist_parser->getPropertyAtTime(simTime().dbl()));
66+
if (csv_varies_delay) parameter_delay->setDoubleValue(parameter_distance->doubleValue() / speed_of_light_in_freespace);
6567
}
6668
} // namespace channels

quisp/channels/FreeSpaceChannel.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ class FreeSpaceChannel : public cDatarateChannel {
4040
private:
4141
OrbitalParameters op;
4242
OrbitalDataParser *dist_parser;
43-
cPar &parameter_distance;
44-
cPar &parameter_delay;
43+
cPar *parameter_distance;
44+
cPar *parameter_delay;
4545
bool csv_varies_delay = true;
4646
double speed_of_light_in_freespace = 0;
4747

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
#include <test_utils/ChannelType.h>
44
#include <test_utils/TestUtils.h>
55

6-
#include "FSChannel.h"
6+
#include "FreeSpaceChannel.h"
77

88
#include <fstream>
99

@@ -15,7 +15,7 @@ using namespace quisp::messages;
1515
using namespace quisp::modules::SharedResource;
1616
using namespace omnetpp;
1717
using namespace quisp_test::utils;
18-
using OriginalFSChannel = channels::FSChannel;
18+
using OriginalFreeSpaceChannel = channels::FreeSpaceChannel;
1919
using quisp_test::channel_type::TestChannelType;
2020

2121
namespace {
@@ -27,18 +27,18 @@ class MockNode : public quisp_test::TestQNode {
2727
bool is_qnode;
2828
};
2929

30-
class FSChannel : public OriginalFSChannel {
30+
class FreeSpaceChannel : public OriginalFreeSpaceChannel {
3131
public:
32-
FSChannel() : OriginalFSChannel::FSChannel() {
32+
FreeSpaceChannel() : OriginalFreeSpaceChannel::FreeSpaceChannel() {
3333
setParDouble(this, "distance", 0);
3434
setParDouble(this, "delay", 0);
3535
setParDouble(this, "datarate", 0);
3636
setParDouble(this, "ber", 0);
3737
setParDouble(this, "per", 0);
3838
setParDouble(this, "orbital_period", 86400);
39-
setParDouble(this, "speed_of_light_in_FS", 299792458);
39+
setParDouble(this, "speed_of_light_in_freespace", 299792458);
4040
setParBool(this, "disabled", false);
41-
setParBool(this, "CSV_varies_delay", true);
41+
setParBool(this, "csv_varies_delay", true);
4242

4343
setComponentType(new TestChannelType("test channel"));
4444
}
@@ -80,7 +80,7 @@ class TestSimpleModule : public cSimpleModule {
8080
}
8181
};
8282

83-
class FSChannelTest : public ::testing::Test {
83+
class FreeSpaceChannelTest : public ::testing::Test {
8484
protected:
8585
void SetUp() {
8686
generateTestCSV("channels/test_dist_csv.csv");
@@ -95,11 +95,11 @@ class FSChannelTest : public ::testing::Test {
9595
sat_gate = sat_node->addGate("sat_gate", cGate::INOUT);
9696
ground_gate = ground_node->addGate("ground_gate", cGate::INOUT);
9797

98-
downlink_chl = new FSChannel();
98+
downlink_chl = new FreeSpaceChannel();
9999

100100
sim->registerComponent(downlink_chl);
101101

102-
utils::setParStr(downlink_chl, "distance_CSV", "channels/test_dist_csv.csv");
102+
utils::setParStr(downlink_chl, "distance_csv", "channels/test_dist_csv.csv");
103103

104104
sat_node->gate("sat_gate$o")->connectTo(ground_node->gate("ground_gate$i"), downlink_chl, true);
105105

@@ -130,31 +130,31 @@ class FSChannelTest : public ::testing::Test {
130130
TestSimpleModule* sat_simplemodule;
131131
MockNode* sat_node;
132132
MockNode* ground_node;
133-
FSChannel* downlink_chl;
133+
FreeSpaceChannel* downlink_chl;
134134
cGate* sat_gate;
135135
cGate* ground_gate;
136136
};
137137

138-
TEST_F(FSChannelTest, messageWhenNonVisible) {
138+
TEST_F(FreeSpaceChannelTest, messageWhenNonVisible) {
139139
cMessage* msg = new cMessage();
140140
cChannel::Result res = downlink_chl->public_processMessage(msg);
141141
sim->run();
142142
ASSERT_EQ(res.discard, true);
143143
}
144144

145-
TEST_F(FSChannelTest, messageWhenVisible) {
145+
TEST_F(FreeSpaceChannelTest, messageWhenVisible) {
146146
auto timeout = new cMessage;
147147
sat_simplemodule->scheduleAfter(200, timeout);
148148
sim->executeNextEvent();
149149
auto msg = new cMessage;
150150
cChannel::Result res = downlink_chl->public_processMessage(msg);
151151
sim->run();
152152
ASSERT_EQ(res.discard, false);
153-
simtime_t delay = downlink_chl->par("distance").doubleValue() / downlink_chl->par("speed_of_light_in_FS").doubleValue();
153+
simtime_t delay = downlink_chl->par("distance").doubleValue() / downlink_chl->par("speed_of_light_in_freespace").doubleValue();
154154
ASSERT_EQ(res.delay.raw(), delay.raw());
155155
}
156156

157-
TEST_F(FSChannelTest, messageAfterVisible) {
157+
TEST_F(FreeSpaceChannelTest, messageAfterVisible) {
158158
auto timeout = new cMessage;
159159
sat_simplemodule->scheduleAfter(600, timeout);
160160
sim->executeNextEvent();
@@ -164,18 +164,18 @@ TEST_F(FSChannelTest, messageAfterVisible) {
164164
ASSERT_EQ(res.discard, true);
165165
}
166166

167-
TEST_F(FSChannelTest, messageFollowingDayVisible) {
167+
TEST_F(FreeSpaceChannelTest, messageFollowingDayVisible) {
168168
auto timeout = new cMessage;
169169
sat_simplemodule->scheduleAfter(86700, timeout);
170170
sim->executeNextEvent();
171171
auto msg = new cMessage;
172172
cChannel::Result res = downlink_chl->public_processMessage(msg);
173173
sim->run();
174174
ASSERT_EQ(res.discard, false);
175-
simtime_t delay = downlink_chl->par("distance").doubleValue() / downlink_chl->par("speed_of_light_in_FS").doubleValue();
175+
simtime_t delay = downlink_chl->par("distance").doubleValue() / downlink_chl->par("speed_of_light_in_freespace").doubleValue();
176176
ASSERT_EQ(res.delay.raw(), delay.raw()); // Comparing the raw int64_t values doesn't lose precision, unlike .dbl().
177177
}
178-
TEST_F(FSChannelTest, messageFollowingDayNonVisible) {
178+
TEST_F(FreeSpaceChannelTest, messageFollowingDayNonVisible) {
179179
auto timeout = new cMessage;
180180
sat_simplemodule->scheduleAfter(86801, timeout);
181181
sim->executeNextEvent();

0 commit comments

Comments
 (0)