Improved conversion-test to check for different amounts if missing elements

This commit is contained in:
Darth Affe 2024-07-08 23:48:29 +02:00
parent 597685f920
commit fb56257e87

View File

@ -10,7 +10,9 @@ public class ConvertTests
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image); for (int skip = 0; skip < 4; skip++)
{
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGB> referenceData = data; ReadOnlySpan<ColorRGB> referenceData = data;
Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length]; Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length];
@ -31,13 +33,16 @@ public class ConvertTests
} }
} }
} }
}
[TestMethod] [TestMethod]
public void Convert4ByteSameBppRGBAToARGB() public void Convert4ByteSameBppRGBAToARGB()
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGBA[] data = ImageHelper.Get4ByteColorsFromImage(image); for (int skip = 0; skip < 4; skip++)
{
ColorRGBA[] data = ImageHelper.Get4ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGBA> referenceData = data; ReadOnlySpan<ColorRGBA> referenceData = data;
Span<ColorRGBA> sourceData = new ColorRGBA[referenceData.Length]; Span<ColorRGBA> sourceData = new ColorRGBA[referenceData.Length];
@ -58,13 +63,16 @@ public class ConvertTests
} }
} }
} }
}
[TestMethod] [TestMethod]
public void Convert4ByteSameBppRGBAToBGRA() public void Convert4ByteSameBppRGBAToBGRA()
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGBA[] data = ImageHelper.Get4ByteColorsFromImage(image); for (int skip = 0; skip < 4; skip++)
{
ColorRGBA[] data = ImageHelper.Get4ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGBA> referenceData = data; ReadOnlySpan<ColorRGBA> referenceData = data;
Span<ColorRGBA> sourceData = new ColorRGBA[referenceData.Length]; Span<ColorRGBA> sourceData = new ColorRGBA[referenceData.Length];
@ -85,13 +93,16 @@ public class ConvertTests
} }
} }
} }
}
[TestMethod] [TestMethod]
public void ConvertNarrow4ByteRGBAToRGB() public void ConvertNarrow4ByteRGBAToRGB()
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGBA[] data = ImageHelper.Get4ByteColorsFromImage(image); for (int skip = 0; skip < 4; skip++)
{
ColorRGBA[] data = ImageHelper.Get4ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGBA> referenceData = data; ReadOnlySpan<ColorRGBA> referenceData = data;
Span<ColorRGBA> sourceData = new ColorRGBA[referenceData.Length]; Span<ColorRGBA> sourceData = new ColorRGBA[referenceData.Length];
@ -112,13 +123,16 @@ public class ConvertTests
} }
} }
} }
}
[TestMethod] [TestMethod]
public void ConvertNarrow4ByteRGBAToBGR() public void ConvertNarrow4ByteRGBAToBGR()
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGBA[] data = ImageHelper.Get4ByteColorsFromImage(image); for (int skip = 0; skip < 4; skip++)
{
ColorRGBA[] data = ImageHelper.Get4ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGBA> referenceData = data; ReadOnlySpan<ColorRGBA> referenceData = data;
Span<ColorRGBA> sourceData = new ColorRGBA[referenceData.Length]; Span<ColorRGBA> sourceData = new ColorRGBA[referenceData.Length];
@ -139,13 +153,16 @@ public class ConvertTests
} }
} }
} }
}
[TestMethod] [TestMethod]
public void ConvertWiden3ByteRGBToRGBA() public void ConvertWiden3ByteRGBToRGBA()
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image); for (int skip = 0; skip < 4; skip++)
{
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGB> referenceData = data; ReadOnlySpan<ColorRGB> referenceData = data;
Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length]; Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length];
@ -166,13 +183,16 @@ public class ConvertTests
} }
} }
} }
}
[TestMethod] [TestMethod]
public void ConvertWiden3ByteRGBToARGB() public void ConvertWiden3ByteRGBToARGB()
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image); for (int skip = 0; skip < 4; skip++)
{
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGB> referenceData = data; ReadOnlySpan<ColorRGB> referenceData = data;
Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length]; Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length];
@ -193,13 +213,16 @@ public class ConvertTests
} }
} }
} }
}
[TestMethod] [TestMethod]
public void ConvertWiden3ByteRGBToBGRA() public void ConvertWiden3ByteRGBToBGRA()
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image); for (int skip = 0; skip < 4; skip++)
{
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGB> referenceData = data; ReadOnlySpan<ColorRGB> referenceData = data;
Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length]; Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length];
@ -220,13 +243,16 @@ public class ConvertTests
} }
} }
} }
}
[TestMethod] [TestMethod]
public void ConvertWiden3ByteRGBToABGR() public void ConvertWiden3ByteRGBToABGR()
{ {
foreach (string image in GetTestImages()) foreach (string image in GetTestImages())
{ {
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image).SkipLast(1).ToArray(); for (int skip = 0; skip < 4; skip++)
{
ColorRGB[] data = ImageHelper.Get3ByteColorsFromImage(image).SkipLast(skip).ToArray();
ReadOnlySpan<ColorRGB> referenceData = data; ReadOnlySpan<ColorRGB> referenceData = data;
Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length]; Span<ColorRGB> sourceData = new ColorRGB[referenceData.Length];
@ -247,4 +273,5 @@ public class ConvertTests
} }
} }
} }
}
} }