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.Machine.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 { Machine = machine }; rom.SetName("foo"); return rom; } } }