Files
FileFlowsPlugins/ImageNodes/Tests/ImageTests.cs
2024-05-10 17:53:09 +12:00

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