From 404342916e6808b4ac8641145d91b63074411d97 Mon Sep 17 00:00:00 2001 From: Brian Popow Date: Wed, 29 Mar 2023 18:25:09 +0200 Subject: [PATCH] Add test case for: Fixed wrong division hack #2413 --- .../Formats/WebP/LosslessUtilsTests.cs | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs b/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs index 73c034a6be..75ecc43eb2 100644 --- a/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs +++ b/tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs @@ -186,21 +186,32 @@ public class LosslessUtilsTests private static void RunPredictor13Test() { // arrange - uint[] topData = { 4278193922, 4278193666 }; - const uint left = 4278193410; - const uint expectedResult = 4278193154; + uint[] topData0 = { 4278193922, 4278193666 }; + const uint left0 = 4278193410; + const uint expectedResult0 = 4278193154; + uint[] topData1 = { 4294933015, 4278219803 }; + const uint left1 = 4278236686; + const uint expectedResult1 = 4278231571; + uint actual0 = 0; + uint actual1 = 0; // act unsafe { - fixed (uint* top = &topData[1]) + fixed (uint* top = &topData0[1]) { - uint actual = LosslessUtils.Predictor13(left, top); + actual0 = LosslessUtils.Predictor13(left0, top); + } - // assert - Assert.Equal(expectedResult, actual); + fixed (uint* top = &topData1[1]) + { + actual1 = LosslessUtils.Predictor13(left1, top); } } + + // assert + Assert.Equal(expectedResult0, actual0); + Assert.Equal(expectedResult1, actual1); } [Fact]