144 lines
5.0 KiB
C#
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);
|
|
}
|
|
}
|
|
} |