using SabreTools.DatFiles; using SabreTools.DatItems; using SabreTools.DatItems.Formats; using Xunit; namespace SabreTools.Test.DatFiles { public class SetterTests { [Fact] public void SetFieldsDatItemTest() { var datItem = CreateDatItem(); var setter = new Setter(); setter.PopulateSetters("datitem.name", "bar"); setter.SetFields(datItem); Assert.Equal("bar", datItem.GetName()); } [Fact] public void SetFieldsMachineTest() { var datItem = CreateDatItem(); var setter = new Setter(); setter.PopulateSetters("machine.name", "foo"); setter.SetFields(datItem.GetFieldValue(DatItem.MachineKey)); Assert.Equal("foo", datItem.GetFieldValue(DatItem.MachineKey)!.GetStringFieldValue(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.SetFieldValue(DatItem.MachineKey, machine); rom.SetName("foo"); return rom; } } }