Files
FileFlowsPlugins/BasicNodes/Tests/FileSizeCompareTests.cs
2022-02-04 14:21:54 +13:00

115 lines
3.5 KiB
C#

#if(DEBUG)
namespace BasicNodes.Tests
{
using FileFlows.BasicNodes.File;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class FileSizeCompareTests
{
private string CreateFile(int size)
{
string tempFile = Path.Combine(Path.GetTempPath(), Guid.NewGuid().ToString());
File.WriteAllText(tempFile, new string('a', size));
return tempFile;
}
[TestMethod]
public void FileSize_Shrunk()
{
string tempFile = CreateFile(2);
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty);
string wfFile = CreateFile(1);
args.SetWorkingFile(wfFile);
FileSizeCompare node = new();
int result = node.Execute(args);
Assert.AreEqual(1, result);
}
[TestMethod]
public void FileSize_Grew()
{
string tempFile = CreateFile(2);
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty);
string wfFile = CreateFile(20);
args.SetWorkingFile(wfFile);
FileSizeCompare node = new ();
int result = node.Execute(args);
Assert.AreEqual(3, result);
}
[TestMethod]
public void FileSize_SameSize()
{
string tempFile = CreateFile(2);
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty);
string wfFile = CreateFile(2);
args.SetWorkingFile(wfFile);
FileSizeCompare node = new();
int result = node.Execute(args);
Assert.AreEqual(2, result);
}
[TestMethod]
public void FileSize_Shrunk_OriginalDeleted()
{
string tempFile = CreateFile(2);
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty);
Assert.IsTrue(args.WorkingFileSize > 0);
File.Delete(tempFile);
string wfFile = CreateFile(1);
args.SetWorkingFile(wfFile);
FileSizeCompare node = new();
int result = node.Execute(args);
Assert.AreEqual(1, result);
}
[TestMethod]
public void FileSize_Grew_OriginalDeleted()
{
string tempFile = CreateFile(2);
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty);
File.Delete(tempFile);
string wfFile = CreateFile(20);
args.SetWorkingFile(wfFile);
FileSizeCompare node = new();
int result = node.Execute(args);
Assert.AreEqual(3, result);
}
[TestMethod]
public void FileSize_SameSize_OriginalDeleted()
{
string tempFile = CreateFile(2);
var logger = new TestLogger();
var args = new FileFlows.Plugin.NodeParameters(tempFile, logger, false, string.Empty);
File.Delete(tempFile);
string wfFile = CreateFile(2);
args.SetWorkingFile(wfFile);
FileSizeCompare node = new();
int result = node.Execute(args);
Assert.AreEqual(2, result);
}
}
}
#endif