Skip to content
Snippets Groups Projects
Commit 45434452 authored by Wuttke, Joachim's avatar Wuttke, Joachim
Browse files

rm remaining Histogram1DTest.cpp, trivialities only

parent 688c0e00
No related branches found
No related tags found
1 merge request!929Simplify API in Powerfield and Histogram context; rm PowerfieldIterator
#include "Device/Histo/Histogram1D.h"
#include "Base/Axis/FixedBinAxis.h"
#include "Base/Axis/VariableBinAxis.h"
#include "Device/Data/Powerfield.h"
#include "Tests/GTestWrapper/google_test.h"
#include <memory>
class Histogram1DTest : public ::testing::Test {
public:
Histogram1D hist1{FixedBinAxis("x", 5, 0.0, 5.0)};
};
TEST_F(Histogram1DTest, FixedBinConstructor)
{
EXPECT_EQ(size_t(1), hist1.rank());
EXPECT_EQ(size_t(5), hist1.getTotalNumberOfBins());
EXPECT_EQ(0.0, hist1.xMin());
EXPECT_EQ(5.0, hist1.xMax());
EXPECT_THROW(hist1.yAxis(), std::runtime_error);
for (size_t index = 0; index < hist1.getTotalNumberOfBins(); ++index) {
EXPECT_EQ(index, hist1.getGlobalBin(index));
EXPECT_EQ(index, hist1.xAxisIndex(index));
}
}
TEST_F(Histogram1DTest, FixedBinDefaultContent)
{
// bin centers
std::vector<double> bin_centers = {0.5, 1.5, 2.5, 3.5, 4.5};
std::vector<double> centers = hist1.binCenters();
for (size_t index = 0; index < bin_centers.size(); ++index) {
EXPECT_EQ(centers[index], bin_centers[index]);
EXPECT_EQ(hist1.xAxisValue(index), bin_centers[index]);
EXPECT_EQ(hist1.xAxis().binCenter(index), bin_centers[index]);
}
// default bin values
std::vector<double> values = hist1.binValues();
for (size_t index = 0; index < bin_centers.size(); ++index) {
EXPECT_EQ(hist1.binContent(index), 0.0);
EXPECT_EQ(values[index], 0.0);
}
// default bin errors
std::vector<double> errors = hist1.binErrors();
for (size_t index = 0; index < bin_centers.size(); ++index) {
EXPECT_EQ(hist1.binError(index), 0.0);
EXPECT_EQ(errors[index], 0.0);
}
}
TEST_F(Histogram1DTest, CreateHistogram)
{
Powerfield<double> data(FixedBinAxis("x-axis", 10, 0.0, 10.0));
for (size_t i = 0; i < data.allocatedSize(); ++i)
data[i] = double(i);
std::unique_ptr<IHistogram> hist(IHistogram::createHistogram(data));
EXPECT_EQ(size_t(1), hist->rank());
EXPECT_EQ(data.allocatedSize(), hist->getNbinsX());
EXPECT_EQ(data.axis(0).min(), hist->xMin());
EXPECT_EQ(data.axis(0).max(), hist->xMax());
for (size_t i = 0; i < hist->getTotalNumberOfBins(); ++i) {
EXPECT_EQ(data[i], hist->binContent(i));
EXPECT_EQ(data[i], hist->binAverage(i));
EXPECT_EQ(0.0, hist->binError(i));
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment