Browse Source

Add BundleColorMap tests

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

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

@ -214,6 +214,62 @@ public class LosslessUtilsTests
Assert.Equal(expectedResult1, actual1);
}
[Fact]
public void BundleColorMap_WithXbitsZero_Works()
{
// arrange
byte[] row = { 238, 238, 238, 238, 238, 238, 240, 237, 240, 235, 223, 223, 218, 220, 226, 219, 220, 204, 218, 211, 218, 221, 254, 255 };
int xBits = 0;
uint[] actual = new uint[row.Length];
uint[] expected =
{
4278251008, 4278251008, 4278251008, 4278251008, 4278251008,
4278251008, 4278251520, 4278250752, 4278251520, 4278250240,
4278247168, 4278247168, 4278245888, 4278246400, 4278247936,
4278246144, 4278246400, 4278242304, 4278245888, 4278244096,
4278245888, 4278246656, 4278255104, 4278255360
};
// act
LosslessUtils.BundleColorMap(row, actual.Length, xBits, actual);
// assert
Assert.True(actual.SequenceEqual(expected));
}
[Fact]
public void BundleColorMap_WithXbitsNoneZero_Works()
{
// arrange
byte[] row =
{
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3
};
int xBits = 2;
uint[] actual = new uint[row.Length];
uint[] expected =
{
4278233600, 4278233600, 4278233600, 4278233600, 4278255360, 4278255360, 4278255360, 4278255360, 4278233600, 4278233600, 4278233600, 4278233600,
4278255360, 4278255360, 4278255360, 4278255360, 4278211840, 4278211840, 4278211840, 4278211840, 4278255360, 4278255360, 4278255360, 4278255360,
4278255360, 4278255360, 4278255360, 4278255360, 4278255360, 4278255360, 4278255360, 4278206208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
};
// act
LosslessUtils.BundleColorMap(row, actual.Length, xBits, actual);
// assert
Assert.True(actual.SequenceEqual(expected));
}
[Fact]
public void CombinedShannonEntropy_Works() => RunCombinedShannonEntropyTest();

Loading…
Cancel
Save