Port Remover tests to new project

This commit is contained in:
Matt Nadareski
2025-02-19 14:20:05 -05:00
parent 0fe0f0a235
commit e94ac90e73
3 changed files with 46 additions and 45 deletions

View File

@@ -1,11 +1,14 @@
using System.Collections.Generic;
using SabreTools.DatTools;
using SabreTools.DatItems;
using SabreTools.DatItems.Formats;
using Xunit;
namespace SabreTools.Test
namespace SabreTools.DatTools.Test
{
public class PopulationTests
public class RemoverTests
{
#region PopulateExclusionsFromList
[Fact]
public void PopulateExclusionsFromList_Null()
{
@@ -94,5 +97,40 @@ namespace SabreTools.Test
Assert.Empty(remover.MachineFieldNames);
Assert.Single(remover.ItemFieldNames);
}
#endregion
#region RemoveFields
// TODO: Add RemoveFields_DatHeader test
[Fact]
public void RemoveFields_DatItem()
{
var datItem = new Rom();
datItem.SetName("foo");
var remover = new Remover();
remover.PopulateExclusions("DatItem.Name");
remover.RemoveFields(datItem);
Assert.Null(datItem.GetName());
}
[Fact]
public void RemoveFields_Machine()
{
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "bar");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "bar");
var remover = new Remover();
remover.PopulateExclusions("Machine.Name");
remover.RemoveFields(machine);
Assert.Null(machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
}
#endregion
}
}

View File

@@ -174,6 +174,11 @@ namespace SabreTools.DatTools
for (int j = 0; j < items.Count; j++)
{
// Handle machine removals
var machine = items[j].GetFieldValue<Machine>(DatItem.MachineKey);
RemoveFields(machine);
// Handle item removals
RemoveFields(items[j]);
}
}
@@ -234,11 +239,6 @@ namespace SabreTools.DatTools
#region Common
// Handle Machine fields
var machine = datItem.GetFieldValue<Machine>(DatItem.MachineKey);
if (MachineFieldNames.Count > 0 && machine != null)
RemoveFields(machine);
// If there are no field names, return
if (ItemFieldNames == null || ItemFieldNames.Count == 0)
return;

View File

@@ -1,37 +0,0 @@
using SabreTools.DatItems;
using SabreTools.DatItems.Formats;
using SabreTools.DatTools;
using Xunit;
namespace SabreTools.Test
{
public class RemoverTests
{
[Fact]
public void RemoveFields_DatItem()
{
var datItem = new Rom();
datItem.SetName("foo");
var remover = new Remover();
remover.PopulateExclusions("DatItem.Name");
remover.RemoveFields(datItem);
Assert.Null(datItem.GetName());
}
[Fact]
public void RemoveFields_Machine()
{
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "bar");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "bar");
var remover = new Remover();
remover.PopulateExclusions("Machine.Name");
remover.RemoveFields(machine);
Assert.Null(machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
}
}
}