using SabreTools.DatItems; using SabreTools.DatItems.Formats; using SabreTools.Filtering; using Xunit; namespace SabreTools.Test.Filtering { public class RemoverTests { [Fact] public void RemoveFieldsDatItemTest() { var datItem = CreateDatItem(); var remover = new Remover(); remover.PopulateExclusions("DatItem.Name"); remover.RemoveFields(datItem); Assert.Null(datItem.GetName()); } [Fact] public void RemoveFieldsMachineTest() { var datItem = CreateDatItem(); var remover = new Remover(); remover.PopulateExclusions("Machine.Name"); remover.RemoveFields(datItem); Assert.Null(datItem.GetFieldValue(DatItem.MachineKey)!.GetFieldValue(Models.Metadata.Machine.NameKey)); } /// /// Generate a consistent DatItem for testing /// private static DatItem CreateDatItem() { var machine = new Machine(); machine.SetFieldValue(Models.Metadata.Machine.NameKey, "bar"); machine.SetFieldValue(Models.Metadata.Machine.DescriptionKey, "bar"); var rom = new Rom(); rom.SetName("foo"); rom.SetFieldValue(DatItem.MachineKey, machine); return rom; } } }