mirror of https://github.com/SixLabors/ImageSharp
20 changed files with 319 additions and 148 deletions
@ -0,0 +1,62 @@ |
|||
// <copyright file="ImageEqualTests.cs" company="James Jackson-South">
|
|||
// Copyright (c) James Jackson-South and contributors.
|
|||
// Licensed under the Apache License, Version 2.0.
|
|||
// </copyright>
|
|||
|
|||
namespace ImageSharp.Tests |
|||
{ |
|||
using Xunit; |
|||
|
|||
public class ImageEqualTests |
|||
{ |
|||
[Fact] |
|||
public void TestsThatVimImagesAreEqual() |
|||
{ |
|||
var image1Provider = TestImageProvider<Rgba32>.File(TestImages.Png.VimImage1); |
|||
var image2Provider = TestImageProvider<Rgba32>.File(TestImages.Png.VimImage2); |
|||
|
|||
using (Image<Rgba32> img1 = image1Provider.GetImage()) |
|||
using (Image<Rgba32> img2 = image2Provider.GetImage()) |
|||
{ |
|||
bool imagesEqual = AreImagesEqual(img1, img2); |
|||
Assert.True(imagesEqual); |
|||
} |
|||
} |
|||
|
|||
[Fact] |
|||
public void TestsThatVersioningImagesAreEqual() |
|||
{ |
|||
var image1Provider = TestImageProvider<Rgba32>.File(TestImages.Png.VersioningImage1); |
|||
var image2Provider = TestImageProvider<Rgba32>.File(TestImages.Png.VersioningImage2); |
|||
|
|||
using (Image<Rgba32> img1 = image1Provider.GetImage()) |
|||
using (Image<Rgba32> img2 = image2Provider.GetImage()) |
|||
{ |
|||
bool imagesEqual = AreImagesEqual(img1, img2); |
|||
Assert.True(imagesEqual); |
|||
} |
|||
} |
|||
|
|||
private bool AreImagesEqual(Image<Rgba32> img1, Image<Rgba32> img2) |
|||
{ |
|||
Assert.Equal(img1.Width, img2.Width); |
|||
Assert.Equal(img1.Height, img2.Height); |
|||
|
|||
for (int y = 0; y < img1.Height; y++) |
|||
{ |
|||
for (int x = 0; x < img1.Width; x++) |
|||
{ |
|||
Rgba32 pixel1 = img1[x, y]; |
|||
Rgba32 pixel2 = img2[x, y]; |
|||
|
|||
if (pixel1 != pixel2) |
|||
{ |
|||
return false; |
|||
} |
|||
} |
|||
} |
|||
|
|||
return true; |
|||
} |
|||
} |
|||
} |
|||
@ -0,0 +1,54 @@ |
|||
using SixLabors.Primitives; |
|||
using Xunit; |
|||
|
|||
namespace ImageSharp.Tests |
|||
{ |
|||
public class ImageRotationTests |
|||
{ |
|||
[Fact] |
|||
public void RotateImageByMinus90Degrees() |
|||
{ |
|||
(Size original, Size rotated) = Rotate(-90); |
|||
Assert.Equal(new Size(original.Height, original.Width), rotated); |
|||
} |
|||
|
|||
[Fact] |
|||
public void RotateImageBy90Degrees() |
|||
{ |
|||
(Size original, Size rotated) = Rotate(90); |
|||
Assert.Equal(new Size(original.Height, original.Width), rotated); |
|||
} |
|||
|
|||
[Fact] |
|||
public void RotateImageBy180Degrees() |
|||
{ |
|||
(Size original, Size rotated) = Rotate(180); |
|||
Assert.Equal(original, rotated); |
|||
} |
|||
|
|||
[Fact] |
|||
public void RotateImageBy270Degrees() |
|||
{ |
|||
(Size original, Size rotated) = Rotate(270); |
|||
Assert.Equal(new Size(original.Height, original.Width), rotated); |
|||
} |
|||
|
|||
[Fact] |
|||
public void RotateImageBy360Degrees() |
|||
{ |
|||
(Size original, Size rotated) = Rotate(360); |
|||
Assert.Equal(original, rotated); |
|||
} |
|||
|
|||
private static (Size original, Size rotated) Rotate(int angle) |
|||
{ |
|||
TestFile file = TestFile.Create(TestImages.Bmp.Car); |
|||
using (Image<Rgba32> image = Image.Load<Rgba32>(file.FilePath)) |
|||
{ |
|||
Size original = image.Bounds.Size; |
|||
image.Rotate(angle); |
|||
return (original, image.Bounds.Size); |
|||
} |
|||
} |
|||
} |
|||
} |
|||
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 226 B |
|
After Width: | Height: | Size: 292 B |
Loading…
Reference in new issue