Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
ead983e
tests: add missing tests for MagickImage.AdaptiveResize
Gounlaf Feb 29, 2024
e0a96fd
tests: add missing tests for MagickImage.Chop* methods
Gounlaf Feb 29, 2024
2946dd5
tests: add missing tests for MagickImage.Clone method
Gounlaf Feb 29, 2024
edd18e0
tests: add missing tests for MagickImage.Crop method
Gounlaf Feb 29, 2024
92d5383
tests: add missing tests for MagickImage.Extent method
Gounlaf Feb 29, 2024
066b8f1
tests: add missing tests for MagickImage.Frame method
Gounlaf Feb 29, 2024
51dcfb2
tests: add missing tests for MagickImage.InterpolativeResize method
Gounlaf Feb 29, 2024
7100af3
tests: add missing tests for MagickImage.LiquidRescale method
Gounlaf Feb 29, 2024
bbd18b9
tests: add missing tests for MagickImage.Resize method
Gounlaf Feb 29, 2024
606ddca
tests: add missing tests for MagickImage.Sample method
Gounlaf Feb 29, 2024
3e99743
tests: add missing tests for MagickImage.Scale method
Gounlaf Feb 29, 2024
55db354
tests: add missing tests for MagickImage.Thumbnail method
Gounlaf Feb 29, 2024
f5ca17e
tests: add missing tests for MagickGeometryFactory.Create method
Gounlaf Feb 29, 2024
cd8e3c2
tests: add missing tests for MagickImage.InterpolativeResize method
Gounlaf Feb 29, 2024
39cddc5
tests: add missing tests for MagickImage.Resize method
Gounlaf Feb 29, 2024
3313c7f
tests: add missing tests for MagickImage.Sample method
Gounlaf Feb 29, 2024
37dc561
tests: add missing tests for MagickImage.Scale method
Gounlaf Feb 29, 2024
d8f9fbb
tests: add missing tests for MagickImage.Thumbnail method
Gounlaf Feb 29, 2024
8bf36ea
opti: remove redundant tests before creating MagickGeometry in Magick…
Gounlaf Feb 29, 2024
eee56f6
tests: add missing tests for MagickGeometryFactory.Create method
Gounlaf Feb 29, 2024
8a88ce0
tests: fix tests for MagickImage.LiquidRescale method
Gounlaf Feb 29, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 2 additions & 33 deletions src/Magick.NET/MagickImage.cs
Original file line number Diff line number Diff line change
Expand Up @@ -3458,8 +3458,6 @@ public void InterpolativeResize(IMagickGeometry geometry, PixelInterpolateMethod
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void InterpolativeResize(Percentage percentage, PixelInterpolateMethod method)
{
Throw.IfNegative(nameof(percentage), percentage);

var geometry = new MagickGeometry(percentage, percentage);
InterpolativeResize(geometry, method);
}
Expand All @@ -3473,9 +3471,6 @@ public void InterpolativeResize(Percentage percentage, PixelInterpolateMethod me
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void InterpolativeResize(Percentage percentageWidth, Percentage percentageHeight, PixelInterpolateMethod method)
{
Throw.IfNegative(nameof(percentageWidth), percentageWidth);
Throw.IfNegative(nameof(percentageHeight), percentageHeight);

var geometry = new MagickGeometry(percentageWidth, percentageHeight);
InterpolativeResize(geometry, method);
}
Expand Down Expand Up @@ -3931,8 +3926,6 @@ public void LiquidRescale(IMagickGeometry geometry)
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void LiquidRescale(Percentage percentage)
{
Throw.IfNegative(nameof(percentage), percentage);

var geometry = new MagickGeometry(percentage, percentage);
LiquidRescale(geometry);
}
Expand All @@ -3945,9 +3938,6 @@ public void LiquidRescale(Percentage percentage)
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void LiquidRescale(Percentage percentageWidth, Percentage percentageHeight)
{
Throw.IfNegative(nameof(percentageWidth), percentageWidth);
Throw.IfNegative(nameof(percentageHeight), percentageHeight);

var geometry = new MagickGeometry(percentageWidth, percentageHeight);
LiquidRescale(geometry);
}
Expand All @@ -3962,9 +3952,6 @@ public void LiquidRescale(Percentage percentageWidth, Percentage percentageHeigh
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void LiquidRescale(Percentage percentageWidth, Percentage percentageHeight, double deltaX, double rigidity)
{
Throw.IfNegative(nameof(percentageWidth), percentageWidth);
Throw.IfNegative(nameof(percentageHeight), percentageHeight);

var geometry = new MagickGeometry(percentageWidth, percentageHeight);

_nativeInstance.LiquidRescale(geometry.ToString(), deltaX, rigidity);
Expand Down Expand Up @@ -5520,8 +5507,6 @@ public void Resize(IMagickGeometry geometry)
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void Resize(Percentage percentage)
{
Throw.IfNegative(nameof(percentage), percentage);

var geometry = new MagickGeometry(percentage, percentage);
Resize(geometry);
}
Expand All @@ -5534,9 +5519,6 @@ public void Resize(Percentage percentage)
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void Resize(Percentage percentageWidth, Percentage percentageHeight)
{
Throw.IfNegative(nameof(percentageWidth), percentageWidth);
Throw.IfNegative(nameof(percentageHeight), percentageHeight);

var geometry = new MagickGeometry(percentageWidth, percentageHeight);
Resize(geometry);
}
Expand Down Expand Up @@ -5615,12 +5597,7 @@ public void Sample(Percentage percentage)
/// <param name="percentageHeight">The percentage of the height.</param>
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void Sample(Percentage percentageWidth, Percentage percentageHeight)
{
Throw.IfNegative(nameof(percentageWidth), percentageWidth);
Throw.IfNegative(nameof(percentageHeight), percentageHeight);

Sample(new MagickGeometry(percentageWidth, percentageHeight));
}
=> Sample(new MagickGeometry(percentageWidth, percentageHeight));

/// <summary>
/// Resize image by using simple ratio algorithm.
Expand Down Expand Up @@ -5661,12 +5638,7 @@ public void Scale(Percentage percentage)
/// <param name="percentageHeight">The percentage of the height.</param>
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void Scale(Percentage percentageWidth, Percentage percentageHeight)
{
Throw.IfNegative(nameof(percentageWidth), percentageWidth);
Throw.IfNegative(nameof(percentageHeight), percentageHeight);

Scale(new MagickGeometry(percentageWidth, percentageHeight));
}
=> Scale(new MagickGeometry(percentageWidth, percentageHeight));

/// <summary>
/// Segment (coalesce similar image components) by analyzing the histograms of the color
Expand Down Expand Up @@ -6512,9 +6484,6 @@ public void Thumbnail(Percentage percentage)
/// <exception cref="MagickException">Thrown when an error is raised by ImageMagick.</exception>
public void Thumbnail(Percentage percentageWidth, Percentage percentageHeight)
{
Throw.IfNegative(nameof(percentageWidth), percentageWidth);
Throw.IfNegative(nameof(percentageHeight), percentageHeight);

var geometry = new MagickGeometry(percentageWidth, percentageHeight);
Thumbnail(geometry);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -218,5 +218,40 @@ public void ShouldSetXAndYAndIsPercentage()
Assert.Equal(20, geometry.Height);
Assert.True(geometry.IsPercentage);
}

[Fact]
public void ShouldThrowExceptionWhenWidthAndHeightIsNegative()
{
var factory = new MagickGeometryFactory();

Assert.Throws<ArgumentException>("width", () => factory.Create(-1));
}

[Fact]
public void ShouldThrowExceptionWhenWidthIsNegative()
{
var factory = new MagickGeometryFactory();

Assert.Throws<ArgumentException>("width", () => factory.Create(-1, 10));
Assert.Throws<ArgumentException>("width", () => factory.Create(0, 0, -1, 10));
}

[Fact]
public void ShouldThrowExceptionWhenHeightIsNegative()
{
var factory = new MagickGeometryFactory();

Assert.Throws<ArgumentException>("height", () => factory.Create(5, -1));
Assert.Throws<ArgumentException>("height", () => factory.Create(0, 0, 5, -1));
}

[Fact]
public void ShouldThrowExceptionWhenPercentageIsNegative()
{
var factory = new MagickGeometryFactory();

Assert.Throws<ArgumentException>("percentageWidth", () => factory.Create(new Percentage(-1), new Percentage(10)));
Assert.Throws<ArgumentException>("percentageHeight", () => factory.Create(new Percentage(10), new Percentage(-1)));
}
}
}
15 changes: 15 additions & 0 deletions tests/Magick.NET.Tests/MagickImageTests/TheAdaptiveResizeMethod.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET.
// Licensed under the Apache License, Version 2.0.

using System;
using ImageMagick;
using Xunit;

Expand All @@ -10,6 +11,20 @@ public partial class MagickImageTests
{
public class TheAdaptiveResizeMethod
{
[Fact]
public void ShouldThrowExceptionWhenWidthIsNegative()
{
using var image = new MagickImage(Files.MagickNETIconPNG);
Assert.Throws<ArgumentException>("width", () => image.AdaptiveResize(-1, 512));
}

[Fact]
public void ShouldThrowExceptionWhenHeightIsNegative()
{
using var image = new MagickImage(Files.MagickNETIconPNG);
Assert.Throws<ArgumentException>("height", () => image.AdaptiveResize(512, -1));
}

[Fact]
public void ShouldNotEnlargeTheImage()
{
Expand Down
20 changes: 20 additions & 0 deletions tests/Magick.NET.Tests/MagickImageTests/TheChopMethod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,4 +29,24 @@ public void ShouldChopTheImage()
Assert.Equal(320, image.Height);
}
}

public class TheChopHorizontalMethod
{
[Fact]
public void ShouldThrowExceptionWhenWidthIsNegative()
{
using var image = new MagickImage(Files.Builtin.Wizard);
Assert.Throws<ArgumentException>("width", () => image.ChopHorizontal(-1, -1));
}
}

public class TheChopVerticalMethod
{
[Fact]
public void ShouldThrowExceptionWhenHeightIsNegative()
{
using var image = new MagickImage(Files.Builtin.Wizard);
Assert.Throws<ArgumentException>("height", () => image.ChopVertical(-1, -1));
}
}
}
29 changes: 29 additions & 0 deletions tests/Magick.NET.Tests/MagickImageTests/TheCloneMethod.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET.
// Licensed under the Apache License, Version 2.0.

using System;
using ImageMagick;
using Xunit;

Expand All @@ -10,6 +11,34 @@ public partial class MagickImageTests
{
public class TheCloneMethod
{
[Fact]
public void ShouldThrowExceptionWhenWidthIsNegative()
{
{
using var image = new MagickImage(Files.MagickNETIconPNG);
Assert.Throws<ArgumentException>("width", () => image.Clone(-1, 64));
}

{
using var image = new MagickImage(Files.MagickNETIconPNG);
Assert.Throws<ArgumentException>("width", () => image.Clone(0, 0, -1, 64));
}
}

[Fact]
public void ShouldThrowExceptionWhenHeightIsNegative()
{
{
using var image = new MagickImage(Files.MagickNETIconPNG);
Assert.Throws<ArgumentException>("height", () => image.Clone(32, -1));
}

{
using var image = new MagickImage(Files.MagickNETIconPNG);
Assert.Throws<ArgumentException>("height", () => image.Clone(0, 0, 32, -1));
}
}

[Fact]
public void ShouldThrowExceptionWhenNoImageIsRead()
{
Expand Down
29 changes: 29 additions & 0 deletions tests/Magick.NET.Tests/MagickImageTests/TheCropMethod.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
// Copyright Dirk Lemstra https://github.com/dlemstra/Magick.NET.
// Licensed under the Apache License, Version 2.0.

using System;
using ImageMagick;
using Xunit;

Expand All @@ -10,6 +11,34 @@ public partial class MagickImageTests
{
public class TheCropMethod
{
[Fact]
public void ShouldThrowExceptionWhenWidthIsNegative()
{
{
using var image = new MagickImage(Files.Builtin.Logo);
Assert.Throws<ArgumentException>("width", () => image.Crop(-1, 50));
}

{
using var image = new MagickImage(Files.Builtin.Logo);
Assert.Throws<ArgumentException>("width", () => image.Crop(-1, 50, Gravity.Center));
}
}

[Fact]
public void ShouldThrowExceptionWhenHeightIsNegative()
{
{
using var image = new MagickImage(Files.Builtin.Logo);
Assert.Throws<ArgumentException>("height", () => image.Crop(40, -1));
}

{
using var image = new MagickImage(Files.Builtin.Logo);
Assert.Throws<ArgumentException>("height", () => image.Crop(40, -1, Gravity.Center));
}
}

[Fact]
public void ShouldSetImageToCorrectDimensions()
{
Expand Down
58 changes: 58 additions & 0 deletions tests/Magick.NET.Tests/MagickImageTests/TheExtentMethod.cs
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,64 @@ public class TheExtentMethod
{
public class WithWidthAndHeight
{
[Fact]
public void ShouldThrowExceptionWhenWidthIsNegative()
{
{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("width", () => image.Extent(-1, 3));
}

{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("width", () => image.Extent(2, 3, -1, 3));
}

{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("width", () => image.Extent(-1, 3, MagickColors.Purple));
}

{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("width", () => image.Extent(-1, 3, Gravity.Center));
}

{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("width", () => image.Extent(-1, 3, Gravity.Center, MagickColors.Purple));
}
}

[Fact]
public void ShouldThrowExceptionWhenHeightIsNegative()
{
{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("height", () => image.Extent(2, -1));
}

{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("height", () => image.Extent(2, 3, 2, -1));
}

{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("height", () => image.Extent(2, -1, MagickColors.Purple));
}

{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("height", () => image.Extent(2, -1, Gravity.Center));
}

{
using var image = new MagickImage(MagickColors.Black, 1, 1);
Assert.Throws<ArgumentException>("height", () => image.Extent(2, -1, Gravity.Center, MagickColors.Purple));
}
}

[Fact]
public void ShouldExtentTheImage()
{
Expand Down
Loading