Browse Source

Added tests, removed duplicated tests

pull/1864/head
Dmitry Pentin 5 years ago
parent
commit
f10fe55844
  1. 15
      src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegColorSpace.cs
  2. 109
      tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs

15
src/ImageSharp/Formats/Jpeg/Components/Decoder/JpegColorSpace.cs

@ -10,14 +10,29 @@ namespace SixLabors.ImageSharp.Formats.Jpeg.Components.Decoder
{
Undefined = 0,
/// <summary>
/// Color space with 1 component.
/// </summary>
Grayscale,
/// <summary>
/// Color space with 4 components.
/// </summary>
Ycck,
/// <summary>
/// Color space with 4 components.
/// </summary>
Cmyk,
/// <summary>
/// Color space with 3 components.
/// </summary>
RGB,
/// <summary>
/// Color space with 3 components.
/// </summary>
YCbCr
}
}

109
tests/ImageSharp.Tests/Formats/Jpg/JpegColorConverterTests.cs

@ -40,6 +40,55 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
private ITestOutputHelper Output { get; }
[Fact]
public void GetConverterThrowsExceptionOnInvalidColorSpace()
{
Assert.Throws<Exception>(() => JpegColorConverterBase.GetConverter(JpegColorSpace.Undefined, 8));
}
[Fact]
public void GetConverterThrowsExceptionOnInvalidPrecision()
{
// Valid precisions: 8 & 12 bit
Assert.Throws<Exception>(() => JpegColorConverterBase.GetConverter(JpegColorSpace.YCbCr, 9));
}
[Theory]
[InlineData(JpegColorSpace.Grayscale, 8)]
[InlineData(JpegColorSpace.Grayscale, 12)]
[InlineData(JpegColorSpace.Ycck, 8)]
[InlineData(JpegColorSpace.Ycck, 12)]
[InlineData(JpegColorSpace.Cmyk, 8)]
[InlineData(JpegColorSpace.Cmyk, 12)]
[InlineData(JpegColorSpace.RGB, 8)]
[InlineData(JpegColorSpace.RGB, 12)]
[InlineData(JpegColorSpace.YCbCr, 8)]
[InlineData(JpegColorSpace.YCbCr, 12)]
internal void GetConverterReturnsValidConverter(JpegColorSpace colorSpace, int precision)
{
var converter = JpegColorConverterBase.GetConverter(colorSpace, precision);
Assert.NotNull(converter);
Assert.Equal(colorSpace, converter.ColorSpace);
Assert.Equal(precision, converter.Precision);
}
[Theory]
[InlineData(JpegColorSpace.Grayscale, 1)]
[InlineData(JpegColorSpace.Ycck, 4)]
[InlineData(JpegColorSpace.Cmyk, 4)]
[InlineData(JpegColorSpace.RGB, 3)]
[InlineData(JpegColorSpace.YCbCr, 3)]
internal void ConvertWithSelectedConverter(JpegColorSpace colorSpace, int componentCount)
{
ValidateConversion(
colorSpace,
componentCount,
40,
40,
1);
}
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromYCbCrBasic(int inputBufferLength, int resultBufferLength, int seed)
@ -96,18 +145,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
}
#endif
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromYCbCr_WithDefaultConverter(int inputBufferLength, int resultBufferLength, int seed)
{
ValidateConversion(
JpegColorSpace.YCbCr,
3,
inputBufferLength,
resultBufferLength,
seed);
}
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromCmykBasic(int inputBufferLength, int resultBufferLength, int seed)
@ -164,18 +201,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
}
#endif
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromCmyk_WithDefaultConverter(int inputBufferLength, int resultBufferLength, int seed)
{
ValidateConversion(
JpegColorSpace.Cmyk,
4,
inputBufferLength,
resultBufferLength,
seed);
}
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromGrayscaleBasic(int inputBufferLength, int resultBufferLength, int seed)
@ -232,18 +257,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
}
#endif
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromGraysacle_WithDefaultConverter(int inputBufferLength, int resultBufferLength, int seed)
{
ValidateConversion(
JpegColorSpace.Grayscale,
1,
inputBufferLength,
resultBufferLength,
seed);
}
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromRgbBasic(int inputBufferLength, int resultBufferLength, int seed)
@ -300,18 +313,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
}
#endif
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromRgb_WithDefaultConverter(int inputBufferLength, int resultBufferLength, int seed)
{
ValidateConversion(
JpegColorSpace.RGB,
3,
inputBufferLength,
resultBufferLength,
seed);
}
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromYccKBasic(int inputBufferLength, int resultBufferLength, int seed)
@ -368,18 +369,6 @@ namespace SixLabors.ImageSharp.Tests.Formats.Jpg
}
#endif
[Theory]
[MemberData(nameof(CommonConversionData))]
public void FromYcck_WithDefaultConverter(int inputBufferLength, int resultBufferLength, int seed)
{
ValidateConversion(
JpegColorSpace.Ycck,
4,
inputBufferLength,
resultBufferLength,
seed);
}
private static JpegColorConverterBase.ComponentValues CreateRandomValues(
int componentCount,
int inputBufferLength,

Loading…
Cancel
Save