Replacement code to own class

This commit is contained in:
Matt Nadareski
2021-02-01 12:35:59 -08:00
parent c8c38228e3
commit bb7f078802
9 changed files with 1144 additions and 1102 deletions

View File

@@ -8,28 +8,6 @@ namespace SabreTools.Test.DatItems
{
public class DatItemToolTests
{
[Fact]
public void ReplaceFieldsDatItemTest()
{
var datItem = CreateDatItem();
var repDatItem = CreateDatItem();
repDatItem.SetName("bar");
var fields = new List<DatItemField> { DatItemField.Name };
DatItemTool.ReplaceFields(datItem, repDatItem, fields);
Assert.Equal("bar", datItem.GetName());
}
[Fact]
public void ReplaceFieldsMachineTest()
{
var datItem = CreateDatItem();
var repDatItem = CreateDatItem();
repDatItem.Machine.Name = "foo";
var fields = new List<MachineField> { MachineField.Name };
DatItemTool.ReplaceFields(datItem.Machine, repDatItem.Machine, fields, false);
Assert.Equal("foo", datItem.Machine.Name);
}
[Fact]
public void SetFieldsDatItemTest()
{
@@ -48,16 +26,6 @@ namespace SabreTools.Test.DatItems
Assert.Equal("foo", datItem.Machine.Name);
}
[Fact]
public void SetOneRomPerGameTest()
{
var datItem = CreateDatItem();
datItem.SetName("foo.bin");
DatItemTool.SetOneRomPerGame(datItem);
Assert.Equal("foo.bin", datItem.GetName());
Assert.Equal("bar/foo", datItem.Machine.Name);
}
/// <summary>
/// Generate a consistent DatItem for testing
/// </summary>

View File

@@ -0,0 +1,50 @@
using System.Collections.Generic;
using SabreTools.Core;
using SabreTools.DatItems;
using SabreTools.DatTools;
using Xunit;
namespace SabreTools.Test.DatTools
{
public class ReplacerTests
{
[Fact]
public void ReplaceFieldsDatItemTest()
{
var datItem = CreateDatItem();
var repDatItem = CreateDatItem();
repDatItem.SetName("bar");
var fields = new List<DatItemField> { DatItemField.Name };
Replacer.ReplaceFields(datItem, repDatItem, fields);
Assert.Equal("bar", datItem.GetName());
}
[Fact]
public void ReplaceFieldsMachineTest()
{
var datItem = CreateDatItem();
var repDatItem = CreateDatItem();
repDatItem.Machine.Name = "foo";
var fields = new List<MachineField> { MachineField.Name };
Replacer.ReplaceFields(datItem.Machine, repDatItem.Machine, fields, false);
Assert.Equal("foo", datItem.Machine.Name);
}
/// <summary>
/// Generate a consistent DatItem for testing
/// </summary>
private DatItem CreateDatItem()
{
return new Rom
{
Name = "foo",
Machine = new Machine
{
Name = "bar",
Description = "bar",
}
};
}
}
}

View File

@@ -95,6 +95,26 @@ namespace SabreTools.Test.Filtering
Assert.Equal("name-3", datItem.Machine.Description);
}
[Fact]
public void SetOneRomPerGameTest()
{
// Setup cleaner
var cleaner = new Cleaner
{
OneRomPerGame = true,
};
// Setup DatItem
var datItem = CreateDatItem("name", "name-2", "name-3");
// Run cleaning
cleaner.SetOneRomPerGame(datItem);
// Check the fields
Assert.Equal("name", datItem.GetName());
Assert.Equal("name-2/name", datItem.Machine.Name);
}
/// <summary>
/// Generate a consistent DatItem for testing
/// </summary>

View File

@@ -19,7 +19,7 @@ namespace SabreTools.Test.Filtering
var datItem = CreateDatItem();
// Run filters
bool actual = filter.PassesFilters(datItem);
bool actual = filter.PassesAllFilters(datItem);
Assert.True(actual);
}
@@ -34,7 +34,7 @@ namespace SabreTools.Test.Filtering
var datItem = CreateDatItem();
// Run filters
bool actual = filter.PassesFilters(datItem);
bool actual = filter.PassesAllFilters(datItem);
Assert.False(actual);
}
@@ -49,7 +49,7 @@ namespace SabreTools.Test.Filtering
var datItem = CreateDatItem();
// Run filters
bool actual = filter.PassesFilters(datItem);
bool actual = filter.PassesAllFilters(datItem);
Assert.True(actual);
}
@@ -64,7 +64,7 @@ namespace SabreTools.Test.Filtering
var datItem = CreateDatItem();
// Run filters
bool actual = filter.PassesFilters(datItem);
bool actual = filter.PassesAllFilters(datItem);
Assert.False(actual);
}