90 lines
2.7 KiB
C#
90 lines
2.7 KiB
C#
using LCU.Library.Internal.FileOperationsModels.Models.NameSettings;
|
|
using LCU.Library.Internal.FileOperationsModels.Shared;
|
|
using System.Collections.Generic;
|
|
using Xunit;
|
|
|
|
namespace LCU.Api.Internal.FileOperationsTests.Shared
|
|
{
|
|
public class RegexNameHandlerTest
|
|
{
|
|
|
|
[Fact]
|
|
public void BuildFileList_NoRegex_Return_SingleFileName()
|
|
{
|
|
// arrange
|
|
var name = "testfile.txt";
|
|
var path = "\\TEST";
|
|
var settings = new DynamicNameSetting();
|
|
|
|
// act
|
|
var result = RegexNameHandler.BuildFileList(path, name, settings);
|
|
|
|
// assert
|
|
Assert.Single(result);
|
|
}
|
|
|
|
[Fact]
|
|
public void BuildRegexName_Return_FileName_OneRegex_Replaced()
|
|
{
|
|
// arrange
|
|
var name = "testfile_{Regex01}.txt";
|
|
var settings = new DynamicNameSetting();
|
|
settings.RegexSettings = new List<RegexSetting>();
|
|
var regexTest = new RegexSetting()
|
|
{
|
|
Tag = "{Regex01}",
|
|
Regex = "\\d*"
|
|
};
|
|
settings.RegexSettings.Add(regexTest);
|
|
|
|
// act
|
|
var result = RegexNameHandler.BuildRegexName(name, settings);
|
|
|
|
// assert
|
|
Assert.Equal("testfile_\\d*.txt", result.ToString());
|
|
}
|
|
|
|
[Fact]
|
|
public void BuildRegexName_Return_FileName_TwoRegex_Replaced()
|
|
{
|
|
// arrange
|
|
var name = "testfile_{Regex01}_Test_{Regex02}.txt";
|
|
var settings = new DynamicNameSetting();
|
|
settings.RegexSettings = new List<RegexSetting>();
|
|
var regexTest1 = new RegexSetting()
|
|
{
|
|
Tag = "{Regex01}",
|
|
Regex = "\\d*"
|
|
};
|
|
settings.RegexSettings.Add(regexTest1);
|
|
|
|
var regexTest2 = new RegexSetting()
|
|
{
|
|
Tag = "{Regex02}",
|
|
Regex = "\\w*"
|
|
};
|
|
settings.RegexSettings.Add(regexTest2);
|
|
|
|
// act
|
|
var result = RegexNameHandler.BuildRegexName(name, settings);
|
|
|
|
// assert
|
|
Assert.Equal("testfile_\\d*_Test_\\w*.txt", result.ToString());
|
|
}
|
|
|
|
[Fact]
|
|
public void ReplaceTagWithRegex_Return_FileName_OneRegex_Replaced()
|
|
{
|
|
// arrange
|
|
var name = "testfile_{Regex01}.txt";
|
|
var tag = "{Regex01}";
|
|
var regex = "\\d*";
|
|
|
|
// act
|
|
var result = RegexNameHandler.ReplaceTagWithRegex(name, tag, regex);
|
|
|
|
// assert
|
|
Assert.Equal("testfile_\\d*.txt", result);
|
|
}
|
|
}
|
|
} |