diff --git a/hist/hist/src/TH2Poly.cxx b/hist/hist/src/TH2Poly.cxx index 848a9f2feadc3..90a21124d21a5 100644 --- a/hist/hist/src/TH2Poly.cxx +++ b/hist/hist/src/TH2Poly.cxx @@ -865,7 +865,7 @@ Double_t TH2Poly::GetBinError(Int_t bin) const /// it should be the size of the bin list Int_t TH2Poly::GetNumberOfBins() const { Int_t nbins = fNcells-kNOverflow; - if (nbins != fBins->GetSize()) + if (nbins != (fBins ? fBins->GetSize() : 0)) Fatal("GetNumberOfBins","Object has an invalid number of bins"); return nbins; } diff --git a/hist/hist/test/CMakeLists.txt b/hist/hist/test/CMakeLists.txt index dbf9e56e16d35..e7caebe36ef73 100644 --- a/hist/hist/test/CMakeLists.txt +++ b/hist/hist/test/CMakeLists.txt @@ -7,6 +7,7 @@ ROOT_ADD_GTEST(testTProfile2Poly test_tprofile2poly.cxx LIBRARIES Hist Matrix MathCore RIO) ROOT_ADD_GTEST(testTH2PolyBinError test_TH2Poly_BinError.cxx LIBRARIES Hist Matrix MathCore RIO) ROOT_ADD_GTEST(testTH2PolyAdd test_TH2Poly_Add.cxx LIBRARIES Hist Matrix MathCore RIO) +ROOT_ADD_GTEST(testTH2PolyGetNumberOfBins test_TH2Poly_GetNumberOfBins.cxx LIBRARIES Hist Matrix MathCore RIO) ROOT_ADD_GTEST(testTHn THn.cxx LIBRARIES Hist Matrix MathCore RIO) ROOT_ADD_GTEST(testTH1 test_TH1.cxx LIBRARIES Hist) ROOT_ADD_GTEST(testTHStack test_THStack.cxx LIBRARIES Hist) diff --git a/hist/hist/test/test_TH2Poly_GetNumberOfBins.cxx b/hist/hist/test/test_TH2Poly_GetNumberOfBins.cxx new file mode 100644 index 0000000000000..b9998c7489b94 --- /dev/null +++ b/hist/hist/test/test_TH2Poly_GetNumberOfBins.cxx @@ -0,0 +1,14 @@ +// test TH2Poly GetNumberOfBins + +#include "gtest/gtest.h" + +#include "TH2Poly.h" + +TEST(TH2Poly, GetNumberOfBins) +{ + TH2Poly h2p; + EXPECT_EQ(0, h2p.GetNumberOfBins()); + + h2p.AddBin(1, 1, 1, 1); + EXPECT_EQ(1, h2p.GetNumberOfBins()); +}