diff --git a/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs b/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs index 75a9072c5..680a6afdc 100644 --- a/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs +++ b/tests/ImageSharp.Tests/Processing/Filters/BrightnessTest.cs @@ -1,6 +1,7 @@ -// Copyright (c) Six Labors. +// Copyright (c) Six Labors. // Licensed under the Apache License, Version 2.0. +using SixLabors.ImageSharp.PixelFormats; using SixLabors.ImageSharp.Processing; using SixLabors.ImageSharp.Processing.Processors.Filters; using Xunit; @@ -26,5 +27,33 @@ namespace SixLabors.ImageSharp.Tests.Processing.Effects Assert.Equal(1.5F, processor.Amount); } + + [Fact] + public void Brightness_scaled_vector() + { + var rgbImage = new Image(Configuration.Default, 100, 100, new Rgb24(0, 0, 0)); + + rgbImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2))); + + Assert.Equal(new Rgb24(0, 0, 0), rgbImage[0, 0]); + + rgbImage = new Image(Configuration.Default, 100, 100, new Rgb24(10, 10, 10)); + + rgbImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2))); + + Assert.Equal(new Rgb24(20, 20, 20), rgbImage[0, 0]); + + var halfSingleImage = new Image(Configuration.Default, 100, 100, new HalfSingle(-1)); + + halfSingleImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2))); + + Assert.Equal(new HalfSingle(-1), halfSingleImage[0, 0]); + + halfSingleImage = new Image(Configuration.Default, 100, 100, new HalfSingle(-0.5f)); + + halfSingleImage.Mutate(x => x.ApplyProcessor(new BrightnessProcessor(2))); + + Assert.Equal(new HalfSingle(0), halfSingleImage[0, 0]); + } } -} \ No newline at end of file +}