version 1.0.0-rc.26

This commit is contained in:
2024-11-26 16:04:38 +01:00
parent 9ab5206c12
commit b3e745a8dd
203 changed files with 2969 additions and 1509 deletions

View File

@@ -12,33 +12,44 @@ TEST_CASE("StatusVector_GetMeanPerBin","[StatusVector]") {
status_vector.AddElement(2543, 44);
status_vector.AddElement(2600, 41);
auto status_out = status_vector.GetMeanPerBin(1000);
MultiLinePlotStruct plot;
REQUIRE(status_out.size() == 3);
REQUIRE(status_out[0] == 11);
REQUIRE(status_out[1] == 0);
REQUIRE(status_out[2] == Catch::Approx((45 + 44 + 41) / 3.0));
plot = status_vector.GetMeanPerBin(1000);
status_out = status_vector.GetMeanPerBin(500);
REQUIRE(plot.x.size() == 2);
REQUIRE(plot.y.size() == 2);
CHECK(plot.x[0] == Catch::Approx(500));
CHECK(plot.x[1] == Catch::Approx(2500));
CHECK(plot.y[0] == Catch::Approx(11));
CHECK(plot.y[1] == Catch::Approx((45 + 44 + 41) / 3.0));
REQUIRE(status_out.size() == 6);
REQUIRE(status_out[0] == 11);
REQUIRE(status_out[1] == 0);
REQUIRE(status_out[2] == 0);
REQUIRE(status_out[3] == 0);
REQUIRE(status_out[4] == Catch::Approx(45));
REQUIRE(status_out[5] == Catch::Approx((44+41)/2.0));
plot = status_vector.GetMeanPerBin(500);
status_out = status_vector.GetMeanPerBin(1);
REQUIRE(status_out.size() == 2601);
REQUIRE(status_out[5] == 11);
REQUIRE(status_out[1900] == 0);
REQUIRE(status_out[2000] == 45);
REQUIRE(status_out[2543] == 44);
REQUIRE(status_out[2600] == 41);
REQUIRE(plot.x.size() == 3);
REQUIRE(plot.y.size() == 3);
CHECK(plot.x[0] == Catch::Approx(250));
CHECK(plot.x[1] == Catch::Approx(2250));
CHECK(plot.x[2] == Catch::Approx(2750));
CHECK(plot.y[0] == Catch::Approx(11));
CHECK(plot.y[1] == Catch::Approx(45));
CHECK(plot.y[2] == Catch::Approx((44 + 41) / 2.0));
plot = status_vector.GetMeanPerBin(1);
REQUIRE(plot.x.size() == 4);
REQUIRE(plot.y.size() == 4);
CHECK(plot.x[0] == Catch::Approx(5));
CHECK(plot.x[1] == Catch::Approx(2000));
CHECK(plot.x[2] == Catch::Approx(2543));
CHECK(plot.x[3] == Catch::Approx(2600));
CHECK(plot.y[0] == Catch::Approx(11));
CHECK(plot.y[1] == Catch::Approx(45));
CHECK(plot.y[2] == Catch::Approx(44));
CHECK(plot.y[3] == Catch::Approx(41));
}
TEST_CASE("StatusVector_Mean","[StatusVector]") {
StatusVector<float> status_vector;
status_vector.AddElement(5, 0.045f);
@@ -68,28 +79,32 @@ TEST_CASE("StatusVector_GetMaxPerBin","[StatusVector]") {
auto status_out = status_vector.GetMaxPerBin(1000);
REQUIRE(status_out.size() == 3);
REQUIRE(status_out[0] == 11);
REQUIRE(status_out[1] == 0);
REQUIRE(status_out[2] == 45);
REQUIRE(status_out.x.size() == 2);
REQUIRE(status_out.y.size() == 2);
REQUIRE(status_out.x[0] == 500);
REQUIRE(status_out.x[1] == 2500);
REQUIRE(status_out.y[0] == 11);
REQUIRE(status_out.y[1] == 45);
status_out = status_vector.GetMaxPerBin(500);
REQUIRE(status_out.size() == 6);
REQUIRE(status_out[0] == 11);
REQUIRE(status_out[1] == 0);
REQUIRE(status_out[2] == 0);
REQUIRE(status_out[3] == 0);
REQUIRE(status_out[4] == 45);
REQUIRE(status_out[5] == 44);
REQUIRE(status_out.x.size() == 3);
REQUIRE(status_out.y.size() == 3);
REQUIRE(status_out.y[0] == 11);
REQUIRE(status_out.y[1] == 45);
REQUIRE(status_out.y[2] == 44);
status_out = status_vector.GetMaxPerBin(1);
REQUIRE(status_out.size() == 2601);
REQUIRE(status_out[5] == 11);
REQUIRE(status_out[1900] == 0);
REQUIRE(status_out[2000] == 45);
REQUIRE(status_out[2543] == 44);
REQUIRE(status_out[2600] == 41);
REQUIRE(status_out.x.size() == 4);
REQUIRE(status_out.y.size() == 4);
REQUIRE(status_out.x[0] == 5);
REQUIRE(status_out.y[0] == 11);
REQUIRE(status_out.x[1] == 2000);
REQUIRE(status_out.y[1] == 45);
REQUIRE(status_out.x[2] == 2543);
REQUIRE(status_out.y[2] == 44);
REQUIRE(status_out.x[3] == 2600);
REQUIRE(status_out.y[3] == 41);
}
TEST_CASE("StatusVector_ExportArray","[StatusVector]") {
@@ -110,50 +125,19 @@ TEST_CASE("StatusVector_ExportArray","[StatusVector]") {
CHECK(status_out[10] == 41);
}
TEST_CASE("StatusVector_GetMaxPerBin_Default","[StatusVector]") {
StatusVector<uint64_t> status_vector;
status_vector.AddElement(5, 11);
status_vector.AddElement(2000, 45);
status_vector.AddElement(2543, 44);
status_vector.AddElement(2600, 41);
auto status_out = status_vector.GetMaxPerBin(1000, 25);
REQUIRE(status_out.size() == 3);
REQUIRE(status_out[0] == 25);
REQUIRE(status_out[1] == 25);
REQUIRE(status_out[2] == 45);
}
TEST_CASE("StatusVector_Plot","[StatusVector]") {
StatusVector<uint64_t> status_vector;
status_vector.AddElement(5, 11);
status_vector.AddElement(2000, 45);
status_vector.AddElement(2543, 44);
status_vector.AddElement(2600, 41);
auto plot_out = status_vector.GetMeanPlot(1000);
REQUIRE(plot_out.size() == 1);
REQUIRE(plot_out[0].x.size() == 3);
REQUIRE(plot_out[0].y.size() == 3);
REQUIRE(plot_out[0].x[0] == Catch::Approx(500));
REQUIRE(plot_out[0].y[0] == Catch::Approx(11));
REQUIRE(plot_out[0].x[2] == Catch::Approx(2500));
REQUIRE(plot_out[0].y[2] == Catch::Approx((45 + 44 + 41) / 3.0));
}
TEST_CASE("StatusVector_Plot_OneBin","[StatusVector]") {
StatusVector<uint64_t> status_vector;
status_vector.AddElement(5, 11);
status_vector.AddElement(7, 12);
auto plot_out = status_vector.GetMeanPlot(1000);
REQUIRE(plot_out.size() == 1);
REQUIRE(plot_out[0].x.size() == 1);
REQUIRE(plot_out[0].y.size() == 1);
REQUIRE(plot_out[0].x[0] == Catch::Approx(2.5));
REQUIRE(plot_out[0].x.size() == 2);
REQUIRE(plot_out[0].y.size() == 2);
REQUIRE(plot_out[0].x[0] == Catch::Approx(5));
REQUIRE(plot_out[0].y[0] == Catch::Approx(11));
REQUIRE(plot_out[0].x[1] == Catch::Approx(7));
REQUIRE(plot_out[0].y[1] == Catch::Approx(12));
}
TEST_CASE("StatusVector_Plot_NoBinning","[StatusVector]") {
@@ -162,13 +146,10 @@ TEST_CASE("StatusVector_Plot_NoBinning","[StatusVector]") {
auto plot_out = status_vector.GetMaxPlot(1);
REQUIRE(plot_out.size() == 1);
REQUIRE(plot_out[0].x.size() == 6);
REQUIRE(plot_out[0].y.size() == 6);
REQUIRE(plot_out[0].x[0] == Catch::Approx(0));
REQUIRE(plot_out[0].y[0] == Catch::Approx(0));
REQUIRE(plot_out[0].x[5] == Catch::Approx(5));
REQUIRE(plot_out[0].y[5] == Catch::Approx(11));
REQUIRE(plot_out[0].x.size() == 1);
REQUIRE(plot_out[0].y.size() == 1);
REQUIRE(plot_out[0].x[0] == Catch::Approx(5));
REQUIRE(plot_out[0].y[0] == Catch::Approx(11));
}
TEST_CASE("StatusMultiVector","[StatusMultiVector]") {