From 458308a8f76f49ec8080121e36d3c41c18842e97 Mon Sep 17 00:00:00 2001 From: pekspro Date: Wed, 15 Jul 2020 10:39:30 +0200 Subject: [PATCH] Adds ImageExtensionsTest for bmp. --- .../Formats/Bmp/ImageExtensionsTest.cs | 152 ++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 tests/ImageSharp.Tests/Formats/Bmp/ImageExtensionsTest.cs diff --git a/tests/ImageSharp.Tests/Formats/Bmp/ImageExtensionsTest.cs b/tests/ImageSharp.Tests/Formats/Bmp/ImageExtensionsTest.cs new file mode 100644 index 000000000..e860c8855 --- /dev/null +++ b/tests/ImageSharp.Tests/Formats/Bmp/ImageExtensionsTest.cs @@ -0,0 +1,152 @@ +using System.IO; +using System.Threading.Tasks; +using SixLabors.ImageSharp.Formats; +using SixLabors.ImageSharp.Formats.Bmp; +using SixLabors.ImageSharp.PixelFormats; +using Xunit; + +namespace SixLabors.ImageSharp.Tests.Formats.Bmp +{ + public class ImageExtensionsTest + { + [Fact] + public void SaveAsBmp_Path() + { + string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageExtensionsTest)); + string file = Path.Combine(dir, "SaveAsBmp_Path.bmp"); + + using (var image = new Image(10, 10)) + { + image.SaveAsBmp(file); + } + + using (Image.Load(file, out IImageFormat mime)) + { + Assert.Equal("image/bmp", mime.DefaultMimeType); + } + } + + [Fact] + public async Task SaveAsBmpAsync_Path() + { + string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageExtensionsTest)); + string file = Path.Combine(dir, "SaveAsBmpAsync_Path.bmp"); + + using (var image = new Image(10, 10)) + { + await image.SaveAsBmpAsync(file); + } + + using (Image.Load(file, out IImageFormat mime)) + { + Assert.Equal("image/bmp", mime.DefaultMimeType); + } + } + + [Fact] + public void SaveAsBmp_Path_Encoder() + { + string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageExtensions)); + string file = Path.Combine(dir, "SaveAsBmp_Path_Encoder.bmp"); + + using (var image = new Image(10, 10)) + { + image.SaveAsBmp(file, new BmpEncoder()); + } + + using (Image.Load(file, out IImageFormat mime)) + { + Assert.Equal("image/bmp", mime.DefaultMimeType); + } + } + + [Fact] + public async Task SaveAsBmpAsync_Path_Encoder() + { + string dir = TestEnvironment.CreateOutputDirectory(nameof(ImageExtensions)); + string file = Path.Combine(dir, "SaveAsBmpAsync_Path_Encoder.bmp"); + + using (var image = new Image(10, 10)) + { + await image.SaveAsBmpAsync(file, new BmpEncoder()); + } + + using (Image.Load(file, out IImageFormat mime)) + { + Assert.Equal("image/bmp", mime.DefaultMimeType); + } + } + + [Fact] + public void SaveAsBmp_Stream() + { + using var memoryStream = new MemoryStream(); + + using (var image = new Image(10, 10)) + { + image.SaveAsBmp(memoryStream); + } + + memoryStream.Position = 0; + + using (Image.Load(memoryStream, out IImageFormat mime)) + { + Assert.Equal("image/bmp", mime.DefaultMimeType); + } + } + + [Fact] + public async Task SaveAsBmpAsync_StreamAsync() + { + using var memoryStream = new MemoryStream(); + + using (var image = new Image(10, 10)) + { + await image.SaveAsBmpAsync(memoryStream); + } + + memoryStream.Position = 0; + + using (Image.Load(memoryStream, out IImageFormat mime)) + { + Assert.Equal("image/bmp", mime.DefaultMimeType); + } + } + + [Fact] + public void SaveAsBmp_Stream_Encoder() + { + using var memoryStream = new MemoryStream(); + + using (var image = new Image(10, 10)) + { + image.SaveAsBmp(memoryStream, new BmpEncoder()); + } + + memoryStream.Position = 0; + + using (Image.Load(memoryStream, out IImageFormat mime)) + { + Assert.Equal("image/bmp", mime.DefaultMimeType); + } + } + + [Fact] + public async Task SaveAsBmpAsync_Stream_Encoder() + { + using var memoryStream = new MemoryStream(); + + using (var image = new Image(10, 10)) + { + await image.SaveAsBmpAsync(memoryStream, new BmpEncoder()); + } + + memoryStream.Position = 0; + + using (Image.Load(memoryStream, out IImageFormat mime)) + { + Assert.Equal("image/bmp", mime.DefaultMimeType); + } + } + } +}