From 19472b6a6f7992becc339e2cb9e3b35b1371b16d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Fr=C3=B6jdh?= Date: Wed, 3 Jun 2026 12:09:48 +0200 Subject: [PATCH] test for filling with NDArray --- src/hist/PixelHistogramImpl.test.cpp | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/hist/PixelHistogramImpl.test.cpp b/src/hist/PixelHistogramImpl.test.cpp index dd53233..52a3e7e 100644 --- a/src/hist/PixelHistogramImpl.test.cpp +++ b/src/hist/PixelHistogramImpl.test.cpp @@ -1,6 +1,7 @@ #include #include +#include "aare/NDArray.hpp" #include "aare/hist/PixelHistogramImpl.hpp" TEST_CASE("PixelHistogramImpl construct a small histogram and fill with a few " @@ -43,3 +44,30 @@ TEST_CASE("PixelHistogramImpl construct a small histogram and fill with a few " v(1, 1, 1) == 1); // At the edge should go to the bin with the edge as the lower bound } + +TEST_CASE("Fill a small histogram from an NDArray") { + int rows = 2; + int cols = 3; + int n_bins = 10; + double xmin = 0.0; + double xmax = 1.0; + aare::PixelHistogramImpl hist(rows, cols, n_bins, xmin, + xmax); + + aare::NDArray frame({rows, cols}); + frame(0, 0) = 0.05; // bin 0 + frame(0, 1) = 0.15; // bin 1 + frame(0, 2) = 0.25; // bin 2 + frame(1, 0) = 0.35; // bin 3 + frame(1, 1) = 0.45; // bin 4 + frame(1, 2) = 1.5; // out of range + + hist.fill(frame.view()); + + auto v = hist.view(); + REQUIRE(v(0, 0, 0) == 1); + REQUIRE(v(0, 1, 1) == 1); + REQUIRE(v(0, 2, 2) == 1); + REQUIRE(v(1, 0, 3) == 1); + REQUIRE(v(1, 1, 4) == 1); +} \ No newline at end of file