mirror of https://github.com/SixLabors/ImageSharp
2 changed files with 59 additions and 1 deletions
@ -0,0 +1,58 @@ |
|||
// Copyright (c) Six Labors and contributors.
|
|||
// Licensed under the Apache License, Version 2.0.
|
|||
|
|||
using SixLabors.Primitives; |
|||
using Xunit; |
|||
|
|||
namespace SixLabors.ImageSharp.Tests |
|||
{ |
|||
public class ImageProcessingContextTests |
|||
{ |
|||
[Fact] |
|||
public void MutatedBoundsAreAccuratePerOperation() |
|||
{ |
|||
var x500 = new Size(500, 500); |
|||
var x400 = new Size(400, 400); |
|||
var x300 = new Size(300, 300); |
|||
var x200 = new Size(200, 200); |
|||
var x100 = new Size(100, 100); |
|||
using (var image = new Image<Rgba32>(500, 500)) |
|||
{ |
|||
image.Mutate(x => |
|||
x.AssertBounds(x500) |
|||
.Resize(x400).AssertBounds(x400) |
|||
.Resize(x300).AssertBounds(x300) |
|||
.Resize(x200).AssertBounds(x200) |
|||
.Resize(x100).AssertBounds(x100)); |
|||
} |
|||
} |
|||
|
|||
[Fact] |
|||
public void ClonedBoundsAreAccuratePerOperation() |
|||
{ |
|||
var x500 = new Size(500, 500); |
|||
var x400 = new Size(400, 400); |
|||
var x300 = new Size(300, 300); |
|||
var x200 = new Size(200, 200); |
|||
var x100 = new Size(100, 100); |
|||
using (var image = new Image<Rgba32>(500, 500)) |
|||
{ |
|||
image.Clone(x => |
|||
x.AssertBounds(x500) |
|||
.Resize(x400).AssertBounds(x400) |
|||
.Resize(x300).AssertBounds(x300) |
|||
.Resize(x200).AssertBounds(x200) |
|||
.Resize(x100).AssertBounds(x100)); |
|||
} |
|||
} |
|||
} |
|||
|
|||
public static class BoundsAssertationExtensions |
|||
{ |
|||
public static IImageProcessingContext<Rgba32> AssertBounds(this IImageProcessingContext<Rgba32> context, Size size) |
|||
{ |
|||
Assert.Equal(size, context.Bounds().Size); |
|||
return context; |
|||
} |
|||
} |
|||
} |
|||
Loading…
Reference in new issue