Files
FileFlowsPlugins/BasicNodes/Tests/PatternMatchTests.cs
reven c59a8ee0e3 moved variable replacing to Plugin dll.
made renamer replace empty [] and ()s
made renamer use a safe file name from nodeparameters
fixed issue with pattern match returning 0 instead of 2 for no match
added dummy data to variables so UI can preview variable replacements
2021-11-24 22:28:21 +13:00

60 lines
1.9 KiB
C#

#if(DEBUG)
namespace BasicNodes.Tests
{
using FileFlows.BasicNodes.Functions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
[TestClass]
public class PatternMatchTests
{
[TestMethod]
public void PatternMatch_Extension()
{
PatternMatch pm = new PatternMatch();
pm.Pattern = @"\.mkv$";
var args = new FileFlows.Plugin.NodeParameters(@"c:\test\testfile.mkv");
args.SetWorkingFile($@"c:\temp\{Guid.NewGuid().ToString()}.mkv", dontDelete: true);
var result = pm.Execute(args);
Assert.AreEqual(1, result);
}
[TestMethod]
public void PatternMatch_NotMatch()
{
PatternMatch pm = new PatternMatch();
pm.Pattern = @"\.mkv$";
var args = new FileFlows.Plugin.NodeParameters(@"c:\test\testfile.avi");
args.SetWorkingFile($@"c:\temp\{Guid.NewGuid().ToString()}.avi", dontDelete: true);
var result = pm.Execute(args);
Assert.AreEqual(2, result);
}
[TestMethod]
public void PatternMatch_BadExpression()
{
PatternMatch pm = new PatternMatch();
pm.Pattern = @"[-$";
var args = new FileFlows.Plugin.NodeParameters(@"c:\test\testfile.avi");
args.SetWorkingFile($@"c:\temp\{Guid.NewGuid().ToString()}.avi", dontDelete: true);
var result = pm.Execute(args);
Assert.AreEqual(-1, result);
}
[TestMethod]
public void PatternMatch_Trailer()
{
PatternMatch pm = new PatternMatch();
pm.Pattern = @"\-trailer";
var args = new FileFlows.Plugin.NodeParameters(@"c:\test\testfile-TRAILER.avi");
args.SetWorkingFile($@"c:\temp\{Guid.NewGuid().ToString()}.avi", dontDelete: true);
var result = pm.Execute(args);
Assert.AreEqual(2, result);
}
}
}
#endif