mirror of
https://github.com/Geckon01/Watermark.Net.git
synced 2026-06-15 01:13:31 +03:00
Improved SRP in Watermark class
This commit is contained in:
@@ -11,7 +11,7 @@ namespace UnitTest
|
||||
public class UnitTest
|
||||
{
|
||||
[TestMethod]
|
||||
public void TextWatermarkTest()
|
||||
public void TextWatermarkLegacyTest()
|
||||
{
|
||||
var watermarker = new Watermarker();
|
||||
|
||||
@@ -30,12 +30,12 @@ namespace UnitTest
|
||||
|
||||
var resultedImage = watermarker.ProcessImage("TestImages/2.png", "test/text", watermark);
|
||||
|
||||
Assert.IsTrue(File.Exists(resultedImage.Path));
|
||||
Assert.IsNotNull(resultedImage);
|
||||
Assert.IsTrue(File.Exists(resultedImage.Path));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ImageWatermarkTest()
|
||||
public void ImageWatermarkLegacyTest()
|
||||
{
|
||||
var watermarker = new Watermarker();
|
||||
var watermark = new ImageWatermark {
|
||||
@@ -46,12 +46,12 @@ namespace UnitTest
|
||||
|
||||
var resultedImage = watermarker.ProcessImage("TestImages/2.png", "test/image", watermark);
|
||||
|
||||
Assert.IsTrue(File.Exists(resultedImage.Path));
|
||||
Assert.IsNotNull(resultedImage);
|
||||
Assert.IsTrue(File.Exists(resultedImage.Path));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TextWatermarkDirectoryProccessTest()
|
||||
public void TextWatermarkDirectoryProccessLegacyTest()
|
||||
{
|
||||
var watermarker = new Watermarker("test/text/pave");
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace UnitTest
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ImageWatermarkDirectoryProccessTest()
|
||||
public void ImageWatermarkDirectoryProccessLegacyTest()
|
||||
{
|
||||
var watermarker = new Watermarker("test/image/pave");
|
||||
var watermark = new ImageWatermark {
|
||||
@@ -87,5 +87,93 @@ namespace UnitTest
|
||||
|
||||
Assert.IsTrue(Directory.GetFiles(watermarker.OutputDir)?.Length > 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TextWatermarkPipelineTest()
|
||||
{
|
||||
var fileManager = new FileManager();
|
||||
var renderer = new ImageRenderer();
|
||||
var pipeline = new WatermarkPipeline(fileManager, renderer);
|
||||
|
||||
var availableFont = SystemFonts.Families.FirstOrDefault();
|
||||
if (availableFont == default)
|
||||
{
|
||||
throw new Exception("No available fonts found in the system");
|
||||
}
|
||||
|
||||
var watermark = new TextWatermark{
|
||||
Font = availableFont.CreateFont(1),
|
||||
Text = "Test",
|
||||
Style = { Color = Color.White },
|
||||
Layout = { Position = ImagePosition.BottomCenter , RotateAngle = 90 }
|
||||
};
|
||||
|
||||
var resultedImage = pipeline.ProcessImage("TestImages/2.png", "test/pipeline/text", watermark);
|
||||
|
||||
Assert.IsNotNull(resultedImage);
|
||||
Assert.IsTrue(File.Exists(resultedImage.Path));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ImageWatermarkPipelineTest()
|
||||
{
|
||||
var fileManager = new FileManager();
|
||||
var renderer = new ImageRenderer();
|
||||
var pipeline = new WatermarkPipeline(fileManager, renderer);
|
||||
|
||||
var watermark = new ImageWatermark {
|
||||
ImagePath = "TestImages/sample_wm.png",
|
||||
Layout = { Position = ImagePosition.Center, Scale = 1 },
|
||||
Style = { Opacity = 1 }
|
||||
};
|
||||
|
||||
var resultedImage = pipeline.ProcessImage("TestImages/2.png", "test/pipeline/image", watermark);
|
||||
|
||||
Assert.IsNotNull(resultedImage);
|
||||
Assert.IsTrue(File.Exists(resultedImage.Path));
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void TextWatermarkDirectoryPipelineTest()
|
||||
{
|
||||
var fileManager = new FileManager();
|
||||
var renderer = new ImageRenderer();
|
||||
var pipeline = new WatermarkPipeline(fileManager, renderer);
|
||||
|
||||
var availableFont = SystemFonts.Families.FirstOrDefault();
|
||||
if (availableFont == default)
|
||||
{
|
||||
throw new Exception("No available fonts found in the system");
|
||||
}
|
||||
|
||||
var watermark = new TextWatermark {
|
||||
Text = "Test",
|
||||
Font = availableFont.CreateFont(1),
|
||||
Style = { Color = Rgba32.ParseHex("FFFFFF50"), Pave = true },
|
||||
Layout = { Scale = 1f, Position = ImagePosition.TopLeft }
|
||||
};
|
||||
|
||||
var results = pipeline.ProcessDirectory("TestImages", "test/pipeline/text/dir", watermark);
|
||||
|
||||
Assert.IsTrue(results.Count > 0);
|
||||
}
|
||||
|
||||
[TestMethod]
|
||||
public void ImageWatermarkDirectoryPipelineTest()
|
||||
{
|
||||
var fileManager = new FileManager();
|
||||
var renderer = new ImageRenderer();
|
||||
var pipeline = new WatermarkPipeline(fileManager, renderer);
|
||||
|
||||
var watermark = new ImageWatermark {
|
||||
ImagePath = "TestImages/sample_wm.png",
|
||||
Layout = { Position = ImagePosition.Center, Scale = 1},
|
||||
Style = { Pave = true, Opacity = 1}
|
||||
};
|
||||
|
||||
var results = pipeline.ProcessDirectory("TestImages", "test/pipeline/image/dir", watermark);
|
||||
|
||||
Assert.IsTrue(results.Count > 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user