Browse Source

Add test case for: Fixed wrong division hack #2413

pull/2424/head
Brian Popow 3 years ago
parent
commit
404342916e
  1. 25
      tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs

25
tests/ImageSharp.Tests/Formats/WebP/LosslessUtilsTests.cs

@ -186,21 +186,32 @@ public class LosslessUtilsTests
private static void RunPredictor13Test() private static void RunPredictor13Test()
{ {
// arrange // arrange
uint[] topData = { 4278193922, 4278193666 }; uint[] topData0 = { 4278193922, 4278193666 };
const uint left = 4278193410; const uint left0 = 4278193410;
const uint expectedResult = 4278193154; const uint expectedResult0 = 4278193154;
uint[] topData1 = { 4294933015, 4278219803 };
const uint left1 = 4278236686;
const uint expectedResult1 = 4278231571;
uint actual0 = 0;
uint actual1 = 0;
// act // act
unsafe unsafe
{ {
fixed (uint* top = &topData[1]) fixed (uint* top = &topData0[1])
{ {
uint actual = LosslessUtils.Predictor13(left, top); actual0 = LosslessUtils.Predictor13(left0, top);
}
// assert fixed (uint* top = &topData1[1])
Assert.Equal(expectedResult, actual); {
actual1 = LosslessUtils.Predictor13(left1, top);
} }
} }
// assert
Assert.Equal(expectedResult0, actual0);
Assert.Equal(expectedResult1, actual1);
} }
[Fact] [Fact]

Loading…
Cancel
Save