📷 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.
 
 

60 lines
1.5 KiB

// Copyright (c) Six Labors.
// Licensed under the Six Labors Split License.
using SixLabors.ImageSharp.Formats.Jpeg;
namespace SixLabors.ImageSharp.Tests.Formats.Jpg;
[Trait("Format", "Jpg")]
public class JpegMetadataTests
{
[Fact]
public void CloneIsDeep()
{
var meta = new JpegMetadata { ColorType = JpegEncodingColor.Luminance };
var clone = (JpegMetadata)meta.DeepClone();
clone.ColorType = JpegEncodingColor.YCbCrRatio420;
Assert.False(meta.ColorType.Equals(clone.ColorType));
}
[Fact]
public void Quality_DefaultQuality()
{
var meta = new JpegMetadata();
Assert.Equal(meta.Quality, ImageSharp.Formats.Jpeg.Components.Quantization.DefaultQualityFactor);
}
[Fact]
public void Quality_LuminanceOnlyQuality()
{
int quality = 50;
var meta = new JpegMetadata { LuminanceQuality = quality };
Assert.Equal(meta.Quality, quality);
}
[Fact]
public void Quality_BothComponentsQuality()
{
int quality = 50;
var meta = new JpegMetadata { LuminanceQuality = quality, ChrominanceQuality = quality };
Assert.Equal(meta.Quality, quality);
}
[Fact]
public void Quality_ReturnsMaxQuality()
{
int qualityLuma = 50;
int qualityChroma = 30;
var meta = new JpegMetadata { LuminanceQuality = qualityLuma, ChrominanceQuality = qualityChroma };
Assert.Equal(meta.Quality, qualityLuma);
}
}