mirror of https://github.com/SixLabors/ImageSharp
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
2.9 KiB
65 lines
2.9 KiB
// // Copyright (c) Six Labors and contributors.
|
|
// // Licensed under the Apache License, Version 2.0.
|
|
// // Copyright (c) Six Labors and contributors.
|
|
// // Licensed under the Apache License, Version 2.0.
|
|
// // Copyright (c) Six Labors and contributors.
|
|
// // Licensed under the Apache License, Version 2.0.
|
|
|
|
using SixLabors.ImageSharp.PixelFormats;
|
|
|
|
using Xunit;
|
|
|
|
namespace SixLabors.ImageSharp.Tests.PixelFormats.PixelOperations
|
|
{
|
|
public class PixelConversionModifiersExtensionsTests
|
|
{
|
|
[Theory]
|
|
[InlineData(PixelConversionModifiers.None, PixelConversionModifiers.None, true)]
|
|
[InlineData(PixelConversionModifiers.None, PixelConversionModifiers.Premultiply, false)]
|
|
[InlineData(PixelConversionModifiers.SRgbCompand, PixelConversionModifiers.Premultiply, false)]
|
|
[InlineData(
|
|
PixelConversionModifiers.Premultiply | PixelConversionModifiers.Scale,
|
|
PixelConversionModifiers.Premultiply,
|
|
true)]
|
|
[InlineData(
|
|
PixelConversionModifiers.Premultiply | PixelConversionModifiers.Scale,
|
|
PixelConversionModifiers.Premultiply | PixelConversionModifiers.Scale,
|
|
true)]
|
|
[InlineData(
|
|
PixelConversionModifiers.Premultiply | PixelConversionModifiers.Scale,
|
|
PixelConversionModifiers.Scale,
|
|
true)]
|
|
internal void IsDefined(
|
|
PixelConversionModifiers baselineModifiers,
|
|
PixelConversionModifiers checkModifiers,
|
|
bool expected)
|
|
{
|
|
Assert.Equal(expected, baselineModifiers.IsDefined(checkModifiers));
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(PixelConversionModifiers.Premultiply | PixelConversionModifiers.Scale | PixelConversionModifiers.SRgbCompand,
|
|
PixelConversionModifiers.Scale, PixelConversionModifiers.Premultiply | PixelConversionModifiers.SRgbCompand)]
|
|
[InlineData(PixelConversionModifiers.None, PixelConversionModifiers.Premultiply, PixelConversionModifiers.None)]
|
|
internal void Remove(
|
|
PixelConversionModifiers baselineModifiers,
|
|
PixelConversionModifiers toRemove,
|
|
PixelConversionModifiers expected)
|
|
{
|
|
PixelConversionModifiers result = baselineModifiers.Remove(toRemove);
|
|
Assert.Equal(expected, result);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(PixelConversionModifiers.Premultiply, false, PixelConversionModifiers.Premultiply)]
|
|
[InlineData(PixelConversionModifiers.Premultiply, true, PixelConversionModifiers.Premultiply | PixelConversionModifiers.SRgbCompand | PixelConversionModifiers.Scale)]
|
|
internal void ApplyCompanding(
|
|
PixelConversionModifiers baselineModifiers,
|
|
bool compand,
|
|
PixelConversionModifiers expected)
|
|
{
|
|
PixelConversionModifiers result = baselineModifiers.ApplyCompanding(compand);
|
|
Assert.Equal(expected, result);
|
|
}
|
|
}
|
|
}
|