Files
SabreTools/SabreTools.Test/DatFiles/DatHeaderTests.cs

47 lines
1.6 KiB
C#
Raw Normal View History

2020-12-19 22:08:42 -08:00
using SabreTools.DatFiles;
using Xunit;
namespace SabreTools.Test.DatFiles
{
public class DatHeaderTests
{
[Theory]
[InlineData(DatFormat.CSV, "csv")]
[InlineData(DatFormat.ClrMamePro, "dat")]
[InlineData(DatFormat.SabreJSON, "json")]
[InlineData(DatFormat.AttractMode, "txt")]
[InlineData(DatFormat.Logiqx, "xml")]
public void CreateOutFileNamesTest(DatFormat datFormat, string extension)
{
// Create the empty DatHeader
2024-03-10 21:54:07 -04:00
var datHeader = new DatHeader();
2024-03-10 21:41:49 -04:00
datHeader.SetFieldValue<string?>(DatHeader.FileNameKey, "test.dat");
2024-03-10 21:54:07 -04:00
datHeader.SetFieldValue<DatFormat>(DatHeader.DatFormatKey, datFormat);
2020-12-19 22:08:42 -08:00
// Invoke the method
string outDir = "C:\\Test";
var actual = datHeader.CreateOutFileNames(outDir, overwrite: true);
// Check the result
2024-07-16 00:27:12 -04:00
string expected = $"{outDir}{System.IO.Path.DirectorySeparatorChar}test.{extension}";
2020-12-19 22:08:42 -08:00
Assert.Single(actual);
Assert.Equal(expected, actual[datFormat]);
}
[Fact]
public void CreateOutFileNamesAllOutputsTest()
{
// Create the empty DatHeader
2024-03-10 21:54:07 -04:00
var datHeader = new DatHeader();
2024-03-10 21:41:49 -04:00
datHeader.SetFieldValue<string?>(DatHeader.FileNameKey, "test.dat");
2024-03-10 21:54:07 -04:00
datHeader.SetFieldValue<DatFormat>(DatHeader.DatFormatKey, DatFormat.ALL);
2020-12-19 22:08:42 -08:00
// Invoke the method
string outDir = "C:\\Test";
var actual = datHeader.CreateOutFileNames(outDir, overwrite: true);
// Check the result
Assert.Equal(26, actual.Count);
2020-12-19 22:08:42 -08:00
}
}
}