Files
monorepo/LCU.API.Internal.FileOperations/LCU.Api.Internal.FileOperationsTests/Shared/DynamicNameBuilderTest.cs
T
2026-04-27 10:50:07 -05:00

144 lines
5.0 KiB
C#

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);
}
}
}