Improve plotting
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
#include <catch2/catch.hpp>
|
||||
#include "../common/StatusVector.h"
|
||||
|
||||
TEST_CASE("StatusVector_GetStatus","[StatusVector]") {
|
||||
TEST_CASE("StatusVector_GetMeanPerBin","[StatusVector]") {
|
||||
StatusVector<uint64_t> status_vector;
|
||||
status_vector.AddElement(5, 11);
|
||||
|
||||
@@ -11,14 +11,14 @@ TEST_CASE("StatusVector_GetStatus","[StatusVector]") {
|
||||
status_vector.AddElement(2543, 44);
|
||||
status_vector.AddElement(2600, 41);
|
||||
|
||||
auto status_out = status_vector.GetStatus(1000);
|
||||
auto status_out = status_vector.GetMeanPerBin(1000);
|
||||
|
||||
REQUIRE(status_out.size() == 3);
|
||||
REQUIRE(status_out[0] == 11);
|
||||
REQUIRE(status_out[1] == 0);
|
||||
REQUIRE(status_out[2] == Approx((45 + 44 + 41) / 3.0));
|
||||
|
||||
status_out = status_vector.GetStatus(500);
|
||||
status_out = status_vector.GetMeanPerBin(500);
|
||||
|
||||
REQUIRE(status_out.size() == 6);
|
||||
REQUIRE(status_out[0] == 11);
|
||||
@@ -28,7 +28,7 @@ TEST_CASE("StatusVector_GetStatus","[StatusVector]") {
|
||||
REQUIRE(status_out[4] == Approx(45));
|
||||
REQUIRE(status_out[5] == Approx((44+41)/2.0));
|
||||
|
||||
status_out = status_vector.GetStatus(1);
|
||||
status_out = status_vector.GetMeanPerBin(1);
|
||||
REQUIRE(status_out.size() == 2601);
|
||||
REQUIRE(status_out[5] == 11);
|
||||
REQUIRE(status_out[1900] == 0);
|
||||
@@ -37,6 +37,74 @@ TEST_CASE("StatusVector_GetStatus","[StatusVector]") {
|
||||
REQUIRE(status_out[2600] == 41);
|
||||
}
|
||||
|
||||
TEST_CASE("StatusVector_GetMaxPerBin","[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);
|
||||
|
||||
REQUIRE(status_out.size() == 3);
|
||||
REQUIRE(status_out[0] == 11);
|
||||
REQUIRE(status_out[1] == 0);
|
||||
REQUIRE(status_out[2] == 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);
|
||||
|
||||
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);
|
||||
}
|
||||
|
||||
TEST_CASE("StatusVector_ExportArray","[StatusVector]") {
|
||||
StatusVector<uint64_t> status_vector;
|
||||
status_vector.AddElement(5, 11);
|
||||
|
||||
status_vector.AddElement(7, 45);
|
||||
status_vector.AddElement(8, 44);
|
||||
status_vector.AddElement(10, 41);
|
||||
|
||||
auto status_out = status_vector.ExportArray(1);
|
||||
REQUIRE(status_out.size() == 11);
|
||||
CHECK(status_out[0] == 1);
|
||||
CHECK(status_out[5] == 11);
|
||||
CHECK(status_out[7] == 45);
|
||||
CHECK(status_out[8] == 44);
|
||||
CHECK(status_out[9] == 1);
|
||||
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);
|
||||
@@ -45,22 +113,40 @@ TEST_CASE("StatusVector_Plot","[StatusVector]") {
|
||||
status_vector.AddElement(2543, 44);
|
||||
status_vector.AddElement(2600, 41);
|
||||
|
||||
Plot plot_out = status_vector.GetPlot(1000);
|
||||
REQUIRE(plot_out.x.size() == 3);
|
||||
REQUIRE(plot_out.y.size() == 3);
|
||||
REQUIRE(plot_out.x[0] == Approx(500));
|
||||
REQUIRE(plot_out.y[0] == Approx(11));
|
||||
REQUIRE(plot_out.x[2] == Approx(2500));
|
||||
REQUIRE(plot_out.y[2] == Approx((45 + 44 + 41) / 3.0));
|
||||
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] == Approx(500));
|
||||
REQUIRE(plot_out[0].y[0] == Approx(11));
|
||||
REQUIRE(plot_out[0].x[2] == Approx(2500));
|
||||
REQUIRE(plot_out[0].y[2] == Approx((45 + 44 + 41) / 3.0));
|
||||
}
|
||||
|
||||
TEST_CASE("StatusVector_Plot_OneBin","[StatusVector]") {
|
||||
StatusVector<uint64_t> status_vector;
|
||||
status_vector.AddElement(5, 11);
|
||||
|
||||
auto plot_out = status_vector.GetPlot(1000);
|
||||
REQUIRE(plot_out.x.size() == 1);
|
||||
REQUIRE(plot_out.y.size() == 1);
|
||||
REQUIRE(plot_out.x[0] == Approx(2.5));
|
||||
REQUIRE(plot_out.y[0] == Approx(11));
|
||||
}
|
||||
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] == Approx(2.5));
|
||||
REQUIRE(plot_out[0].y[0] == Approx(11));
|
||||
}
|
||||
|
||||
|
||||
TEST_CASE("StatusVector_Plot_NoBinning","[StatusVector]") {
|
||||
StatusVector<uint64_t> status_vector;
|
||||
status_vector.AddElement(5, 11);
|
||||
|
||||
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] == Approx(0));
|
||||
REQUIRE(plot_out[0].y[0] == Approx(0));
|
||||
|
||||
REQUIRE(plot_out[0].x[5] == Approx(5));
|
||||
REQUIRE(plot_out[0].y[5] == Approx(11));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user