mirror of
https://github.com/claunia/SabreTools.git
synced 2025-12-16 19:14:27 +00:00
Port Remover tests to new project
This commit is contained in:
@@ -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
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user