mirror of
https://github.com/revenz/FileFlowsPlugins.git
synced 2025-12-30 23:19:30 -06:00
317 lines
9.8 KiB
C#
317 lines
9.8 KiB
C#
// #if(DEBUG)
|
|
//
|
|
// using FileFlows.ImageNodes.Images;
|
|
// using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|
// using System.Runtime.InteropServices;
|
|
// using Microsoft.VisualStudio.TestTools.UnitTesting.Logging;
|
|
//
|
|
// namespace FileFlows.ImageNodes.Tests;
|
|
//
|
|
// [TestClass]
|
|
// public class ImageNodesTests
|
|
// {
|
|
// string? TestImage1;
|
|
// string? TestImage2;
|
|
// string? TestImageHeic;
|
|
// string TempDir;
|
|
// string? TestCropImage1, TestCropImage2, TestCropImage3, TestCropImage4, TestCropImageNoCrop, TestExif;
|
|
//
|
|
// public ImageNodesTests()
|
|
// {
|
|
// bool isWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows);
|
|
// if (isWindows)
|
|
// {
|
|
// TestImage1 = @"D:\videos\pictures\image1.jpg";
|
|
// TestImage2 = @"D:\videos\pictures\image2.png";
|
|
// TempDir = @"D:\videos\temp";
|
|
// TestCropImage1 = @"D:\images\testimages\crop01.jpg";
|
|
// TestCropImage2 = @"D:\images\testimages\crop02.jpg";
|
|
// TestCropImage3 = @"D:\images\testimages\crop03.jpg";
|
|
// TestCropImage4 = @"D:\images\testimages\crop04.jpg";
|
|
// TestCropImageNoCrop = @"D:\images\testimages\nocrop.jpg";
|
|
// }
|
|
// else
|
|
// {
|
|
// TestCropImage1 = "/home/john/Pictures/cropme2.jpg";
|
|
// TestCropImage2 = "/home/john/Pictures/cropme.jpg";
|
|
// TestCropImage3 = "/home/john/Pictures/crop.heic";
|
|
// TestImageHeic = "/home/john/Pictures/crop.heic";
|
|
// TestImage1 = "/home/john/Pictures/circle.jpg";
|
|
// TestImage2 = "/home/john/Pictures/36410427.png";
|
|
// TempDir = "/home/john/temp/";
|
|
// TestExif = "/home/john/Pictures/exif_test.jpg";
|
|
// }
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_ImageFormat()
|
|
// {
|
|
// var args = new NodeParameters(TestImage1, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageFormat();
|
|
// node.Format = IMAGE_FORMAT_GIF;
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_ImageFormat_Heic()
|
|
// {
|
|
// var args = new NodeParameters(TestImageHeic, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageFormat();
|
|
// node.Format = "HEIC";
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_IsLandscape_Heic()
|
|
// {
|
|
// var args = new NodeParameters(TestImageHeic, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var imageNode = new ImageFile();
|
|
// imageNode.Execute(args);
|
|
//
|
|
// var node = new ImageIsLandscape();
|
|
// node.PreExecute(args);
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_Resize()
|
|
// {
|
|
// var logger = new TestLogger();
|
|
// var args = new NodeParameters(TestImage1, logger, false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageResizer();
|
|
// node.Width = 1920;
|
|
// node.Height = 1080;
|
|
// node.Format = string.Empty;
|
|
// node.Mode = ResizeMode.Max;
|
|
// var result = node.Execute(args);
|
|
// var log = logger.ToString();
|
|
// Assert.AreEqual(1, result);
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_Resize_Heic()
|
|
// {
|
|
// var args = new NodeParameters(TestImageHeic, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageResizer();
|
|
// node.Width = 1000;
|
|
// node.Height = 500;
|
|
// node.Mode = ResizeMode.Fill;
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_Resize_Percent()
|
|
// {
|
|
// var args = new NodeParameters(TestImage1, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var imgFile = new ImageFile();
|
|
// imgFile.Execute(args);
|
|
// int width = imgFile.GetImageInfo(args)?.Width ?? 0;
|
|
// int height = imgFile.GetImageInfo(args)?.Height ?? 0;
|
|
//
|
|
// var node = new ImageResizer();
|
|
// node.Width = 200;
|
|
// node.Height = 50;
|
|
// node.Percent = true;
|
|
// node.Mode = ResizeMode.Fill;
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// var img = node.GetImageInfo(args);
|
|
// Assert.IsNotNull(img);
|
|
// Assert.AreEqual(width * 2, img.Width);
|
|
// Assert.AreEqual(height / 2, img.Height);
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_Flip()
|
|
// {
|
|
// var args = new NodeParameters(TestImage2, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageFlip();
|
|
// node.Vertical = false;
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// }
|
|
//
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_Flip_Heic()
|
|
// {
|
|
// var args = new NodeParameters(TestImageHeic, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageFlip();
|
|
// node.Vertical = false;
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_Rotate()
|
|
// {
|
|
// var args = new NodeParameters(TestImage2, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageRotate();
|
|
// node.Angle = 270;
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_Rotate_Heic()
|
|
// {
|
|
// var args = new NodeParameters(TestImageHeic, new TestLogger(), false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageRotate();
|
|
// node.Angle = 270;
|
|
// Assert.AreEqual(1, node.Execute(args));
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_AutoCrop_01()
|
|
// {
|
|
// Assert.IsTrue(System.IO.File.Exists(TestCropImage1));
|
|
// var logger = new TestLogger();
|
|
// var args = new NodeParameters(TestCropImage1, logger, false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new AutoCropImage();
|
|
// node.Threshold = 30;
|
|
// node.PreExecute(args);
|
|
// int result = node.Execute(args);
|
|
//
|
|
// string log = logger.ToString();
|
|
// Assert.AreEqual(1, result);
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_AutoCrop_02()
|
|
// {
|
|
// var logger = new TestLogger();
|
|
// var args = new NodeParameters(TestCropImage2, logger, false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new AutoCropImage();
|
|
// node.Threshold = 95;
|
|
// int result = node.Execute(args);
|
|
//
|
|
// string log = logger.ToString();
|
|
// Assert.AreEqual(1, result);
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_AutoCrop_03()
|
|
// {
|
|
// var logger = new TestLogger();
|
|
// var args = new NodeParameters(TestCropImage3, logger, false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new AutoCropImage();
|
|
// node.Threshold = 30;
|
|
// node.PreExecute(args);
|
|
// int result = node.Execute(args);
|
|
//
|
|
// string log = logger.ToString();
|
|
// Assert.AreEqual(1, result);
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_AutoCrop_04()
|
|
// {
|
|
// var logger = new TestLogger();
|
|
// var args = new NodeParameters(TestCropImage4, logger, false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// //var rotate = new ImageRotate();
|
|
// //rotate.Angle = 270;
|
|
// //rotate.PreExecute(args);
|
|
// //rotate.Execute(args);
|
|
//
|
|
//
|
|
// var node = new AutoCropImage();
|
|
// node.Threshold = 70;
|
|
// node.PreExecute(args);
|
|
// int result = node.Execute(args);
|
|
//
|
|
// string log = logger.ToString();
|
|
// Assert.AreEqual(1, result);
|
|
// }
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_AutoCrop_NoCrop()
|
|
// {
|
|
// var logger = new TestLogger();
|
|
// var args = new NodeParameters(TestCropImageNoCrop, logger, false, string.Empty, null!)
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new AutoCropImage();
|
|
// node.Threshold = 50;
|
|
// node.PreExecute(args);
|
|
// int result = node.Execute(args);
|
|
//
|
|
// string log = logger.ToString();
|
|
// Assert.AreEqual(2, result);
|
|
// }
|
|
//
|
|
//
|
|
// [TestMethod]
|
|
// public void ImageNodes_Basic_Exif()
|
|
// {
|
|
// var logger = new TestLogger();
|
|
// var args = new NodeParameters(TestExif, logger, false, string.Empty, new LocalFileService())
|
|
// {
|
|
// TempPath = TempDir
|
|
// };
|
|
//
|
|
// var node = new ImageFile();
|
|
// var result = node.Execute(args);
|
|
// Assert.AreEqual(1, result);
|
|
// if(node.Variables.TryGetValue("img.DateTaken", out object? oDate) == false)
|
|
// Assert.Fail("Failed to get date time");
|
|
//
|
|
// if(oDate is DateTime dt == false)
|
|
// Assert.Fail("oDate is not a DateTime");
|
|
// }
|
|
// }
|
|
//
|
|
// #endif |