Updating
This commit is contained in:
+144
@@ -0,0 +1,144 @@
|
||||
using LCU.Library.Internal.FileOperationsModels.Models.NameSettings;
|
||||
using LCU.Library.Internal.FileOperationsModels.Shared;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Xunit;
|
||||
|
||||
namespace LCU.Api.Internal.FileOperationsTests.Shared
|
||||
{
|
||||
public class DynamicNameBuilderTest
|
||||
{
|
||||
public DynamicNameBuilderTest()
|
||||
{
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void EmptyFileNameSettings_Return_FileName()
|
||||
{
|
||||
// arrange
|
||||
var name = "testfile.txt";
|
||||
var settings = new DynamicNameSetting();
|
||||
|
||||
// act
|
||||
var result = DynamicNameBuilder.BuildDynamicName(name, settings);
|
||||
|
||||
// assert
|
||||
Assert.Equal(name, result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void NullFileNameSettings_Return_FileName()
|
||||
{
|
||||
// arrange
|
||||
var name = "testfile.txt";
|
||||
DynamicNameSetting settings = null;
|
||||
|
||||
// act
|
||||
var result = DynamicNameBuilder.BuildDynamicName(name, settings);
|
||||
|
||||
// assert
|
||||
Assert.Equal(name, result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Return_FileName_dd_MM()
|
||||
{
|
||||
// arrange
|
||||
var name = "testfile_{TestDate}.txt";
|
||||
var settings = new DynamicNameSetting();
|
||||
|
||||
var dateFormatSetting = new DateFormatSetting();
|
||||
dateFormatSetting.Tag = "{TestDate}";
|
||||
dateFormatSetting.DateFormat = "dd_MM";
|
||||
settings.DateFormatSettings = new List<DateFormatSetting>();
|
||||
settings.DateFormatSettings.Add(dateFormatSetting);
|
||||
|
||||
// act
|
||||
var result = DynamicNameBuilder.BuildDynamicName(name, settings);
|
||||
|
||||
// assert
|
||||
Assert.Equal($"testfile_{DateTime.Now:dd_MM}.txt", result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Minus_One_Day_Return_FileName_dd_MM()
|
||||
{
|
||||
// arrange
|
||||
var name = "testfile_{TestDate}.txt";
|
||||
var settings = new DynamicNameSetting();
|
||||
settings.DaysFromToday = -1;
|
||||
|
||||
var dateFormatSetting = new DateFormatSetting();
|
||||
dateFormatSetting.Tag = "{TestDate}";
|
||||
dateFormatSetting.DateFormat = "dd_MM";
|
||||
settings.DateFormatSettings = new List<DateFormatSetting>();
|
||||
settings.DateFormatSettings.Add(dateFormatSetting);
|
||||
|
||||
// act
|
||||
var result = DynamicNameBuilder.BuildDynamicName(name, settings);
|
||||
|
||||
// assert
|
||||
Assert.Equal($"testfile_{DateTime.Now.AddDays(-1):dd_MM}.txt", result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Multiple_Formats_sepratedby_dashs_Return_FileName_dd_MM_yyyy()
|
||||
{
|
||||
// arrange
|
||||
var name = "testfile_{TestDate}-{TestDate2}-{TestDate3}.txt";
|
||||
var settings = new DynamicNameSetting();
|
||||
settings.DateFormatSettings = new List<DateFormatSetting>();
|
||||
|
||||
var dateFormatSetting1 = new DateFormatSetting();
|
||||
dateFormatSetting1.Tag = "{TestDate}";
|
||||
dateFormatSetting1.DateFormat = "dd";
|
||||
settings.DateFormatSettings.Add(dateFormatSetting1);
|
||||
|
||||
var dateFormatSetting2 = new DateFormatSetting();
|
||||
dateFormatSetting2.Tag = "{TestDate2}";
|
||||
dateFormatSetting2.DateFormat = "MM";
|
||||
settings.DateFormatSettings.Add(dateFormatSetting2);
|
||||
|
||||
var dateFormatSetting3 = new DateFormatSetting();
|
||||
dateFormatSetting3.Tag = "{TestDate3}";
|
||||
dateFormatSetting3.DateFormat = "yyyy";
|
||||
settings.DateFormatSettings.Add(dateFormatSetting3);
|
||||
|
||||
// act
|
||||
var result = DynamicNameBuilder.BuildDynamicName(name, settings);
|
||||
|
||||
// assert
|
||||
Assert.Equal($"testfile_{DateTime.Now:dd}-{DateTime.Now:MM}-{DateTime.Now:yyyy}.txt", result);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Multiple_Formats_nosepration_Return_FileName_ddMMyyyy()
|
||||
{
|
||||
// arrange
|
||||
var fileName = "testfile_{TestDate}{TestDate2}{TestDate3}.txt";
|
||||
var settings = new DynamicNameSetting();
|
||||
settings.DateFormatSettings = new List<DateFormatSetting>();
|
||||
|
||||
var dateFormatSetting1 = new DateFormatSetting();
|
||||
dateFormatSetting1.Tag = "{TestDate}";
|
||||
dateFormatSetting1.DateFormat = "dd";
|
||||
settings.DateFormatSettings.Add(dateFormatSetting1);
|
||||
|
||||
var dateFormatSetting2 = new DateFormatSetting();
|
||||
dateFormatSetting2.Tag = "{TestDate2}";
|
||||
dateFormatSetting2.DateFormat = "MM";
|
||||
settings.DateFormatSettings.Add(dateFormatSetting2);
|
||||
|
||||
var dateFormatSetting3 = new DateFormatSetting();
|
||||
dateFormatSetting3.Tag = "{TestDate3}";
|
||||
dateFormatSetting3.DateFormat = "yyyy";
|
||||
settings.DateFormatSettings.Add(dateFormatSetting3);
|
||||
|
||||
// act
|
||||
var result = DynamicNameBuilder.BuildDynamicName(fileName, settings);
|
||||
|
||||
// assert
|
||||
Assert.Equal($"testfile_{DateTime.Now:dd}{DateTime.Now:MM}{DateTime.Now:yyyy}.txt", result);
|
||||
}
|
||||
}
|
||||
}
|
||||
+90
@@ -0,0 +1,90 @@
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user