📷 A modern, cross-platform, 2D Graphics library for .NET
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

// // 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);
}
}
}