From 5bc44c301f61e95608aa24e1048e4d4ac68d2b48 Mon Sep 17 00:00:00 2001 From: attila Date: Wed, 16 Jul 2025 17:40:41 +0200 Subject: [PATCH] Make Direct2DGraphicsContextTests acceptance criteria stricter --- .../native/juce_Direct2DGraphicsContext_windows.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/juce_graphics/native/juce_Direct2DGraphicsContext_windows.cpp b/modules/juce_graphics/native/juce_Direct2DGraphicsContext_windows.cpp index e05a643717..534c1ab239 100644 --- a/modules/juce_graphics/native/juce_Direct2DGraphicsContext_windows.cpp +++ b/modules/juce_graphics/native/juce_Direct2DGraphicsContext_windows.cpp @@ -1340,6 +1340,7 @@ public: const Image::BitmapData bitmapA { a, Image::BitmapData::readOnly }; const Image::BitmapData bitmapB { b, Image::BitmapData::readOnly }; + int64_t maxAbsError{}; int64_t accumulatedError{}; int64_t numSamples{}; @@ -1352,14 +1353,18 @@ public: for (auto& fn : { &Colour::getRed, &Colour::getGreen, &Colour::getBlue, &Colour::getAlpha }) { - accumulatedError += ((int64_t) (actual.*fn)() - (int64_t) (expected.*fn)()); + const auto signedError = ((int64_t) (actual.*fn)() - (int64_t) (expected.*fn)()); + const auto absError = std::abs (signedError); + maxAbsError = std::max (maxAbsError, absError); + + accumulatedError += absError; ++numSamples; } } } const auto averageError = (double) accumulatedError / (double) numSamples; - expect (std::abs (averageError) < 1.0); + expect (std::abs (averageError) < 1.0 && maxAbsError < 10); } };