Improve plotting
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
// Copyright (2019-2024) Paul Scherrer Institute
|
||||
|
||||
#include <catch2/catch.hpp>
|
||||
#include "../receiver/LossyFilter.h"
|
||||
|
||||
TEST_CASE("LossyFilterDisabled","[LossyFilter]") {
|
||||
LossyFilter filter(false, 0.0);
|
||||
|
||||
DataMessage message{
|
||||
.number = 123,
|
||||
.indexing_result = 0
|
||||
};
|
||||
|
||||
filter.ApplyFilter(message);
|
||||
REQUIRE(message.number == 123);
|
||||
REQUIRE(message.indexing_result == 0);
|
||||
|
||||
filter.ApplyFilter(message);
|
||||
REQUIRE(message.number == 123);
|
||||
REQUIRE(message.indexing_result == 0);
|
||||
|
||||
filter.ApplyFilter(message);
|
||||
REQUIRE(message.number == 123);
|
||||
REQUIRE(message.indexing_result == 0);
|
||||
}
|
||||
|
||||
TEST_CASE("LossyFilterEnable","[LossyFilter]") {
|
||||
LossyFilter filter(true, 0.0);
|
||||
|
||||
DataMessage message_1{
|
||||
.number = 123,
|
||||
.indexing_result = 1
|
||||
};
|
||||
|
||||
DataMessage message_2{
|
||||
.number = 124,
|
||||
.indexing_result = 0
|
||||
};
|
||||
|
||||
filter.ApplyFilter(message_1);
|
||||
REQUIRE(message_1.number == 0);
|
||||
|
||||
filter.ApplyFilter(message_2);
|
||||
REQUIRE(message_2.number == -1);
|
||||
|
||||
filter.ApplyFilter(message_1);
|
||||
REQUIRE(message_1.number == 1);
|
||||
|
||||
filter.ApplyFilter(message_1);
|
||||
REQUIRE(message_1.number == 2);
|
||||
}
|
||||
|
||||
TEST_CASE("LossyFilterEnable_Prob","[LossyFilter]") {
|
||||
LossyFilter filter(true, 0.5);
|
||||
|
||||
int64_t accepted = 0;
|
||||
int64_t count = 0;
|
||||
for (int i = 0; i < 1000000; i++) {
|
||||
DataMessage message{
|
||||
.number = 124,
|
||||
.indexing_result = 0
|
||||
};
|
||||
filter.ApplyFilter(message);
|
||||
count++;
|
||||
if (message.number < 0)
|
||||
accepted++;
|
||||
}
|
||||
double frac = static_cast<double>(accepted) / static_cast<double>(count);
|
||||
REQUIRE(frac < 0.51);
|
||||
REQUIRE(frac > 0.49);
|
||||
}
|
||||
Reference in New Issue
Block a user