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 System.Collections.Generic;
|
||||||
using SabreTools.DatTools;
|
using SabreTools.DatItems;
|
||||||
|
using SabreTools.DatItems.Formats;
|
||||||
using Xunit;
|
using Xunit;
|
||||||
|
|
||||||
namespace SabreTools.Test
|
namespace SabreTools.DatTools.Test
|
||||||
{
|
{
|
||||||
public class PopulationTests
|
public class RemoverTests
|
||||||
{
|
{
|
||||||
|
#region PopulateExclusionsFromList
|
||||||
|
|
||||||
[Fact]
|
[Fact]
|
||||||
public void PopulateExclusionsFromList_Null()
|
public void PopulateExclusionsFromList_Null()
|
||||||
{
|
{
|
||||||
@@ -94,5 +97,40 @@ namespace SabreTools.Test
|
|||||||
Assert.Empty(remover.MachineFieldNames);
|
Assert.Empty(remover.MachineFieldNames);
|
||||||
Assert.Single(remover.ItemFieldNames);
|
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++)
|
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]);
|
RemoveFields(items[j]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -234,11 +239,6 @@ namespace SabreTools.DatTools
|
|||||||
|
|
||||||
#region Common
|
#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 there are no field names, return
|
||||||
if (ItemFieldNames == null || ItemFieldNames.Count == 0)
|
if (ItemFieldNames == null || ItemFieldNames.Count == 0)
|
||||||
return;
|
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