|
|
|
@ -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(); |
|
|
|
|
|
|
|
|