diff --git a/SabreTools.Data.Models/Metadata/DictionaryBase.cs b/SabreTools.Data.Models/Metadata/DictionaryBase.cs index 2b486f50..e9011bb8 100644 --- a/SabreTools.Data.Models/Metadata/DictionaryBase.cs +++ b/SabreTools.Data.Models/Metadata/DictionaryBase.cs @@ -7,6 +7,8 @@ namespace SabreTools.Data.Models.Metadata /// public abstract class DictionaryBase : Dictionary { + #region Read + /// /// Read a key as the specified type, returning null on error /// @@ -14,7 +16,7 @@ namespace SabreTools.Data.Models.Metadata { try { - if (!ValidateKey(key)) + if (!ValidateReadKey(key)) return default; if (this[key] is not T) return default; @@ -31,7 +33,7 @@ namespace SabreTools.Data.Models.Metadata /// public bool? ReadBool(string key) { - if (!ValidateKey(key)) + if (!ValidateReadKey(key)) return null; bool? asBool = Read(key); @@ -52,13 +54,23 @@ namespace SabreTools.Data.Models.Metadata /// public double? ReadDouble(string key) { - if (!ValidateKey(key)) + if (!ValidateReadKey(key)) return null; double? asDouble = Read(key); if (asDouble is not null) return asDouble; + float? asFloat = Read(key); + if (asFloat is not null) + return asFloat; + +#if NET5_0_OR_GREATER + System.Half? asHalf = Read(key); + if (asHalf is not null) + return (double?)asHalf; +#endif + string? asString = Read(key); if (asString is not null && double.TryParse(asString, out double asStringDouble)) return asStringDouble; @@ -72,13 +84,21 @@ namespace SabreTools.Data.Models.Metadata /// TODO: Add logic to convert SI suffixes and hex public long? ReadLong(string key) { - if (!ValidateKey(key)) + if (!ValidateReadKey(key)) return null; long? asLong = Read(key); if (asLong is not null) return asLong; + int? asInt = Read(key); + if (asInt is not null) + return asInt; + + short? asShort = Read(key); + if (asShort is not null) + return asShort; + string? asString = Read(key); if (asString is not null && long.TryParse(asString, out long asStringLong)) return asStringLong; @@ -91,7 +111,7 @@ namespace SabreTools.Data.Models.Metadata /// public string? ReadString(string key) { - if (!ValidateKey(key)) + if (!ValidateReadKey(key)) return null; string? asString = Read(key); @@ -117,7 +137,7 @@ namespace SabreTools.Data.Models.Metadata /// public string[]? ReadStringArray(string key) { - if (!ValidateKey(key)) + if (!ValidateReadKey(key)) return null; string[]? asArray = Read(key); @@ -136,9 +156,9 @@ namespace SabreTools.Data.Models.Metadata } /// - /// Check if a key is valid + /// Check if a key is valid for read /// - private bool ValidateKey(string key) + private bool ValidateReadKey(string key) { if (string.IsNullOrEmpty(key)) return false; @@ -149,5 +169,72 @@ namespace SabreTools.Data.Models.Metadata return true; } + + #endregion + + #region Write + + /// + /// Remove a key, if possible + /// + public new bool Remove(string? fieldName) + { + // If the item or field name are missing, we can't do anything + if (string.IsNullOrEmpty(fieldName)) + return false; + + // If the key doesn't exist, then it's already removed + if (!ContainsKey(fieldName!)) + return true; + + // Remove the key + base.Remove(fieldName!); + return true; + } + + /// + /// Replace a field from another item + /// + public bool Replace(DictionaryBase? from, string fieldName) + { + // If the source item is invalid + if (from is null) + return false; + + // If the field name is missing, we can't do anything + if (string.IsNullOrEmpty(fieldName)) + return false; + + // If the types of the items are not the same, we can't do anything + if (from.GetType() != GetType()) + return false; + + // If the key doesn't exist in the source, we can't do anything + if (!from.TryGetValue(fieldName!, out var value)) + return false; + + // Set the key + this[fieldName!] = value; + return true; + } + + /// + /// Write a key as the specified type, returning false on error + /// + /// Field to set + /// Value to set + /// True if the value was set, false otherwise + public bool Write(string fieldName, T? value) + { + // Invalid field cannot be processed + if (fieldName is null) + return false; + + // Set the value based on the type + this[fieldName] = value; + return true; + } + + #endregion } } diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs index e0583167..434da387 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs @@ -20,13 +20,13 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); DatItem datItem = new Rom(); datItem.SetName("rom.bin"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - datItem.SetFieldValue(DatItem.MachineKey, machine); - datItem.SetFieldValue(DatItem.SourceKey, source); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + datItem.Write(DatItem.MachineKey, machine); + datItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(datItem, statsOnly: false); @@ -36,7 +36,7 @@ namespace SabreTools.Metadata.DatFiles.Test var actualDatItems = datFile.GetItemsForBucket("machine"); DatItem actualRom = Assert.Single(actualDatItems); - Assert.Equal(true, actualRom.GetBoolFieldValue(DatItem.RemoveKey)); + Assert.Equal(true, actualRom.ReadBool(DatItem.RemoveKey)); } [Fact] @@ -48,13 +48,13 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); DatItem datItem = new Rom(); datItem.SetName("rom.bin"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - datItem.SetFieldValue(DatItem.MachineKey, machine); - datItem.SetFieldValue(DatItem.SourceKey, source); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + datItem.Write(DatItem.MachineKey, machine); + datItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); long sourceIndex = datFile.AddSourceDB(source); @@ -66,7 +66,7 @@ namespace SabreTools.Metadata.DatFiles.Test var actualDatItems = datFile.GetItemsForBucketDB("machine"); DatItem actualRom = Assert.Single(actualDatItems).Value; - Assert.Equal(true, actualRom.GetBoolFieldValue(DatItem.RemoveKey)); + Assert.Equal(true, actualRom.ReadBool(DatItem.RemoveKey)); } #endregion @@ -79,12 +79,12 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.DescriptionKey, "description"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.DescriptionKey, "description"); DatItem datItem = new Rom(); - datItem.SetFieldValue(DatItem.MachineKey, machine); - datItem.SetFieldValue(DatItem.SourceKey, source); + datItem.Write(DatItem.MachineKey, machine); + datItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(datItem, statsOnly: false); @@ -96,15 +96,15 @@ namespace SabreTools.Metadata.DatFiles.Test Machine? actualMachine = actual.GetMachine(); Assert.NotNull(actualMachine); Assert.Equal("description", actualMachine.GetName()); - Assert.Equal("description", actualMachine.GetStringFieldValue(Data.Models.Metadata.Machine.DescriptionKey)); + Assert.Equal("description", actualMachine.ReadString(Data.Models.Metadata.Machine.DescriptionKey)); } [Fact] public void MachineDescriptionToName_ItemsDB() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.DescriptionKey, "description"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.DescriptionKey, "description"); DatFile datFile = new Logiqx(datFile: null, useGame: false); _ = datFile.AddMachineDB(machine); @@ -113,7 +113,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine actualMachine = Assert.Single(datFile.GetMachinesDB()).Value; Assert.Equal("description", actualMachine.GetName()); - Assert.Equal("description", actualMachine.GetStringFieldValue(Data.Models.Metadata.Machine.DescriptionKey)); + Assert.Equal("description", actualMachine.ReadString(Data.Models.Metadata.Machine.DescriptionKey)); } #endregion @@ -126,17 +126,17 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); DatItem rom = new Rom(); rom.SetName("rom.bin"); - rom.SetFieldValue(DatItem.MachineKey, machine); - rom.SetFieldValue(DatItem.SourceKey, source); + rom.Write(DatItem.MachineKey, machine); + rom.Write(DatItem.SourceKey, source); DatItem disk = new Disk(); disk.SetName("disk"); - disk.SetFieldValue(DatItem.MachineKey, machine); - disk.SetFieldValue(DatItem.SourceKey, source); + disk.Write(DatItem.MachineKey, machine); + disk.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(rom, statsOnly: false); @@ -165,7 +165,7 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); DatItem rom = new Rom(); rom.SetName("rom.bin"); @@ -204,19 +204,19 @@ namespace SabreTools.Metadata.DatFiles.Test public void SetOneGamePerRegion_Items() { Machine nowhereMachine = new Machine(); - nowhereMachine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine (Nowhere)"); + nowhereMachine.Write(Data.Models.Metadata.Machine.NameKey, "machine (Nowhere)"); Machine worldMachine = new Machine(); - worldMachine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine (World)"); - worldMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "machine (Nowhere)"); + worldMachine.Write(Data.Models.Metadata.Machine.NameKey, "machine (World)"); + worldMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "machine (Nowhere)"); DatItem nowhereRom = new Rom(); nowhereRom.SetName("rom.bin"); - nowhereRom.SetFieldValue(DatItem.MachineKey, nowhereMachine); + nowhereRom.Write(DatItem.MachineKey, nowhereMachine); DatItem worldRom = new Rom(); worldRom.SetName("rom.nib"); - worldRom.SetFieldValue(DatItem.MachineKey, worldMachine); + worldRom.Write(DatItem.MachineKey, worldMachine); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(nowhereRom, statsOnly: false); @@ -238,11 +238,11 @@ namespace SabreTools.Metadata.DatFiles.Test public void SetOneGamePerRegion_ItemsDB() { Machine nowhereMachine = new Machine(); - nowhereMachine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine (Nowhere)"); + nowhereMachine.Write(Data.Models.Metadata.Machine.NameKey, "machine (Nowhere)"); Machine worldMachine = new Machine(); - worldMachine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine (World)"); - worldMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "machine (Nowhere)"); + worldMachine.Write(Data.Models.Metadata.Machine.NameKey, "machine (World)"); + worldMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "machine (Nowhere)"); DatFile datFile = new Logiqx(datFile: null, useGame: false); _ = datFile.AddMachineDB(nowhereMachine); @@ -266,11 +266,11 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "10.10.10-machine-name"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "10.10.10-machine-name"); DatItem datItem = new Rom(); - datItem.SetFieldValue(DatItem.MachineKey, machine); - datItem.SetFieldValue(DatItem.SourceKey, source); + datItem.Write(DatItem.MachineKey, machine); + datItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(datItem, statsOnly: false); @@ -288,7 +288,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void StripSceneDatesFromItems_ItemsDB() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "10.10.10-machine-name"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "10.10.10-machine-name"); DatFile datFile = new Logiqx(datFile: null, useGame: false); _ = datFile.AddMachineDB(machine); diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs index 41855676..e624e82f 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs @@ -101,16 +101,16 @@ namespace SabreTools.Metadata.DatFiles.Test Disk? disk = Array.Find(datItems, item => item is Disk disk && !disk.DiskAreaSpecified && !disk.PartSpecified) as Disk; ValidateDisk(disk); - Display? display = Array.Find(datItems, item => item is Display display && display.GetInt64FieldValue(Data.Models.Metadata.Video.AspectXKey) is null) as Display; + Display? display = Array.Find(datItems, item => item is Display display && display.ReadLong(Data.Models.Metadata.Video.AspectXKey) is null) as Display; ValidateDisplay(display); Driver? driver = Array.Find(datItems, item => item is Driver) as Driver; ValidateDriver(driver); // All other fields are tested separately - Rom? dump = Array.Find(datItems, item => item is Rom rom && rom.GetStringFieldValue(Data.Models.Metadata.Rom.OpenMSXMediaType) is not null) as Rom; + Rom? dump = Array.Find(datItems, item => item is Rom rom && rom.ReadString(Data.Models.Metadata.Rom.OpenMSXMediaType) is not null) as Rom; Assert.NotNull(dump); - Assert.Equal("rom", dump.GetStringFieldValue(Data.Models.Metadata.Rom.OpenMSXMediaType)); + Assert.Equal("rom", dump.ReadString(Data.Models.Metadata.Rom.OpenMSXMediaType)); Feature? feature = Array.Find(datItems, item => item is Feature) as Feature; ValidateFeature(feature); @@ -127,15 +127,15 @@ namespace SabreTools.Metadata.DatFiles.Test // All other fields are tested separately DipSwitch? partDipSwitch = Array.Find(datItems, item => item is DipSwitch dipSwitch && dipSwitch.PartSpecified) as DipSwitch; Assert.NotNull(partDipSwitch); - Part? dipSwitchPart = partDipSwitch.GetFieldValue(DipSwitch.PartKey); + Part? dipSwitchPart = partDipSwitch.Read(DipSwitch.PartKey); ValidatePart(dipSwitchPart); // All other fields are tested separately Disk? partDisk = Array.Find(datItems, item => item is Disk disk && disk.DiskAreaSpecified && disk.PartSpecified) as Disk; Assert.NotNull(partDisk); - DiskArea? diskDiskArea = partDisk.GetFieldValue(Disk.DiskAreaKey); + DiskArea? diskDiskArea = partDisk.Read(Disk.DiskAreaKey); ValidateDiskArea(diskDiskArea); - Part? diskPart = partDisk.GetFieldValue(Disk.PartKey); + Part? diskPart = partDisk.Read(Disk.PartKey); ValidatePart(diskPart); PartFeature? partFeature = Array.Find(datItems, item => item is PartFeature) as PartFeature; @@ -144,9 +144,9 @@ namespace SabreTools.Metadata.DatFiles.Test // All other fields are tested separately Rom? partRom = Array.Find(datItems, item => item is Rom rom && rom.DataAreaSpecified && rom.PartSpecified) as Rom; Assert.NotNull(partRom); - DataArea? romDataArea = partRom.GetFieldValue(Rom.DataAreaKey); + DataArea? romDataArea = partRom.Read(Rom.DataAreaKey); ValidateDataArea(romDataArea); - Part? romPart = partRom.GetFieldValue(Rom.PartKey); + Part? romPart = partRom.Read(Rom.PartKey); ValidatePart(romPart); Port? port = Array.Find(datItems, item => item is Port) as Port; @@ -158,7 +158,7 @@ namespace SabreTools.Metadata.DatFiles.Test Release? release = Array.Find(datItems, item => item is Release) as Release; ValidateRelease(release); - Rom? rom = Array.Find(datItems, item => item is Rom rom && !rom.DataAreaSpecified && !rom.PartSpecified && rom.GetStringFieldValue(Data.Models.Metadata.Rom.OpenMSXMediaType) is null) as Rom; + Rom? rom = Array.Find(datItems, item => item is Rom rom && !rom.DataAreaSpecified && !rom.PartSpecified && rom.ReadString(Data.Models.Metadata.Rom.OpenMSXMediaType) is null) as Rom; ValidateRom(rom); Sample? sample = Array.Find(datItems, item => item is Sample) as Sample; @@ -176,7 +176,7 @@ namespace SabreTools.Metadata.DatFiles.Test Sound? sound = Array.Find(datItems, item => item is Sound) as Sound; ValidateSound(sound); - Display? video = Array.Find(datItems, item => item is Display display && display.GetInt64FieldValue(Data.Models.Metadata.Video.AspectXKey) is not null) as Display; + Display? video = Array.Find(datItems, item => item is Display display && display.ReadLong(Data.Models.Metadata.Video.AspectXKey) is not null) as Display; ValidateVideo(video); } @@ -930,106 +930,106 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateHeader(DatHeader datHeader) { - Assert.Equal("author", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.AuthorKey)); - Assert.Equal("merged", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.BiosModeKey)); - Assert.Equal("build", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.BuildKey)); - Assert.Equal("ext", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.CanOpenKey)); - Assert.Equal("category", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.CategoryKey)); - Assert.Equal("comment", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.CommentKey)); - Assert.Equal("date", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.DateKey)); - Assert.Equal("datversion", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.DatVersionKey)); - Assert.True(datHeader.GetBoolFieldValue(Data.Models.Metadata.Header.DebugKey)); - Assert.Equal("description", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); - Assert.Equal("email", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.EmailKey)); - Assert.Equal("emulatorversion", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.EmulatorVersionKey)); - Assert.Equal("merged", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.ForceMergingKey)); - Assert.Equal("required", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.ForceNodumpKey)); - Assert.Equal("zip", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.ForcePackingKey)); - Assert.True(datHeader.GetBoolFieldValue(Data.Models.Metadata.Header.ForceZippingKey)); - Assert.Equal("header", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.HeaderKey)); - Assert.Equal("homepage", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.HomepageKey)); - Assert.Equal("id", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.IdKey)); - Assert.NotNull(datHeader.GetStringFieldValue(Data.Models.Metadata.Header.ImagesKey)); - Assert.Equal("imfolder", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.ImFolderKey)); - Assert.NotNull(datHeader.GetStringFieldValue(Data.Models.Metadata.Header.InfosKey)); - Assert.True(datHeader.GetBoolFieldValue(Data.Models.Metadata.Header.LockBiosModeKey)); - Assert.True(datHeader.GetBoolFieldValue(Data.Models.Metadata.Header.LockRomModeKey)); - Assert.True(datHeader.GetBoolFieldValue(Data.Models.Metadata.Header.LockSampleModeKey)); - Assert.Equal("mameconfig", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.MameConfigKey)); - Assert.Equal("name", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.NotNull(datHeader.GetStringFieldValue(Data.Models.Metadata.Header.NewDatKey)); - Assert.Equal("notes", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.NotesKey)); - Assert.Equal("plugin", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.PluginKey)); - Assert.Equal("refname", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.RefNameKey)); - Assert.Equal("merged", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.RomModeKey)); - Assert.Equal("romtitle", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.RomTitleKey)); - Assert.Equal("rootdir", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.RootDirKey)); - Assert.Equal("merged", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.SampleModeKey)); - Assert.Equal("schemalocation", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.SchemaLocationKey)); - Assert.Equal("screenshotsheight", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.ScreenshotsHeightKey)); - Assert.Equal("screenshotsWidth", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.ScreenshotsWidthKey)); - Assert.NotNull(datHeader.GetStringFieldValue(Data.Models.Metadata.Header.SearchKey)); - Assert.Equal("system", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.SystemKey)); - Assert.Equal("timestamp", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.TimestampKey)); - Assert.Equal("type", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.TypeKey)); - Assert.Equal("url", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.UrlKey)); - Assert.Equal("version", datHeader.GetStringFieldValue(Data.Models.Metadata.Header.VersionKey)); + Assert.Equal("author", datHeader.ReadString(Data.Models.Metadata.Header.AuthorKey)); + Assert.Equal("merged", datHeader.ReadString(Data.Models.Metadata.Header.BiosModeKey)); + Assert.Equal("build", datHeader.ReadString(Data.Models.Metadata.Header.BuildKey)); + Assert.Equal("ext", datHeader.ReadString(Data.Models.Metadata.Header.CanOpenKey)); + Assert.Equal("category", datHeader.ReadString(Data.Models.Metadata.Header.CategoryKey)); + Assert.Equal("comment", datHeader.ReadString(Data.Models.Metadata.Header.CommentKey)); + Assert.Equal("date", datHeader.ReadString(Data.Models.Metadata.Header.DateKey)); + Assert.Equal("datversion", datHeader.ReadString(Data.Models.Metadata.Header.DatVersionKey)); + Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.DebugKey)); + Assert.Equal("description", datHeader.ReadString(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("email", datHeader.ReadString(Data.Models.Metadata.Header.EmailKey)); + Assert.Equal("emulatorversion", datHeader.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey)); + Assert.Equal("merged", datHeader.ReadString(Data.Models.Metadata.Header.ForceMergingKey)); + Assert.Equal("required", datHeader.ReadString(Data.Models.Metadata.Header.ForceNodumpKey)); + Assert.Equal("zip", datHeader.ReadString(Data.Models.Metadata.Header.ForcePackingKey)); + Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.ForceZippingKey)); + Assert.Equal("header", datHeader.ReadString(Data.Models.Metadata.Header.HeaderKey)); + Assert.Equal("homepage", datHeader.ReadString(Data.Models.Metadata.Header.HomepageKey)); + Assert.Equal("id", datHeader.ReadString(Data.Models.Metadata.Header.IdKey)); + Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.ImagesKey)); + Assert.Equal("imfolder", datHeader.ReadString(Data.Models.Metadata.Header.ImFolderKey)); + Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.InfosKey)); + Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.LockBiosModeKey)); + Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.LockRomModeKey)); + Assert.True(datHeader.ReadBool(Data.Models.Metadata.Header.LockSampleModeKey)); + Assert.Equal("mameconfig", datHeader.ReadString(Data.Models.Metadata.Header.MameConfigKey)); + Assert.Equal("name", datHeader.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.NewDatKey)); + Assert.Equal("notes", datHeader.ReadString(Data.Models.Metadata.Header.NotesKey)); + Assert.Equal("plugin", datHeader.ReadString(Data.Models.Metadata.Header.PluginKey)); + Assert.Equal("refname", datHeader.ReadString(Data.Models.Metadata.Header.RefNameKey)); + Assert.Equal("merged", datHeader.ReadString(Data.Models.Metadata.Header.RomModeKey)); + Assert.Equal("romtitle", datHeader.ReadString(Data.Models.Metadata.Header.RomTitleKey)); + Assert.Equal("rootdir", datHeader.ReadString(Data.Models.Metadata.Header.RootDirKey)); + Assert.Equal("merged", datHeader.ReadString(Data.Models.Metadata.Header.SampleModeKey)); + Assert.Equal("schemalocation", datHeader.ReadString(Data.Models.Metadata.Header.SchemaLocationKey)); + Assert.Equal("screenshotsheight", datHeader.ReadString(Data.Models.Metadata.Header.ScreenshotsHeightKey)); + Assert.Equal("screenshotsWidth", datHeader.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey)); + Assert.NotNull(datHeader.ReadString(Data.Models.Metadata.Header.SearchKey)); + Assert.Equal("system", datHeader.ReadString(Data.Models.Metadata.Header.SystemKey)); + Assert.Equal("timestamp", datHeader.ReadString(Data.Models.Metadata.Header.TimestampKey)); + Assert.Equal("type", datHeader.ReadString(Data.Models.Metadata.Header.TypeKey)); + Assert.Equal("url", datHeader.ReadString(Data.Models.Metadata.Header.UrlKey)); + Assert.Equal("version", datHeader.ReadString(Data.Models.Metadata.Header.VersionKey)); } #pragma warning disable IDE0051 private static void ValidateMachine(DatItems.Machine machine) { - Assert.Equal("board", machine.GetStringFieldValue(Data.Models.Metadata.Machine.BoardKey)); - Assert.Equal("buttons", machine.GetStringFieldValue(Data.Models.Metadata.Machine.ButtonsKey)); - Assert.Equal("category", machine.GetStringFieldValue(Data.Models.Metadata.Machine.CategoryKey)); - Assert.Equal("cloneof", machine.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey)); - Assert.Equal("cloneofid", machine.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfIdKey)); - Assert.Equal("comment", machine.GetStringFieldValue(Data.Models.Metadata.Machine.CommentKey)); - Assert.Equal("company", machine.GetStringFieldValue(Data.Models.Metadata.Machine.CompanyKey)); - Assert.Equal("control", machine.GetStringFieldValue(Data.Models.Metadata.Machine.ControlKey)); - Assert.Equal("country", machine.GetStringFieldValue(Data.Models.Metadata.Machine.CountryKey)); - Assert.Equal("description", machine.GetStringFieldValue(Data.Models.Metadata.Machine.DescriptionKey)); - Assert.Equal("dirname", machine.GetStringFieldValue(Data.Models.Metadata.Machine.DirNameKey)); - Assert.Equal("displaycount", machine.GetStringFieldValue(Data.Models.Metadata.Machine.DisplayCountKey)); - Assert.Equal("displaytype", machine.GetStringFieldValue(Data.Models.Metadata.Machine.DisplayTypeKey)); - Assert.Equal("duplicateid", machine.GetStringFieldValue(Data.Models.Metadata.Machine.DuplicateIDKey)); - Assert.Equal("emulator", machine.GetStringFieldValue(Data.Models.Metadata.Machine.EmulatorKey)); - Assert.Equal("extra", machine.GetStringFieldValue(Data.Models.Metadata.Machine.ExtraKey)); - Assert.Equal("favorite", machine.GetStringFieldValue(Data.Models.Metadata.Machine.FavoriteKey)); - Assert.Equal("genmsxid", machine.GetStringFieldValue(Data.Models.Metadata.Machine.GenMSXIDKey)); - Assert.Equal("history", machine.GetStringFieldValue(Data.Models.Metadata.Machine.HistoryKey)); - Assert.Equal("id", machine.GetStringFieldValue(Data.Models.Metadata.Machine.IdKey)); - Assert.Equal(HashType.CRC32.ZeroString, machine.GetStringFieldValue(Data.Models.Metadata.Machine.Im1CRCKey)); - Assert.Equal(HashType.CRC32.ZeroString, machine.GetStringFieldValue(Data.Models.Metadata.Machine.Im2CRCKey)); - Assert.Equal("imagenumber", machine.GetStringFieldValue(Data.Models.Metadata.Machine.ImageNumberKey)); - Assert.Equal("yes", machine.GetStringFieldValue(Data.Models.Metadata.Machine.IsBiosKey)); - Assert.Equal("yes", machine.GetStringFieldValue(Data.Models.Metadata.Machine.IsDeviceKey)); - Assert.Equal("yes", machine.GetStringFieldValue(Data.Models.Metadata.Machine.IsMechanicalKey)); - Assert.Equal("language", machine.GetStringFieldValue(Data.Models.Metadata.Machine.LanguageKey)); - Assert.Equal("location", machine.GetStringFieldValue(Data.Models.Metadata.Machine.LocationKey)); - Assert.Equal("manufacturer", machine.GetStringFieldValue(Data.Models.Metadata.Machine.ManufacturerKey)); + Assert.Equal("board", machine.ReadString(Data.Models.Metadata.Machine.BoardKey)); + Assert.Equal("buttons", machine.ReadString(Data.Models.Metadata.Machine.ButtonsKey)); + Assert.Equal("category", machine.ReadString(Data.Models.Metadata.Machine.CategoryKey)); + Assert.Equal("cloneof", machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey)); + Assert.Equal("cloneofid", machine.ReadString(Data.Models.Metadata.Machine.CloneOfIdKey)); + Assert.Equal("comment", machine.ReadString(Data.Models.Metadata.Machine.CommentKey)); + Assert.Equal("company", machine.ReadString(Data.Models.Metadata.Machine.CompanyKey)); + Assert.Equal("control", machine.ReadString(Data.Models.Metadata.Machine.ControlKey)); + Assert.Equal("country", machine.ReadString(Data.Models.Metadata.Machine.CountryKey)); + Assert.Equal("description", machine.ReadString(Data.Models.Metadata.Machine.DescriptionKey)); + Assert.Equal("dirname", machine.ReadString(Data.Models.Metadata.Machine.DirNameKey)); + Assert.Equal("displaycount", machine.ReadString(Data.Models.Metadata.Machine.DisplayCountKey)); + Assert.Equal("displaytype", machine.ReadString(Data.Models.Metadata.Machine.DisplayTypeKey)); + Assert.Equal("duplicateid", machine.ReadString(Data.Models.Metadata.Machine.DuplicateIDKey)); + Assert.Equal("emulator", machine.ReadString(Data.Models.Metadata.Machine.EmulatorKey)); + Assert.Equal("extra", machine.ReadString(Data.Models.Metadata.Machine.ExtraKey)); + Assert.Equal("favorite", machine.ReadString(Data.Models.Metadata.Machine.FavoriteKey)); + Assert.Equal("genmsxid", machine.ReadString(Data.Models.Metadata.Machine.GenMSXIDKey)); + Assert.Equal("history", machine.ReadString(Data.Models.Metadata.Machine.HistoryKey)); + Assert.Equal("id", machine.ReadString(Data.Models.Metadata.Machine.IdKey)); + Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im1CRCKey)); + Assert.Equal(HashType.CRC32.ZeroString, machine.ReadString(Data.Models.Metadata.Machine.Im2CRCKey)); + Assert.Equal("imagenumber", machine.ReadString(Data.Models.Metadata.Machine.ImageNumberKey)); + Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsBiosKey)); + Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsDeviceKey)); + Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.IsMechanicalKey)); + Assert.Equal("language", machine.ReadString(Data.Models.Metadata.Machine.LanguageKey)); + Assert.Equal("location", machine.ReadString(Data.Models.Metadata.Machine.LocationKey)); + Assert.Equal("manufacturer", machine.ReadString(Data.Models.Metadata.Machine.ManufacturerKey)); Assert.Equal("name", machine.GetName()); - Assert.Equal("notes", machine.GetStringFieldValue(Data.Models.Metadata.Machine.NotesKey)); - Assert.Equal("playedcount", machine.GetStringFieldValue(Data.Models.Metadata.Machine.PlayedCountKey)); - Assert.Equal("playedtime", machine.GetStringFieldValue(Data.Models.Metadata.Machine.PlayedTimeKey)); - Assert.Equal("players", machine.GetStringFieldValue(Data.Models.Metadata.Machine.PlayersKey)); - Assert.Equal("publisher", machine.GetStringFieldValue(Data.Models.Metadata.Machine.PublisherKey)); - Assert.Equal("rebuildto", machine.GetStringFieldValue(Data.Models.Metadata.Machine.RebuildToKey)); - Assert.Equal("releasenumber", machine.GetStringFieldValue(Data.Models.Metadata.Machine.ReleaseNumberKey)); - Assert.Equal("romof", machine.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey)); - Assert.Equal("rotation", machine.GetStringFieldValue(Data.Models.Metadata.Machine.RotationKey)); - Assert.Equal("yes", machine.GetStringFieldValue(Data.Models.Metadata.Machine.RunnableKey)); - Assert.Equal("sampleof", machine.GetStringFieldValue(Data.Models.Metadata.Machine.SampleOfKey)); - Assert.Equal("savetype", machine.GetStringFieldValue(Data.Models.Metadata.Machine.SaveTypeKey)); - Assert.Equal("sourcefile", machine.GetStringFieldValue(Data.Models.Metadata.Machine.SourceFileKey)); - Assert.Equal("sourcerom", machine.GetStringFieldValue(Data.Models.Metadata.Machine.SourceRomKey)); - Assert.Equal("status", machine.GetStringFieldValue(Data.Models.Metadata.Machine.StatusKey)); - Assert.Equal("yes", machine.GetStringFieldValue(Data.Models.Metadata.Machine.SupportedKey)); - Assert.Equal("system", machine.GetStringFieldValue(Data.Models.Metadata.Machine.SystemKey)); - Assert.Equal("tags", machine.GetStringFieldValue(Data.Models.Metadata.Machine.TagsKey)); - Assert.Equal("year", machine.GetStringFieldValue(Data.Models.Metadata.Machine.YearKey)); + Assert.Equal("notes", machine.ReadString(Data.Models.Metadata.Machine.NotesKey)); + Assert.Equal("playedcount", machine.ReadString(Data.Models.Metadata.Machine.PlayedCountKey)); + Assert.Equal("playedtime", machine.ReadString(Data.Models.Metadata.Machine.PlayedTimeKey)); + Assert.Equal("players", machine.ReadString(Data.Models.Metadata.Machine.PlayersKey)); + Assert.Equal("publisher", machine.ReadString(Data.Models.Metadata.Machine.PublisherKey)); + Assert.Equal("rebuildto", machine.ReadString(Data.Models.Metadata.Machine.RebuildToKey)); + Assert.Equal("releasenumber", machine.ReadString(Data.Models.Metadata.Machine.ReleaseNumberKey)); + Assert.Equal("romof", machine.ReadString(Data.Models.Metadata.Machine.RomOfKey)); + Assert.Equal("rotation", machine.ReadString(Data.Models.Metadata.Machine.RotationKey)); + Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.RunnableKey)); + Assert.Equal("sampleof", machine.ReadString(Data.Models.Metadata.Machine.SampleOfKey)); + Assert.Equal("savetype", machine.ReadString(Data.Models.Metadata.Machine.SaveTypeKey)); + Assert.Equal("sourcefile", machine.ReadString(Data.Models.Metadata.Machine.SourceFileKey)); + Assert.Equal("sourcerom", machine.ReadString(Data.Models.Metadata.Machine.SourceRomKey)); + Assert.Equal("status", machine.ReadString(Data.Models.Metadata.Machine.StatusKey)); + Assert.Equal("yes", machine.ReadString(Data.Models.Metadata.Machine.SupportedKey)); + Assert.Equal("system", machine.ReadString(Data.Models.Metadata.Machine.SystemKey)); + Assert.Equal("tags", machine.ReadString(Data.Models.Metadata.Machine.TagsKey)); + Assert.Equal("year", machine.ReadString(Data.Models.Metadata.Machine.YearKey)); - DatItems.Trurip? trurip = machine.GetFieldValue(Data.Models.Metadata.Machine.TruripKey); + DatItems.Trurip? trurip = machine.Read(Data.Models.Metadata.Machine.TruripKey); ValidateTrurip(trurip); } #pragma warning restore IDE0051 @@ -1037,69 +1037,69 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateAdjuster(Adjuster? adjuster) { Assert.NotNull(adjuster); - Assert.True(adjuster.GetBoolFieldValue(Data.Models.Metadata.Adjuster.DefaultKey)); - Assert.Equal("name", adjuster.GetStringFieldValue(Data.Models.Metadata.Adjuster.NameKey)); + Assert.True(adjuster.ReadBool(Data.Models.Metadata.Adjuster.DefaultKey)); + Assert.Equal("name", adjuster.ReadString(Data.Models.Metadata.Adjuster.NameKey)); - Condition? condition = adjuster.GetFieldValue(Data.Models.Metadata.Adjuster.ConditionKey); + Condition? condition = adjuster.Read(Data.Models.Metadata.Adjuster.ConditionKey); ValidateCondition(condition); } private static void ValidateAnalog(Analog? analog) { Assert.NotNull(analog); - Assert.Equal("mask", analog.GetStringFieldValue(Data.Models.Metadata.Analog.MaskKey)); + Assert.Equal("mask", analog.ReadString(Data.Models.Metadata.Analog.MaskKey)); } private static void ValidateArchive(Archive? archive) { Assert.NotNull(archive); - Assert.Equal("name", archive.GetStringFieldValue(Data.Models.Metadata.Archive.NameKey)); + Assert.Equal("name", archive.ReadString(Data.Models.Metadata.Archive.NameKey)); } private static void ValidateBiosSet(BiosSet? biosSet) { Assert.NotNull(biosSet); - Assert.True(biosSet.GetBoolFieldValue(Data.Models.Metadata.BiosSet.DefaultKey)); - Assert.Equal("description", biosSet.GetStringFieldValue(Data.Models.Metadata.BiosSet.DescriptionKey)); - Assert.Equal("name", biosSet.GetStringFieldValue(Data.Models.Metadata.BiosSet.NameKey)); + Assert.True(biosSet.ReadBool(Data.Models.Metadata.BiosSet.DefaultKey)); + Assert.Equal("description", biosSet.ReadString(Data.Models.Metadata.BiosSet.DescriptionKey)); + Assert.Equal("name", biosSet.ReadString(Data.Models.Metadata.BiosSet.NameKey)); } private static void ValidateChip(Chip? chip) { Assert.NotNull(chip); - Assert.Equal(12345L, chip.GetInt64FieldValue(Data.Models.Metadata.Chip.ClockKey)); - Assert.Equal("flags", chip.GetStringFieldValue(Data.Models.Metadata.Chip.FlagsKey)); - Assert.Equal("name", chip.GetStringFieldValue(Data.Models.Metadata.Chip.NameKey)); - Assert.True(chip.GetBoolFieldValue(Data.Models.Metadata.Chip.SoundOnlyKey)); - Assert.Equal("tag", chip.GetStringFieldValue(Data.Models.Metadata.Chip.TagKey)); - Assert.Equal("cpu", chip.GetStringFieldValue(Data.Models.Metadata.Chip.ChipTypeKey)); + Assert.Equal(12345L, chip.ReadLong(Data.Models.Metadata.Chip.ClockKey)); + Assert.Equal("flags", chip.ReadString(Data.Models.Metadata.Chip.FlagsKey)); + Assert.Equal("name", chip.ReadString(Data.Models.Metadata.Chip.NameKey)); + Assert.True(chip.ReadBool(Data.Models.Metadata.Chip.SoundOnlyKey)); + Assert.Equal("tag", chip.ReadString(Data.Models.Metadata.Chip.TagKey)); + Assert.Equal("cpu", chip.ReadString(Data.Models.Metadata.Chip.ChipTypeKey)); } private static void ValidateCondition(Condition? condition) { Assert.NotNull(condition); - Assert.Equal("value", condition.GetStringFieldValue(Data.Models.Metadata.Condition.ValueKey)); - Assert.Equal("mask", condition.GetStringFieldValue(Data.Models.Metadata.Condition.MaskKey)); - Assert.Equal("eq", condition.GetStringFieldValue(Data.Models.Metadata.Condition.RelationKey)); - Assert.Equal("tag", condition.GetStringFieldValue(Data.Models.Metadata.Condition.TagKey)); + Assert.Equal("value", condition.ReadString(Data.Models.Metadata.Condition.ValueKey)); + Assert.Equal("mask", condition.ReadString(Data.Models.Metadata.Condition.MaskKey)); + Assert.Equal("eq", condition.ReadString(Data.Models.Metadata.Condition.RelationKey)); + Assert.Equal("tag", condition.ReadString(Data.Models.Metadata.Condition.TagKey)); } private static void ValidateConfiguration(Configuration? configuration) { Assert.NotNull(configuration); - Assert.Equal("mask", configuration.GetStringFieldValue(Data.Models.Metadata.Configuration.MaskKey)); - Assert.Equal("name", configuration.GetStringFieldValue(Data.Models.Metadata.Configuration.NameKey)); - Assert.Equal("tag", configuration.GetStringFieldValue(Data.Models.Metadata.Configuration.TagKey)); + Assert.Equal("mask", configuration.ReadString(Data.Models.Metadata.Configuration.MaskKey)); + Assert.Equal("name", configuration.ReadString(Data.Models.Metadata.Configuration.NameKey)); + Assert.Equal("tag", configuration.ReadString(Data.Models.Metadata.Configuration.TagKey)); - Condition? condition = configuration.GetFieldValue(Data.Models.Metadata.Configuration.ConditionKey); + Condition? condition = configuration.Read(Data.Models.Metadata.Configuration.ConditionKey); ValidateCondition(condition); - ConfLocation[]? confLocations = configuration.GetFieldValue(Data.Models.Metadata.Configuration.ConfLocationKey); + ConfLocation[]? confLocations = configuration.Read(Data.Models.Metadata.Configuration.ConfLocationKey); Assert.NotNull(confLocations); ConfLocation? confLocation = Assert.Single(confLocations); ValidateConfLocation(confLocation); - ConfSetting[]? confSettings = configuration.GetFieldValue(Data.Models.Metadata.Configuration.ConfSettingKey); + ConfSetting[]? confSettings = configuration.Read(Data.Models.Metadata.Configuration.ConfSettingKey); Assert.NotNull(confSettings); ConfSetting? confSetting = Assert.Single(confSettings); ValidateConfSetting(confSetting); @@ -1108,102 +1108,102 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateConfLocation(ConfLocation? confLocation) { Assert.NotNull(confLocation); - Assert.True(confLocation.GetBoolFieldValue(Data.Models.Metadata.ConfLocation.InvertedKey)); - Assert.Equal("name", confLocation.GetStringFieldValue(Data.Models.Metadata.ConfLocation.NameKey)); - Assert.Equal("number", confLocation.GetStringFieldValue(Data.Models.Metadata.ConfLocation.NumberKey)); + Assert.True(confLocation.ReadBool(Data.Models.Metadata.ConfLocation.InvertedKey)); + Assert.Equal("name", confLocation.ReadString(Data.Models.Metadata.ConfLocation.NameKey)); + Assert.Equal("number", confLocation.ReadString(Data.Models.Metadata.ConfLocation.NumberKey)); } private static void ValidateConfSetting(ConfSetting? confSetting) { Assert.NotNull(confSetting); - Assert.True(confSetting.GetBoolFieldValue(Data.Models.Metadata.ConfSetting.DefaultKey)); - Assert.Equal("name", confSetting.GetStringFieldValue(Data.Models.Metadata.ConfSetting.NameKey)); - Assert.Equal("value", confSetting.GetStringFieldValue(Data.Models.Metadata.ConfSetting.ValueKey)); + Assert.True(confSetting.ReadBool(Data.Models.Metadata.ConfSetting.DefaultKey)); + Assert.Equal("name", confSetting.ReadString(Data.Models.Metadata.ConfSetting.NameKey)); + Assert.Equal("value", confSetting.ReadString(Data.Models.Metadata.ConfSetting.ValueKey)); - Condition? condition = confSetting.GetFieldValue(Data.Models.Metadata.ConfSetting.ConditionKey); + Condition? condition = confSetting.Read(Data.Models.Metadata.ConfSetting.ConditionKey); ValidateCondition(condition); } private static void ValidateControl(Control? control) { Assert.NotNull(control); - Assert.Equal(12345L, control.GetInt64FieldValue(Data.Models.Metadata.Control.ButtonsKey)); - Assert.Equal(12345L, control.GetInt64FieldValue(Data.Models.Metadata.Control.KeyDeltaKey)); - Assert.Equal(12345L, control.GetInt64FieldValue(Data.Models.Metadata.Control.MaximumKey)); - Assert.Equal(12345L, control.GetInt64FieldValue(Data.Models.Metadata.Control.MinimumKey)); - Assert.Equal(12345L, control.GetInt64FieldValue(Data.Models.Metadata.Control.PlayerKey)); - Assert.Equal(12345L, control.GetInt64FieldValue(Data.Models.Metadata.Control.ReqButtonsKey)); - Assert.True(control.GetBoolFieldValue(Data.Models.Metadata.Control.ReverseKey)); - Assert.Equal(12345L, control.GetInt64FieldValue(Data.Models.Metadata.Control.SensitivityKey)); - Assert.Equal("lightgun", control.GetStringFieldValue(Data.Models.Metadata.Control.ControlTypeKey)); - Assert.Equal("ways", control.GetStringFieldValue(Data.Models.Metadata.Control.WaysKey)); - Assert.Equal("ways2", control.GetStringFieldValue(Data.Models.Metadata.Control.Ways2Key)); - Assert.Equal("ways3", control.GetStringFieldValue(Data.Models.Metadata.Control.Ways3Key)); + Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.ButtonsKey)); + Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.KeyDeltaKey)); + Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.MaximumKey)); + Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.MinimumKey)); + Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.PlayerKey)); + Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.ReqButtonsKey)); + Assert.True(control.ReadBool(Data.Models.Metadata.Control.ReverseKey)); + Assert.Equal(12345L, control.ReadLong(Data.Models.Metadata.Control.SensitivityKey)); + Assert.Equal("lightgun", control.ReadString(Data.Models.Metadata.Control.ControlTypeKey)); + Assert.Equal("ways", control.ReadString(Data.Models.Metadata.Control.WaysKey)); + Assert.Equal("ways2", control.ReadString(Data.Models.Metadata.Control.Ways2Key)); + Assert.Equal("ways3", control.ReadString(Data.Models.Metadata.Control.Ways3Key)); } private static void ValidateDataArea(DataArea? dataArea) { Assert.NotNull(dataArea); - Assert.Equal("big", dataArea.GetStringFieldValue(Data.Models.Metadata.DataArea.EndiannessKey)); - Assert.Equal("name", dataArea.GetStringFieldValue(Data.Models.Metadata.DataArea.NameKey)); - Assert.Equal(12345L, dataArea.GetInt64FieldValue(Data.Models.Metadata.DataArea.SizeKey)); - Assert.Equal(64, dataArea.GetInt64FieldValue(Data.Models.Metadata.DataArea.WidthKey)); + Assert.Equal("big", dataArea.ReadString(Data.Models.Metadata.DataArea.EndiannessKey)); + Assert.Equal("name", dataArea.ReadString(Data.Models.Metadata.DataArea.NameKey)); + Assert.Equal(12345L, dataArea.ReadLong(Data.Models.Metadata.DataArea.SizeKey)); + Assert.Equal(64, dataArea.ReadLong(Data.Models.Metadata.DataArea.WidthKey)); } private static void ValidateDevice(Device? device) { Assert.NotNull(device); - Assert.Equal("fixedimage", device.GetStringFieldValue(Data.Models.Metadata.Device.FixedImageKey)); - Assert.Equal("interface", device.GetStringFieldValue(Data.Models.Metadata.Device.InterfaceKey)); - Assert.Equal(1, device.GetInt64FieldValue(Data.Models.Metadata.Device.MandatoryKey)); - Assert.Equal("tag", device.GetStringFieldValue(Data.Models.Metadata.Device.TagKey)); - Assert.Equal("punchtape", device.GetStringFieldValue(Data.Models.Metadata.Device.DeviceTypeKey)); + Assert.Equal("fixedimage", device.ReadString(Data.Models.Metadata.Device.FixedImageKey)); + Assert.Equal("interface", device.ReadString(Data.Models.Metadata.Device.InterfaceKey)); + Assert.Equal(1, device.ReadLong(Data.Models.Metadata.Device.MandatoryKey)); + Assert.Equal("tag", device.ReadString(Data.Models.Metadata.Device.TagKey)); + Assert.Equal("punchtape", device.ReadString(Data.Models.Metadata.Device.DeviceTypeKey)); - Extension[]? extensions = device.GetFieldValue(Data.Models.Metadata.Device.ExtensionKey); + Extension[]? extensions = device.Read(Data.Models.Metadata.Device.ExtensionKey); Assert.NotNull(extensions); Extension? extension = Assert.Single(extensions); ValidateExtension(extension); - Instance? instance = device.GetFieldValue(Data.Models.Metadata.Device.InstanceKey); + Instance? instance = device.Read(Data.Models.Metadata.Device.InstanceKey); ValidateInstance(instance); } private static void ValidateDeviceRef(DeviceRef? deviceRef) { Assert.NotNull(deviceRef); - Assert.Equal("name", deviceRef.GetStringFieldValue(Data.Models.Metadata.DeviceRef.NameKey)); + Assert.Equal("name", deviceRef.ReadString(Data.Models.Metadata.DeviceRef.NameKey)); } private static void ValidateDipLocation(DipLocation? dipLocation) { Assert.NotNull(dipLocation); - Assert.True(dipLocation.GetBoolFieldValue(Data.Models.Metadata.DipLocation.InvertedKey)); - Assert.Equal("name", dipLocation.GetStringFieldValue(Data.Models.Metadata.DipLocation.NameKey)); - Assert.Equal("number", dipLocation.GetStringFieldValue(Data.Models.Metadata.DipLocation.NumberKey)); + Assert.True(dipLocation.ReadBool(Data.Models.Metadata.DipLocation.InvertedKey)); + Assert.Equal("name", dipLocation.ReadString(Data.Models.Metadata.DipLocation.NameKey)); + Assert.Equal("number", dipLocation.ReadString(Data.Models.Metadata.DipLocation.NumberKey)); } private static void ValidateDipSwitch(DipSwitch? dipSwitch) { Assert.NotNull(dipSwitch); - Assert.True(dipSwitch.GetBoolFieldValue(Data.Models.Metadata.DipSwitch.DefaultKey)); - Assert.Equal("mask", dipSwitch.GetStringFieldValue(Data.Models.Metadata.DipSwitch.MaskKey)); - Assert.Equal("name", dipSwitch.GetStringFieldValue(Data.Models.Metadata.DipSwitch.NameKey)); - Assert.Equal("tag", dipSwitch.GetStringFieldValue(Data.Models.Metadata.DipSwitch.TagKey)); + Assert.True(dipSwitch.ReadBool(Data.Models.Metadata.DipSwitch.DefaultKey)); + Assert.Equal("mask", dipSwitch.ReadString(Data.Models.Metadata.DipSwitch.MaskKey)); + Assert.Equal("name", dipSwitch.ReadString(Data.Models.Metadata.DipSwitch.NameKey)); + Assert.Equal("tag", dipSwitch.ReadString(Data.Models.Metadata.DipSwitch.TagKey)); - Condition? condition = dipSwitch.GetFieldValue(Data.Models.Metadata.DipSwitch.ConditionKey); + Condition? condition = dipSwitch.Read(Data.Models.Metadata.DipSwitch.ConditionKey); ValidateCondition(condition); - DipLocation[]? dipLocations = dipSwitch.GetFieldValue(Data.Models.Metadata.DipSwitch.DipLocationKey); + DipLocation[]? dipLocations = dipSwitch.Read(Data.Models.Metadata.DipSwitch.DipLocationKey); Assert.NotNull(dipLocations); DipLocation? dipLocation = Assert.Single(dipLocations); ValidateDipLocation(dipLocation); - DipValue[]? dipValues = dipSwitch.GetFieldValue(Data.Models.Metadata.DipSwitch.DipValueKey); + DipValue[]? dipValues = dipSwitch.Read(Data.Models.Metadata.DipSwitch.DipValueKey); Assert.NotNull(dipValues); DipValue? dipValue = Assert.Single(dipValues); ValidateDipValue(dipValue); - string[]? entries = dipSwitch.GetStringArrayFieldValue(Data.Models.Metadata.DipSwitch.EntryKey); + string[]? entries = dipSwitch.ReadStringArray(Data.Models.Metadata.DipSwitch.EntryKey); Assert.NotNull(entries); string entry = Assert.Single(entries); Assert.Equal("entry", entry); @@ -1212,103 +1212,103 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateDipValue(DipValue? dipValue) { Assert.NotNull(dipValue); - Assert.True(dipValue.GetBoolFieldValue(Data.Models.Metadata.DipValue.DefaultKey)); - Assert.Equal("name", dipValue.GetStringFieldValue(Data.Models.Metadata.DipValue.NameKey)); - Assert.Equal("value", dipValue.GetStringFieldValue(Data.Models.Metadata.DipValue.ValueKey)); + Assert.True(dipValue.ReadBool(Data.Models.Metadata.DipValue.DefaultKey)); + Assert.Equal("name", dipValue.ReadString(Data.Models.Metadata.DipValue.NameKey)); + Assert.Equal("value", dipValue.ReadString(Data.Models.Metadata.DipValue.ValueKey)); - Condition? condition = dipValue.GetFieldValue(Data.Models.Metadata.DipValue.ConditionKey); + Condition? condition = dipValue.Read(Data.Models.Metadata.DipValue.ConditionKey); ValidateCondition(condition); } private static void ValidateDisk(Disk? disk) { Assert.NotNull(disk); - Assert.Equal("flags", disk.GetStringFieldValue(Data.Models.Metadata.Disk.FlagsKey)); - Assert.Equal("index", disk.GetStringFieldValue(Data.Models.Metadata.Disk.IndexKey)); - Assert.Equal(HashType.MD5.ZeroString, disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)); - Assert.Equal("merge", disk.GetStringFieldValue(Data.Models.Metadata.Disk.MergeKey)); - Assert.Equal("name", disk.GetStringFieldValue(Data.Models.Metadata.Disk.NameKey)); - Assert.True(disk.GetBoolFieldValue(Data.Models.Metadata.Disk.OptionalKey)); - Assert.Equal("region", disk.GetStringFieldValue(Data.Models.Metadata.Disk.RegionKey)); - Assert.Equal(HashType.SHA1.ZeroString, disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key)); - Assert.True(disk.GetBoolFieldValue(Data.Models.Metadata.Disk.WritableKey)); + Assert.Equal("flags", disk.ReadString(Data.Models.Metadata.Disk.FlagsKey)); + Assert.Equal("index", disk.ReadString(Data.Models.Metadata.Disk.IndexKey)); + Assert.Equal(HashType.MD5.ZeroString, disk.ReadString(Data.Models.Metadata.Disk.MD5Key)); + Assert.Equal("merge", disk.ReadString(Data.Models.Metadata.Disk.MergeKey)); + Assert.Equal("name", disk.ReadString(Data.Models.Metadata.Disk.NameKey)); + Assert.True(disk.ReadBool(Data.Models.Metadata.Disk.OptionalKey)); + Assert.Equal("region", disk.ReadString(Data.Models.Metadata.Disk.RegionKey)); + Assert.Equal(HashType.SHA1.ZeroString, disk.ReadString(Data.Models.Metadata.Disk.SHA1Key)); + Assert.True(disk.ReadBool(Data.Models.Metadata.Disk.WritableKey)); } private static void ValidateDiskArea(DiskArea? diskArea) { Assert.NotNull(diskArea); - Assert.Equal("name", diskArea.GetStringFieldValue(Data.Models.Metadata.DiskArea.NameKey)); + Assert.Equal("name", diskArea.ReadString(Data.Models.Metadata.DiskArea.NameKey)); } private static void ValidateDisplay(Display? display) { Assert.NotNull(display); - Assert.True(display.GetBoolFieldValue(Data.Models.Metadata.Display.FlipXKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.HBEndKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.HBStartKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.HeightKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.HTotalKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.PixClockKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.RefreshKey)); - Assert.Equal(90, display.GetInt64FieldValue(Data.Models.Metadata.Display.RotateKey)); - Assert.Equal("tag", display.GetStringFieldValue(Data.Models.Metadata.Display.TagKey)); - Assert.Equal("vector", display.GetStringFieldValue(Data.Models.Metadata.Display.DisplayTypeKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.VBEndKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.VBStartKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.VTotalKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.WidthKey)); + Assert.True(display.ReadBool(Data.Models.Metadata.Display.FlipXKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.HBEndKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.HBStartKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.HeightKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.HTotalKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.PixClockKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.RefreshKey)); + Assert.Equal(90, display.ReadLong(Data.Models.Metadata.Display.RotateKey)); + Assert.Equal("tag", display.ReadString(Data.Models.Metadata.Display.TagKey)); + Assert.Equal("vector", display.ReadString(Data.Models.Metadata.Display.DisplayTypeKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.VBEndKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.VBStartKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.VTotalKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.WidthKey)); } private static void ValidateDriver(Driver? driver) { Assert.NotNull(driver); - Assert.Equal("plain", driver.GetStringFieldValue(Data.Models.Metadata.Driver.BlitKey)); - Assert.Equal("good", driver.GetStringFieldValue(Data.Models.Metadata.Driver.CocktailKey)); - Assert.Equal("good", driver.GetStringFieldValue(Data.Models.Metadata.Driver.ColorKey)); - Assert.Equal("good", driver.GetStringFieldValue(Data.Models.Metadata.Driver.EmulationKey)); - Assert.True(driver.GetBoolFieldValue(Data.Models.Metadata.Driver.IncompleteKey)); - Assert.True(driver.GetBoolFieldValue(Data.Models.Metadata.Driver.NoSoundHardwareKey)); - Assert.Equal("pallettesize", driver.GetStringFieldValue(Data.Models.Metadata.Driver.PaletteSizeKey)); - Assert.True(driver.GetBoolFieldValue(Data.Models.Metadata.Driver.RequiresArtworkKey)); - Assert.Equal("supported", driver.GetStringFieldValue(Data.Models.Metadata.Driver.SaveStateKey)); - Assert.Equal("good", driver.GetStringFieldValue(Data.Models.Metadata.Driver.SoundKey)); - Assert.Equal("good", driver.GetStringFieldValue(Data.Models.Metadata.Driver.StatusKey)); - Assert.True(driver.GetBoolFieldValue(Data.Models.Metadata.Driver.UnofficialKey)); + Assert.Equal("plain", driver.ReadString(Data.Models.Metadata.Driver.BlitKey)); + Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.CocktailKey)); + Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.ColorKey)); + Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.EmulationKey)); + Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.IncompleteKey)); + Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.NoSoundHardwareKey)); + Assert.Equal("pallettesize", driver.ReadString(Data.Models.Metadata.Driver.PaletteSizeKey)); + Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.RequiresArtworkKey)); + Assert.Equal("supported", driver.ReadString(Data.Models.Metadata.Driver.SaveStateKey)); + Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.SoundKey)); + Assert.Equal("good", driver.ReadString(Data.Models.Metadata.Driver.StatusKey)); + Assert.True(driver.ReadBool(Data.Models.Metadata.Driver.UnofficialKey)); } private static void ValidateExtension(Extension? extension) { Assert.NotNull(extension); - Assert.Equal("name", extension.GetStringFieldValue(Data.Models.Metadata.Extension.NameKey)); + Assert.Equal("name", extension.ReadString(Data.Models.Metadata.Extension.NameKey)); } private static void ValidateFeature(Feature? feature) { Assert.NotNull(feature); - Assert.Equal("name", feature.GetStringFieldValue(Data.Models.Metadata.Feature.NameKey)); - Assert.Equal("imperfect", feature.GetStringFieldValue(Data.Models.Metadata.Feature.OverallKey)); - Assert.Equal("imperfect", feature.GetStringFieldValue(Data.Models.Metadata.Feature.StatusKey)); - Assert.Equal("protection", feature.GetStringFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey)); - Assert.Equal("value", feature.GetStringFieldValue(Data.Models.Metadata.Feature.ValueKey)); + Assert.Equal("name", feature.ReadString(Data.Models.Metadata.Feature.NameKey)); + Assert.Equal("imperfect", feature.ReadString(Data.Models.Metadata.Feature.OverallKey)); + Assert.Equal("imperfect", feature.ReadString(Data.Models.Metadata.Feature.StatusKey)); + Assert.Equal("protection", feature.ReadString(Data.Models.Metadata.Feature.FeatureTypeKey)); + Assert.Equal("value", feature.ReadString(Data.Models.Metadata.Feature.ValueKey)); } private static void ValidateInfo(Info? info) { Assert.NotNull(info); - Assert.Equal("name", info.GetStringFieldValue(Data.Models.Metadata.Info.NameKey)); - Assert.Equal("value", info.GetStringFieldValue(Data.Models.Metadata.Info.ValueKey)); + Assert.Equal("name", info.ReadString(Data.Models.Metadata.Info.NameKey)); + Assert.Equal("value", info.ReadString(Data.Models.Metadata.Info.ValueKey)); } private static void ValidateInput(Input? input) { Assert.NotNull(input); - Assert.Equal(12345L, input.GetInt64FieldValue(Data.Models.Metadata.Input.ButtonsKey)); - Assert.Equal(12345L, input.GetInt64FieldValue(Data.Models.Metadata.Input.CoinsKey)); - Assert.Equal(12345L, input.GetInt64FieldValue(Data.Models.Metadata.Input.PlayersKey)); - Assert.True(input.GetBoolFieldValue(Data.Models.Metadata.Input.ServiceKey)); - Assert.True(input.GetBoolFieldValue(Data.Models.Metadata.Input.TiltKey)); + Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.ButtonsKey)); + Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.CoinsKey)); + Assert.Equal(12345L, input.ReadLong(Data.Models.Metadata.Input.PlayersKey)); + Assert.True(input.ReadBool(Data.Models.Metadata.Input.ServiceKey)); + Assert.True(input.ReadBool(Data.Models.Metadata.Input.TiltKey)); - Control[]? controls = input.GetFieldValue(Data.Models.Metadata.Input.ControlKey); + Control[]? controls = input.Read(Data.Models.Metadata.Input.ControlKey); Assert.NotNull(controls); Control? control = Assert.Single(controls); ValidateControl(control); @@ -1317,46 +1317,46 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateInstance(Instance? instance) { Assert.NotNull(instance); - Assert.Equal("briefname", instance.GetStringFieldValue(Data.Models.Metadata.Instance.BriefNameKey)); - Assert.Equal("name", instance.GetStringFieldValue(Data.Models.Metadata.Instance.NameKey)); + Assert.Equal("briefname", instance.ReadString(Data.Models.Metadata.Instance.BriefNameKey)); + Assert.Equal("name", instance.ReadString(Data.Models.Metadata.Instance.NameKey)); } private static void ValidateMedia(Media? media) { Assert.NotNull(media); - Assert.Equal(HashType.MD5.ZeroString, media.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)); - Assert.Equal("name", media.GetStringFieldValue(Data.Models.Metadata.Media.NameKey)); - Assert.Equal(HashType.SHA1.ZeroString, media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)); - Assert.Equal(HashType.SHA256.ZeroString, media.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)); - Assert.Equal(HashType.SpamSum.ZeroString, media.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey)); + Assert.Equal(HashType.MD5.ZeroString, media.ReadString(Data.Models.Metadata.Media.MD5Key)); + Assert.Equal("name", media.ReadString(Data.Models.Metadata.Media.NameKey)); + Assert.Equal(HashType.SHA1.ZeroString, media.ReadString(Data.Models.Metadata.Media.SHA1Key)); + Assert.Equal(HashType.SHA256.ZeroString, media.ReadString(Data.Models.Metadata.Media.SHA256Key)); + Assert.Equal(HashType.SpamSum.ZeroString, media.ReadString(Data.Models.Metadata.Media.SpamSumKey)); } private static void ValidatePart(Part? part) { Assert.NotNull(part); - Assert.Equal("interface", part.GetStringFieldValue(Data.Models.Metadata.Part.InterfaceKey)); - Assert.Equal("name", part.GetStringFieldValue(Data.Models.Metadata.Part.NameKey)); + Assert.Equal("interface", part.ReadString(Data.Models.Metadata.Part.InterfaceKey)); + Assert.Equal("name", part.ReadString(Data.Models.Metadata.Part.NameKey)); } private static void ValidatePartFeature(PartFeature? partFeature) { Assert.NotNull(partFeature); - Assert.Equal("name", partFeature.GetStringFieldValue(Data.Models.Metadata.Feature.NameKey)); - Assert.Equal("imperfect", partFeature.GetStringFieldValue(Data.Models.Metadata.Feature.OverallKey)); - Assert.Equal("imperfect", partFeature.GetStringFieldValue(Data.Models.Metadata.Feature.StatusKey)); - Assert.Equal("protection", partFeature.GetStringFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey)); - Assert.Equal("value", partFeature.GetStringFieldValue(Data.Models.Metadata.Feature.ValueKey)); + Assert.Equal("name", partFeature.ReadString(Data.Models.Metadata.Feature.NameKey)); + Assert.Equal("imperfect", partFeature.ReadString(Data.Models.Metadata.Feature.OverallKey)); + Assert.Equal("imperfect", partFeature.ReadString(Data.Models.Metadata.Feature.StatusKey)); + Assert.Equal("protection", partFeature.ReadString(Data.Models.Metadata.Feature.FeatureTypeKey)); + Assert.Equal("value", partFeature.ReadString(Data.Models.Metadata.Feature.ValueKey)); - Part? part = partFeature.GetFieldValue(PartFeature.PartKey); + Part? part = partFeature.Read(PartFeature.PartKey); ValidatePart(part); } private static void ValidatePort(Port? port) { Assert.NotNull(port); - Assert.Equal("tag", port.GetStringFieldValue(Data.Models.Metadata.Port.TagKey)); + Assert.Equal("tag", port.ReadString(Data.Models.Metadata.Port.TagKey)); - Analog[]? dipValues = port.GetFieldValue(Data.Models.Metadata.Port.AnalogKey); + Analog[]? dipValues = port.Read(Data.Models.Metadata.Port.AnalogKey); Assert.NotNull(dipValues); Analog? dipValue = Assert.Single(dipValues); ValidateAnalog(dipValue); @@ -1365,141 +1365,141 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateRamOption(RamOption? ramOption) { Assert.NotNull(ramOption); - Assert.Equal("content", ramOption.GetStringFieldValue(Data.Models.Metadata.RamOption.ContentKey)); - Assert.True(ramOption.GetBoolFieldValue(Data.Models.Metadata.RamOption.DefaultKey)); - Assert.Equal("name", ramOption.GetStringFieldValue(Data.Models.Metadata.RamOption.NameKey)); + Assert.Equal("content", ramOption.ReadString(Data.Models.Metadata.RamOption.ContentKey)); + Assert.True(ramOption.ReadBool(Data.Models.Metadata.RamOption.DefaultKey)); + Assert.Equal("name", ramOption.ReadString(Data.Models.Metadata.RamOption.NameKey)); } private static void ValidateRelease(Release? release) { Assert.NotNull(release); - Assert.Equal("date", release.GetStringFieldValue(Data.Models.Metadata.Release.DateKey)); - Assert.True(release.GetBoolFieldValue(Data.Models.Metadata.Release.DefaultKey)); - Assert.Equal("language", release.GetStringFieldValue(Data.Models.Metadata.Release.LanguageKey)); - Assert.Equal("name", release.GetStringFieldValue(Data.Models.Metadata.Release.NameKey)); - Assert.Equal("region", release.GetStringFieldValue(Data.Models.Metadata.Release.RegionKey)); + Assert.Equal("date", release.ReadString(Data.Models.Metadata.Release.DateKey)); + Assert.True(release.ReadBool(Data.Models.Metadata.Release.DefaultKey)); + Assert.Equal("language", release.ReadString(Data.Models.Metadata.Release.LanguageKey)); + Assert.Equal("name", release.ReadString(Data.Models.Metadata.Release.NameKey)); + Assert.Equal("region", release.ReadString(Data.Models.Metadata.Release.RegionKey)); } private static void ValidateRom(Rom? rom) { Assert.NotNull(rom); - Assert.Equal("album", rom.GetStringFieldValue(Data.Models.Metadata.Rom.AlbumKey)); - Assert.Equal("alt_romname", rom.GetStringFieldValue(Data.Models.Metadata.Rom.AltRomnameKey)); - Assert.Equal("alt_title", rom.GetStringFieldValue(Data.Models.Metadata.Rom.AltTitleKey)); - Assert.Equal("artist", rom.GetStringFieldValue(Data.Models.Metadata.Rom.ArtistKey)); - Assert.Equal("asr_detected_lang", rom.GetStringFieldValue(Data.Models.Metadata.Rom.ASRDetectedLangKey)); - Assert.Equal("asr_detected_lang_conf", rom.GetStringFieldValue(Data.Models.Metadata.Rom.ASRDetectedLangConfKey)); - Assert.Equal("asr_transcribed_lang", rom.GetStringFieldValue(Data.Models.Metadata.Rom.ASRTranscribedLangKey)); - Assert.Equal("bios", rom.GetStringFieldValue(Data.Models.Metadata.Rom.BiosKey)); - Assert.Equal("bitrate", rom.GetStringFieldValue(Data.Models.Metadata.Rom.BitrateKey)); - Assert.Equal("btih", rom.GetStringFieldValue(Data.Models.Metadata.Rom.BitTorrentMagnetHashKey)); - Assert.Equal("cloth_cover_detection_module_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.ClothCoverDetectionModuleVersionKey)); - Assert.Equal("collection-catalog-number", rom.GetStringFieldValue(Data.Models.Metadata.Rom.CollectionCatalogNumberKey)); - Assert.Equal("comment", rom.GetStringFieldValue(Data.Models.Metadata.Rom.CommentKey)); - Assert.Equal(HashType.CRC32.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); - Assert.Equal(HashType.CRC16.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)); - Assert.Equal(HashType.CRC64.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)); - Assert.Equal("creator", rom.GetStringFieldValue(Data.Models.Metadata.Rom.CreatorKey)); - Assert.Equal("date", rom.GetStringFieldValue(Data.Models.Metadata.Rom.DateKey)); - Assert.True(rom.GetBoolFieldValue(Data.Models.Metadata.Rom.DisposeKey)); - Assert.Equal("extension", rom.GetStringFieldValue(Data.Models.Metadata.Rom.ExtensionKey)); - Assert.Equal(12345L, rom.GetInt64FieldValue(Data.Models.Metadata.Rom.FileCountKey)); - Assert.True(rom.GetBoolFieldValue(Data.Models.Metadata.Rom.FileIsAvailableKey)); - Assert.Equal("flags", rom.GetStringFieldValue(Data.Models.Metadata.Rom.FlagsKey)); - Assert.Equal("format", rom.GetStringFieldValue(Data.Models.Metadata.Rom.FormatKey)); - Assert.Equal("header", rom.GetStringFieldValue(Data.Models.Metadata.Rom.HeaderKey)); - Assert.Equal("height", rom.GetStringFieldValue(Data.Models.Metadata.Rom.HeightKey)); - Assert.Equal("hocr_char_to_word_hocr_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.hOCRCharToWordhOCRVersionKey)); - Assert.Equal("hocr_char_to_word_module_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.hOCRCharToWordModuleVersionKey)); - Assert.Equal("hocr_fts_text_hocr_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.hOCRFtsTexthOCRVersionKey)); - Assert.Equal("hocr_fts_text_module_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.hOCRFtsTextModuleVersionKey)); - Assert.Equal("hocr_pageindex_hocr_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey)); - Assert.Equal("hocr_pageindex_module_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.hOCRPageIndexModuleVersionKey)); - Assert.True(rom.GetBoolFieldValue(Data.Models.Metadata.Rom.InvertedKey)); - Assert.Equal("mtime", rom.GetStringFieldValue(Data.Models.Metadata.Rom.LastModifiedTimeKey)); - Assert.Equal("length", rom.GetStringFieldValue(Data.Models.Metadata.Rom.LengthKey)); - Assert.Equal("load16_byte", rom.GetStringFieldValue(Data.Models.Metadata.Rom.LoadFlagKey)); - Assert.Equal("matrix_number", rom.GetStringFieldValue(Data.Models.Metadata.Rom.MatrixNumberKey)); - Assert.Equal(HashType.MD2.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)); - Assert.Equal(HashType.MD4.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)); - Assert.Equal(HashType.MD5.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.OpenMSXMediaType)); // Omit due to other test - Assert.Equal("merge", rom.GetStringFieldValue(Data.Models.Metadata.Rom.MergeKey)); - Assert.True(rom.GetBoolFieldValue(Data.Models.Metadata.Rom.MIAKey)); - Assert.Equal("name", rom.GetStringFieldValue(Data.Models.Metadata.Rom.NameKey)); - Assert.Equal("ocr", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TesseractOCRKey)); - Assert.Equal("ocr_converted", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TesseractOCRConvertedKey)); - Assert.Equal("ocr_detected_lang", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TesseractOCRDetectedLangKey)); - Assert.Equal("ocr_detected_lang_conf", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TesseractOCRDetectedLangConfKey)); - Assert.Equal("ocr_detected_script", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TesseractOCRDetectedScriptKey)); - Assert.Equal("ocr_detected_script_conf", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TesseractOCRDetectedScriptConfKey)); - Assert.Equal("ocr_module_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TesseractOCRModuleVersionKey)); - Assert.Equal("ocr_parameters", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TesseractOCRParametersKey)); - Assert.Equal("offset", rom.GetStringFieldValue(Data.Models.Metadata.Rom.OffsetKey)); - Assert.True(rom.GetBoolFieldValue(Data.Models.Metadata.Rom.OptionalKey)); - Assert.Equal("original", rom.GetStringFieldValue(Data.Models.Metadata.Rom.OriginalKey)); - Assert.Equal("pdf_module_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.PDFModuleVersionKey)); - Assert.Equal("preview-image", rom.GetStringFieldValue(Data.Models.Metadata.Rom.PreviewImageKey)); - Assert.Equal("publisher", rom.GetStringFieldValue(Data.Models.Metadata.Rom.PublisherKey)); - Assert.Equal("region", rom.GetStringFieldValue(Data.Models.Metadata.Rom.RegionKey)); - Assert.Equal("remark", rom.GetStringFieldValue(Data.Models.Metadata.Rom.RemarkKey)); - Assert.Equal(HashType.RIPEMD128.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)); - Assert.Equal(HashType.RIPEMD160.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)); - Assert.Equal("rotation", rom.GetStringFieldValue(Data.Models.Metadata.Rom.RotationKey)); - Assert.Equal("serial", rom.GetStringFieldValue(Data.Models.Metadata.Rom.SerialKey)); - Assert.Equal(HashType.SHA1.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal(HashType.SHA256.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Equal(HashType.SHA384.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)); - Assert.Equal(HashType.SHA512.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Equal(12345L, rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.True(rom.GetBoolFieldValue(Data.Models.Metadata.Rom.SoundOnlyKey)); - Assert.Equal("source", rom.GetStringFieldValue(Data.Models.Metadata.Rom.SourceKey)); - Assert.Equal(HashType.SpamSum.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)); - Assert.Equal("start", rom.GetStringFieldValue(Data.Models.Metadata.Rom.StartKey)); - Assert.Equal("good", rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); - Assert.Equal("summation", rom.GetStringFieldValue(Data.Models.Metadata.Rom.SummationKey)); - Assert.Equal("title", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TitleKey)); - Assert.Equal("track", rom.GetStringFieldValue(Data.Models.Metadata.Rom.TrackKey)); - Assert.Equal("type", rom.GetStringFieldValue(Data.Models.Metadata.Rom.OpenMSXType)); - Assert.Equal("value", rom.GetStringFieldValue(Data.Models.Metadata.Rom.ValueKey)); - Assert.Equal("whisper_asr_module_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WhisperASRModuleVersionKey)); - Assert.Equal("whisper_model_hash", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WhisperModelHashKey)); - Assert.Equal("whisper_model_name", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WhisperModelNameKey)); - Assert.Equal("whisper_version", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WhisperVersionKey)); - Assert.Equal("width", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WidthKey)); - Assert.Equal("word_conf_0_10", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval0To10Key)); - Assert.Equal("word_conf_11_20", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval11To20Key)); - Assert.Equal("word_conf_21_30", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval21To30Key)); - Assert.Equal("word_conf_31_40", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval31To40Key)); - Assert.Equal("word_conf_41_50", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval41To50Key)); - Assert.Equal("word_conf_51_60", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval51To60Key)); - Assert.Equal("word_conf_61_70", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval61To70Key)); - Assert.Equal("word_conf_71_80", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval71To80Key)); - Assert.Equal("word_conf_81_90", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval81To90Key)); - Assert.Equal("word_conf_91_100", rom.GetStringFieldValue(Data.Models.Metadata.Rom.WordConfidenceInterval91To100Key)); - Assert.Equal(HashType.XxHash3.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.xxHash364Key)); - Assert.Equal(HashType.XxHash128.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.xxHash3128Key)); + Assert.Equal("album", rom.ReadString(Data.Models.Metadata.Rom.AlbumKey)); + Assert.Equal("alt_romname", rom.ReadString(Data.Models.Metadata.Rom.AltRomnameKey)); + Assert.Equal("alt_title", rom.ReadString(Data.Models.Metadata.Rom.AltTitleKey)); + Assert.Equal("artist", rom.ReadString(Data.Models.Metadata.Rom.ArtistKey)); + Assert.Equal("asr_detected_lang", rom.ReadString(Data.Models.Metadata.Rom.ASRDetectedLangKey)); + Assert.Equal("asr_detected_lang_conf", rom.ReadString(Data.Models.Metadata.Rom.ASRDetectedLangConfKey)); + Assert.Equal("asr_transcribed_lang", rom.ReadString(Data.Models.Metadata.Rom.ASRTranscribedLangKey)); + Assert.Equal("bios", rom.ReadString(Data.Models.Metadata.Rom.BiosKey)); + Assert.Equal("bitrate", rom.ReadString(Data.Models.Metadata.Rom.BitrateKey)); + Assert.Equal("btih", rom.ReadString(Data.Models.Metadata.Rom.BitTorrentMagnetHashKey)); + Assert.Equal("cloth_cover_detection_module_version", rom.ReadString(Data.Models.Metadata.Rom.ClothCoverDetectionModuleVersionKey)); + Assert.Equal("collection-catalog-number", rom.ReadString(Data.Models.Metadata.Rom.CollectionCatalogNumberKey)); + Assert.Equal("comment", rom.ReadString(Data.Models.Metadata.Rom.CommentKey)); + Assert.Equal(HashType.CRC32.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(HashType.CRC16.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)); + Assert.Equal(HashType.CRC64.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)); + Assert.Equal("creator", rom.ReadString(Data.Models.Metadata.Rom.CreatorKey)); + Assert.Equal("date", rom.ReadString(Data.Models.Metadata.Rom.DateKey)); + Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.DisposeKey)); + Assert.Equal("extension", rom.ReadString(Data.Models.Metadata.Rom.ExtensionKey)); + Assert.Equal(12345L, rom.ReadLong(Data.Models.Metadata.Rom.FileCountKey)); + Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.FileIsAvailableKey)); + Assert.Equal("flags", rom.ReadString(Data.Models.Metadata.Rom.FlagsKey)); + Assert.Equal("format", rom.ReadString(Data.Models.Metadata.Rom.FormatKey)); + Assert.Equal("header", rom.ReadString(Data.Models.Metadata.Rom.HeaderKey)); + Assert.Equal("height", rom.ReadString(Data.Models.Metadata.Rom.HeightKey)); + Assert.Equal("hocr_char_to_word_hocr_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRCharToWordhOCRVersionKey)); + Assert.Equal("hocr_char_to_word_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRCharToWordModuleVersionKey)); + Assert.Equal("hocr_fts_text_hocr_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRFtsTexthOCRVersionKey)); + Assert.Equal("hocr_fts_text_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRFtsTextModuleVersionKey)); + Assert.Equal("hocr_pageindex_hocr_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRPageIndexhOCRVersionKey)); + Assert.Equal("hocr_pageindex_module_version", rom.ReadString(Data.Models.Metadata.Rom.hOCRPageIndexModuleVersionKey)); + Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.InvertedKey)); + Assert.Equal("mtime", rom.ReadString(Data.Models.Metadata.Rom.LastModifiedTimeKey)); + Assert.Equal("length", rom.ReadString(Data.Models.Metadata.Rom.LengthKey)); + Assert.Equal("load16_byte", rom.ReadString(Data.Models.Metadata.Rom.LoadFlagKey)); + Assert.Equal("matrix_number", rom.ReadString(Data.Models.Metadata.Rom.MatrixNumberKey)); + Assert.Equal(HashType.MD2.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD2Key)); + Assert.Equal(HashType.MD4.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD4Key)); + Assert.Equal(HashType.MD5.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.OpenMSXMediaType)); // Omit due to other test + Assert.Equal("merge", rom.ReadString(Data.Models.Metadata.Rom.MergeKey)); + Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.MIAKey)); + Assert.Equal("name", rom.ReadString(Data.Models.Metadata.Rom.NameKey)); + Assert.Equal("ocr", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRKey)); + Assert.Equal("ocr_converted", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRConvertedKey)); + Assert.Equal("ocr_detected_lang", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRDetectedLangKey)); + Assert.Equal("ocr_detected_lang_conf", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRDetectedLangConfKey)); + Assert.Equal("ocr_detected_script", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRDetectedScriptKey)); + Assert.Equal("ocr_detected_script_conf", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRDetectedScriptConfKey)); + Assert.Equal("ocr_module_version", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRModuleVersionKey)); + Assert.Equal("ocr_parameters", rom.ReadString(Data.Models.Metadata.Rom.TesseractOCRParametersKey)); + Assert.Equal("offset", rom.ReadString(Data.Models.Metadata.Rom.OffsetKey)); + Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.OptionalKey)); + Assert.Equal("original", rom.ReadString(Data.Models.Metadata.Rom.OriginalKey)); + Assert.Equal("pdf_module_version", rom.ReadString(Data.Models.Metadata.Rom.PDFModuleVersionKey)); + Assert.Equal("preview-image", rom.ReadString(Data.Models.Metadata.Rom.PreviewImageKey)); + Assert.Equal("publisher", rom.ReadString(Data.Models.Metadata.Rom.PublisherKey)); + Assert.Equal("region", rom.ReadString(Data.Models.Metadata.Rom.RegionKey)); + Assert.Equal("remark", rom.ReadString(Data.Models.Metadata.Rom.RemarkKey)); + Assert.Equal(HashType.RIPEMD128.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)); + Assert.Equal(HashType.RIPEMD160.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)); + Assert.Equal("rotation", rom.ReadString(Data.Models.Metadata.Rom.RotationKey)); + Assert.Equal("serial", rom.ReadString(Data.Models.Metadata.Rom.SerialKey)); + Assert.Equal(HashType.SHA1.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal(HashType.SHA256.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Equal(HashType.SHA384.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)); + Assert.Equal(HashType.SHA512.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)); + Assert.Equal(12345L, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.True(rom.ReadBool(Data.Models.Metadata.Rom.SoundOnlyKey)); + Assert.Equal("source", rom.ReadString(Data.Models.Metadata.Rom.SourceKey)); + Assert.Equal(HashType.SpamSum.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); + Assert.Equal("start", rom.ReadString(Data.Models.Metadata.Rom.StartKey)); + Assert.Equal("good", rom.ReadString(Data.Models.Metadata.Rom.StatusKey)); + Assert.Equal("summation", rom.ReadString(Data.Models.Metadata.Rom.SummationKey)); + Assert.Equal("title", rom.ReadString(Data.Models.Metadata.Rom.TitleKey)); + Assert.Equal("track", rom.ReadString(Data.Models.Metadata.Rom.TrackKey)); + Assert.Equal("type", rom.ReadString(Data.Models.Metadata.Rom.OpenMSXType)); + Assert.Equal("value", rom.ReadString(Data.Models.Metadata.Rom.ValueKey)); + Assert.Equal("whisper_asr_module_version", rom.ReadString(Data.Models.Metadata.Rom.WhisperASRModuleVersionKey)); + Assert.Equal("whisper_model_hash", rom.ReadString(Data.Models.Metadata.Rom.WhisperModelHashKey)); + Assert.Equal("whisper_model_name", rom.ReadString(Data.Models.Metadata.Rom.WhisperModelNameKey)); + Assert.Equal("whisper_version", rom.ReadString(Data.Models.Metadata.Rom.WhisperVersionKey)); + Assert.Equal("width", rom.ReadString(Data.Models.Metadata.Rom.WidthKey)); + Assert.Equal("word_conf_0_10", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval0To10Key)); + Assert.Equal("word_conf_11_20", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval11To20Key)); + Assert.Equal("word_conf_21_30", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval21To30Key)); + Assert.Equal("word_conf_31_40", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval31To40Key)); + Assert.Equal("word_conf_41_50", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval41To50Key)); + Assert.Equal("word_conf_51_60", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval51To60Key)); + Assert.Equal("word_conf_61_70", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval61To70Key)); + Assert.Equal("word_conf_71_80", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval71To80Key)); + Assert.Equal("word_conf_81_90", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval81To90Key)); + Assert.Equal("word_conf_91_100", rom.ReadString(Data.Models.Metadata.Rom.WordConfidenceInterval91To100Key)); + Assert.Equal(HashType.XxHash3.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.xxHash364Key)); + Assert.Equal(HashType.XxHash128.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.xxHash3128Key)); } private static void ValidateSample(Sample? sample) { Assert.NotNull(sample); - Assert.Equal("name", sample.GetStringFieldValue(Data.Models.Metadata.Sample.NameKey)); + Assert.Equal("name", sample.ReadString(Data.Models.Metadata.Sample.NameKey)); } private static void ValidateSharedFeat(SharedFeat? sharedFeat) { Assert.NotNull(sharedFeat); - Assert.Equal("name", sharedFeat.GetStringFieldValue(Data.Models.Metadata.SharedFeat.NameKey)); - Assert.Equal("value", sharedFeat.GetStringFieldValue(Data.Models.Metadata.SharedFeat.ValueKey)); + Assert.Equal("name", sharedFeat.ReadString(Data.Models.Metadata.SharedFeat.NameKey)); + Assert.Equal("value", sharedFeat.ReadString(Data.Models.Metadata.SharedFeat.ValueKey)); } private static void ValidateSlot(Slot? slot) { Assert.NotNull(slot); - Assert.Equal("name", slot.GetStringFieldValue(Data.Models.Metadata.Slot.NameKey)); + Assert.Equal("name", slot.ReadString(Data.Models.Metadata.Slot.NameKey)); - SlotOption[]? slotOptions = slot.GetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey); + SlotOption[]? slotOptions = slot.Read(Data.Models.Metadata.Slot.SlotOptionKey); Assert.NotNull(slotOptions); SlotOption? slotOption = Assert.Single(slotOptions); ValidateSlotOption(slotOption); @@ -1508,27 +1508,27 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateSlotOption(SlotOption? slotOption) { Assert.NotNull(slotOption); - Assert.True(slotOption.GetBoolFieldValue(Data.Models.Metadata.SlotOption.DefaultKey)); - Assert.Equal("devname", slotOption.GetStringFieldValue(Data.Models.Metadata.SlotOption.DevNameKey)); - Assert.Equal("name", slotOption.GetStringFieldValue(Data.Models.Metadata.SlotOption.NameKey)); + Assert.True(slotOption.ReadBool(Data.Models.Metadata.SlotOption.DefaultKey)); + Assert.Equal("devname", slotOption.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)); + Assert.Equal("name", slotOption.ReadString(Data.Models.Metadata.SlotOption.NameKey)); } private static void ValidateSoftwareList(SoftwareList? softwareList) { Assert.NotNull(softwareList); - Assert.Equal("description", softwareList.GetStringFieldValue(Data.Models.Metadata.SoftwareList.DescriptionKey)); - Assert.Equal("filter", softwareList.GetStringFieldValue(Data.Models.Metadata.SoftwareList.FilterKey)); - Assert.Equal("name", softwareList.GetStringFieldValue(Data.Models.Metadata.SoftwareList.NameKey)); - Assert.Equal("notes", softwareList.GetStringFieldValue(Data.Models.Metadata.SoftwareList.NotesKey)); + Assert.Equal("description", softwareList.ReadString(Data.Models.Metadata.SoftwareList.DescriptionKey)); + Assert.Equal("filter", softwareList.ReadString(Data.Models.Metadata.SoftwareList.FilterKey)); + Assert.Equal("name", softwareList.ReadString(Data.Models.Metadata.SoftwareList.NameKey)); + Assert.Equal("notes", softwareList.ReadString(Data.Models.Metadata.SoftwareList.NotesKey)); // TODO: Figure out why Data.Models.Metadata.SoftwareList.SoftwareKey doesn't get processed - Assert.Equal("original", softwareList.GetStringFieldValue(Data.Models.Metadata.SoftwareList.StatusKey)); - Assert.Equal("tag", softwareList.GetStringFieldValue(Data.Models.Metadata.SoftwareList.TagKey)); + Assert.Equal("original", softwareList.ReadString(Data.Models.Metadata.SoftwareList.StatusKey)); + Assert.Equal("tag", softwareList.ReadString(Data.Models.Metadata.SoftwareList.TagKey)); } private static void ValidateSound(Sound? sound) { Assert.NotNull(sound); - Assert.Equal(12345L, sound.GetInt64FieldValue(Data.Models.Metadata.Sound.ChannelsKey)); + Assert.Equal(12345L, sound.ReadLong(Data.Models.Metadata.Sound.ChannelsKey)); } // TODO: Figure out why so many fields are omitted @@ -1554,13 +1554,13 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateVideo(Display? display) { Assert.NotNull(display); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Video.AspectXKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Video.AspectYKey)); - Assert.Equal("vector", display.GetStringFieldValue(Data.Models.Metadata.Display.DisplayTypeKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.HeightKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.RefreshKey)); - Assert.Equal(12345L, display.GetInt64FieldValue(Data.Models.Metadata.Display.WidthKey)); - Assert.Equal(90, display.GetInt64FieldValue(Data.Models.Metadata.Display.RotateKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Video.AspectXKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Video.AspectYKey)); + Assert.Equal("vector", display.ReadString(Data.Models.Metadata.Display.DisplayTypeKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.HeightKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.RefreshKey)); + Assert.Equal(12345L, display.ReadLong(Data.Models.Metadata.Display.WidthKey)); + Assert.Equal(90, display.ReadLong(Data.Models.Metadata.Display.RotateKey)); } #endregion diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs index bd86abc5..aaa2eaa1 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs @@ -19,29 +19,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(parentItem, statsOnly: false); @@ -64,29 +64,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(parentItem, statsOnly: false); @@ -109,29 +109,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); long biosMachineIndex = datFile.AddMachineDB(parentMachine); @@ -157,29 +157,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); long biosMachineIndex = datFile.AddMachineDB(parentMachine); @@ -209,29 +209,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(parentItem, statsOnly: false); @@ -254,29 +254,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); long biosMachineIndex = datFile.AddMachineDB(parentMachine); @@ -307,7 +307,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine deviceMachine = new Machine(); deviceMachine.SetName("device"); - deviceMachine.SetFieldValue(Data.Models.Metadata.Machine.IsDeviceKey, true); + deviceMachine.Write(Data.Models.Metadata.Machine.IsDeviceKey, true); Machine slotOptionMachine = new Machine(); slotOptionMachine.SetName("slotoption"); @@ -317,30 +317,30 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem deviceItem = new Sample(); deviceItem.SetName("device_item"); - deviceItem.SetFieldValue(DatItem.MachineKey, deviceMachine); - deviceItem.SetFieldValue(DatItem.SourceKey, source); + deviceItem.Write(DatItem.MachineKey, deviceMachine); + deviceItem.Write(DatItem.SourceKey, source); DatItem slotOptionItem = new Sample(); slotOptionItem.SetName("slot_option_item"); - slotOptionItem.SetFieldValue(DatItem.MachineKey, slotOptionMachine); - slotOptionItem.SetFieldValue(DatItem.SourceKey, source); + slotOptionItem.Write(DatItem.MachineKey, slotOptionMachine); + slotOptionItem.Write(DatItem.SourceKey, source); DatItem datItem = new Rom(); datItem.SetName("rom"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - datItem.SetFieldValue(DatItem.MachineKey, itemMachine); - datItem.SetFieldValue(DatItem.SourceKey, source); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + datItem.Write(DatItem.MachineKey, itemMachine); + datItem.Write(DatItem.SourceKey, source); DatItem deviceRef = new DeviceRef(); deviceRef.SetName("device"); - deviceRef.SetFieldValue(DatItem.MachineKey, itemMachine); - deviceRef.SetFieldValue(DatItem.SourceKey, source); + deviceRef.Write(DatItem.MachineKey, itemMachine); + deviceRef.Write(DatItem.SourceKey, source); DatItem slotOption = new SlotOption(); slotOption.SetName("slotoption"); - slotOption.SetFieldValue(DatItem.MachineKey, itemMachine); - slotOption.SetFieldValue(DatItem.SourceKey, source); + slotOption.Write(DatItem.MachineKey, itemMachine); + slotOption.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(deviceItem, statsOnly: false); @@ -366,7 +366,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine deviceMachine = new Machine(); deviceMachine.SetName("device"); - deviceMachine.SetFieldValue(Data.Models.Metadata.Machine.IsDeviceKey, true); + deviceMachine.Write(Data.Models.Metadata.Machine.IsDeviceKey, true); Machine slotOptionMachine = new Machine(); slotOptionMachine.SetName("slotoption"); @@ -382,8 +382,8 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem datItem = new Rom(); datItem.SetName("rom"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); DatItem deviceRef = new DeviceRef(); deviceRef.SetName("device"); @@ -422,29 +422,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(parentItem, statsOnly: false); @@ -467,29 +467,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); long biosMachineIndex = datFile.AddMachineDB(parentMachine); @@ -516,19 +516,19 @@ namespace SabreTools.Metadata.DatFiles.Test Machine biosMachine = new Machine(); biosMachine.SetName("bios"); - biosMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + biosMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); Machine deviceMachine = new Machine(); deviceMachine.SetName("device"); - deviceMachine.SetFieldValue(Data.Models.Metadata.Machine.IsDeviceKey, true); + deviceMachine.Write(Data.Models.Metadata.Machine.IsDeviceKey, true); DatItem biosItem = new Rom(); - biosItem.SetFieldValue(DatItem.MachineKey, biosMachine); - biosItem.SetFieldValue(DatItem.SourceKey, source); + biosItem.Write(DatItem.MachineKey, biosMachine); + biosItem.Write(DatItem.SourceKey, source); DatItem deviceItem = new Rom(); - deviceItem.SetFieldValue(DatItem.MachineKey, deviceMachine); - deviceItem.SetFieldValue(DatItem.SourceKey, source); + deviceItem.Write(DatItem.MachineKey, deviceMachine); + deviceItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(biosItem, statsOnly: false); @@ -548,11 +548,11 @@ namespace SabreTools.Metadata.DatFiles.Test Machine biosMachine = new Machine(); biosMachine.SetName("bios"); - biosMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + biosMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); Machine deviceMachine = new Machine(); deviceMachine.SetName("device"); - deviceMachine.SetFieldValue(Data.Models.Metadata.Machine.IsDeviceKey, true); + deviceMachine.Write(Data.Models.Metadata.Machine.IsDeviceKey, true); DatItem biosItem = new Rom(); DatItem deviceItem = new Rom(); @@ -581,32 +581,32 @@ namespace SabreTools.Metadata.DatFiles.Test Machine parentMachine = new Machine(); parentMachine.SetName("parent"); - parentMachine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, "romof"); + parentMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "romof"); Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(parentItem, statsOnly: false); @@ -621,7 +621,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine? actualMachine = actual.GetMachine(); Assert.NotNull(actualMachine); Assert.Equal("child", actualMachine.GetName()); - Assert.Equal("romof", actualMachine.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey)); + Assert.Equal("romof", actualMachine.ReadString(Data.Models.Metadata.Machine.RomOfKey)); } [Fact] @@ -631,32 +631,32 @@ namespace SabreTools.Metadata.DatFiles.Test Machine parentMachine = new Machine(); parentMachine.SetName("parent"); - parentMachine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, "romof"); + parentMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "romof"); Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.CloneOfKey, "parent"); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); long biosMachineIndex = datFile.AddMachineDB(parentMachine); @@ -674,7 +674,7 @@ namespace SabreTools.Metadata.DatFiles.Test Machine? actualMachine = datFile.GetMachineForItemDB(actual).Value; Assert.NotNull(actualMachine); Assert.Equal("child", actualMachine.GetName()); - Assert.Equal("romof", actualMachine.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey)); + Assert.Equal("romof", actualMachine.ReadString(Data.Models.Metadata.Machine.RomOfKey)); } #endregion @@ -691,29 +691,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(parentItem, statsOnly: false); @@ -740,29 +740,29 @@ namespace SabreTools.Metadata.DatFiles.Test Machine childMachine = new Machine(); childMachine.SetName("child"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, "parent"); - childMachine.SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, true); + childMachine.Write(Data.Models.Metadata.Machine.RomOfKey, "parent"); + childMachine.Write(Data.Models.Metadata.Machine.IsBiosKey, true); DatItem parentItem = new Rom(); parentItem.SetName("parent_rom"); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - parentItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - parentItem.SetFieldValue(DatItem.MachineKey, parentMachine); - parentItem.SetFieldValue(DatItem.SourceKey, source); + parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + parentItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + parentItem.Write(DatItem.MachineKey, parentMachine); + parentItem.Write(DatItem.SourceKey, source); DatItem matchChildItem = new Rom(); matchChildItem.SetName("match_child_rom"); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - matchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - matchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - matchChildItem.SetFieldValue(DatItem.SourceKey, source); + matchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + matchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + matchChildItem.Write(DatItem.MachineKey, childMachine); + matchChildItem.Write(DatItem.SourceKey, source); DatItem noMatchChildItem = new Rom(); noMatchChildItem.SetName("no_match_child_rom"); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - noMatchChildItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "beefdead"); - noMatchChildItem.SetFieldValue(DatItem.MachineKey, childMachine); - noMatchChildItem.SetFieldValue(DatItem.SourceKey, source); + noMatchChildItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + noMatchChildItem.Write(Data.Models.Metadata.Rom.CRCKey, "beefdead"); + noMatchChildItem.Write(DatItem.MachineKey, childMachine); + noMatchChildItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); long biosMachineIndex = datFile.AddMachineDB(parentMachine); @@ -793,13 +793,13 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.SetName("machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "XXXXXX"); - machine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, "XXXXXX"); - machine.SetFieldValue(Data.Models.Metadata.Machine.SampleOfKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.CloneOfKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.RomOfKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.SampleOfKey, "XXXXXX"); DatItem datItem = new Rom(); - datItem.SetFieldValue(DatItem.MachineKey, machine); - datItem.SetFieldValue(DatItem.SourceKey, source); + datItem.Write(DatItem.MachineKey, machine); + datItem.Write(DatItem.SourceKey, source); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(datItem, statsOnly: false); @@ -810,9 +810,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actualItem = Assert.Single(datFile.GetItemsForBucket("machine")); Machine? actual = actualItem.GetMachine(); Assert.NotNull(actual); - Assert.Null(actual.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey)); - Assert.Null(actual.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey)); - Assert.Null(actual.GetStringFieldValue(Data.Models.Metadata.Machine.SampleOfKey)); + Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.CloneOfKey)); + Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.RomOfKey)); + Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.SampleOfKey)); } [Fact] @@ -822,9 +822,9 @@ namespace SabreTools.Metadata.DatFiles.Test Machine machine = new Machine(); machine.SetName("machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, "XXXXXX"); - machine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, "XXXXXX"); - machine.SetFieldValue(Data.Models.Metadata.Machine.SampleOfKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.CloneOfKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.RomOfKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.SampleOfKey, "XXXXXX"); DatItem datItem = new Rom(); @@ -837,9 +837,9 @@ namespace SabreTools.Metadata.DatFiles.Test datFile.RemoveMachineRelationshipTags(); Machine actual = Assert.Single(datFile.GetMachinesDB()).Value; - Assert.Null(actual.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey)); - Assert.Null(actual.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey)); - Assert.Null(actual.GetStringFieldValue(Data.Models.Metadata.Machine.SampleOfKey)); + Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.CloneOfKey)); + Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.RomOfKey)); + Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.SampleOfKey)); } #endregion diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs index 7987d01a..cf5cc01d 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs @@ -95,14 +95,14 @@ namespace SabreTools.Metadata.DatFiles.Test { DatHeader item = new DatHeader(CreateMetadataHeader()); - item.SetFieldValue(Data.Models.Metadata.Header.CanOpenKey, ["ext"]); - item.SetFieldValue(Data.Models.Metadata.Header.ImagesKey, + item.Write(Data.Models.Metadata.Header.CanOpenKey, ["ext"]); + item.Write(Data.Models.Metadata.Header.ImagesKey, new Data.Models.OfflineList.Images() { Height = "height" }); - item.SetFieldValue(Data.Models.Metadata.Header.InfosKey, + item.Write(Data.Models.Metadata.Header.InfosKey, new Data.Models.OfflineList.Infos() { Comment = new Data.Models.OfflineList.Comment() }); - item.SetFieldValue(Data.Models.Metadata.Header.NewDatKey, + item.Write(Data.Models.Metadata.Header.NewDatKey, new Data.Models.OfflineList.NewDat() { DatUrl = new Data.Models.OfflineList.DatUrl() }); - item.SetFieldValue(Data.Models.Metadata.Header.SearchKey, + item.Write(Data.Models.Metadata.Header.SearchKey, new Data.Models.OfflineList.Search() { To = [] }); return item; @@ -111,7 +111,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static Machine CreateMachine() { Machine item = new Machine(CreateMetadataMachine()); - item.SetFieldValue(Data.Models.Metadata.Machine.TruripKey, CreateTrurip()); + item.Write(Data.Models.Metadata.Machine.TruripKey, CreateTrurip()); return item; } @@ -182,7 +182,7 @@ namespace SabreTools.Metadata.DatFiles.Test { DipSwitch item = new DipSwitch(CreateMetadataDipSwitch()); item.CopyMachineInformation(machine); - item.SetFieldValue(DipSwitch.PartKey, CreatePart(machine)); + item.Write(DipSwitch.PartKey, CreatePart(machine)); return item; } @@ -197,8 +197,8 @@ namespace SabreTools.Metadata.DatFiles.Test { Disk item = new Disk(CreateMetadataDisk()); item.CopyMachineInformation(machine); - item.SetFieldValue(Disk.DiskAreaKey, CreateDiskArea(machine)); - item.SetFieldValue(Disk.PartKey, CreatePart(machine)); + item.Write(Disk.DiskAreaKey, CreateDiskArea(machine)); + item.Write(Disk.PartKey, CreatePart(machine)); return item; } @@ -262,7 +262,7 @@ namespace SabreTools.Metadata.DatFiles.Test { PartFeature item = new PartFeature(CreateMetadataFeature()); item.CopyMachineInformation(machine); - item.SetFieldValue(PartFeature.PartKey, CreatePart(machine)); + item.Write(PartFeature.PartKey, CreatePart(machine)); return item; } @@ -299,8 +299,8 @@ namespace SabreTools.Metadata.DatFiles.Test { Rom item = new Rom(CreateMetadataRom()); item.CopyMachineInformation(machine); - item.SetFieldValue(Rom.DataAreaKey, CreateDataArea(machine)); - item.SetFieldValue(Rom.PartKey, CreatePart(machine)); + item.Write(Rom.DataAreaKey, CreateDataArea(machine)); + item.Write(Rom.PartKey, CreatePart(machine)); return item; } diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs index c3d8375e..49ff1fa6 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs @@ -35,12 +35,12 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom = new Rom(); rom.SetName("rom"); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - rom.SetFieldValue(DatItem.SourceKey, source); - rom.SetFieldValue(DatItem.MachineKey, machine); + rom.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + rom.Write(DatItem.SourceKey, source); + rom.Write(DatItem.MachineKey, machine); DatFile? datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "name"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, "name"); datFile.AddItem(rom, statsOnly: false); long sourceIndex = datFile.AddSourceDB(source); @@ -51,7 +51,7 @@ namespace SabreTools.Metadata.DatFiles.Test created.BucketBy(ItemKey.Machine); Assert.NotNull(created.Header); - Assert.Equal("name", created.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("name", created.Header.ReadString(Data.Models.Metadata.Header.NameKey)); Assert.NotNull(created.Items); DatItem datItem = Assert.Single(created.GetItemsForBucket("key")); @@ -76,8 +76,8 @@ namespace SabreTools.Metadata.DatFiles.Test machine.SetName("game-1"); DatItem datItem = new Rom(); - datItem.SetFieldValue(DatItem.SourceKey, source); - datItem.SetFieldValue(DatItem.MachineKey, machine); + datItem.Write(DatItem.SourceKey, source); + datItem.Write(DatItem.MachineKey, machine); DatFile datFile = new Logiqx(datFile: null, useGame: false); datFile.AddItem(datItem, statsOnly: false); @@ -113,120 +113,120 @@ namespace SabreTools.Metadata.DatFiles.Test public void FillHeaderFromPath_NoNameNoDesc_NotBare() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, string.Empty); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, string.Empty); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, "1980-01-01"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, string.Empty); + datFile.Header.Write(Data.Models.Metadata.Header.DescriptionKey, string.Empty); + datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01"); string path = Path.Combine("Fake", "Path", "Filename"); datFile.FillHeaderFromPath(path, false); - Assert.Equal("Filename (1980-01-01)", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.Equal("Filename (1980-01-01)", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("Filename (1980-01-01)", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("Filename (1980-01-01)", datFile.Header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); } [Fact] public void FillHeaderFromPath_NoNameNoDesc_Bare() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, string.Empty); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, string.Empty); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, "1980-01-01"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, string.Empty); + datFile.Header.Write(Data.Models.Metadata.Header.DescriptionKey, string.Empty); + datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01"); string path = Path.Combine("Fake", "Path", "Filename"); datFile.FillHeaderFromPath(path, true); - Assert.Equal("Filename", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.Equal("Filename", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("Filename", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("Filename", datFile.Header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); } [Fact] public void FillHeaderFromPath_NoNameDesc_NotBare() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, string.Empty); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, "Description"); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, "1980-01-01"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, string.Empty); + datFile.Header.Write(Data.Models.Metadata.Header.DescriptionKey, "Description"); + datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01"); string path = Path.Combine("Fake", "Path", "Filename"); datFile.FillHeaderFromPath(path, false); - Assert.Equal("Description (1980-01-01)", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.Equal("Description", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("Description (1980-01-01)", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("Description", datFile.Header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); } [Fact] public void FillHeaderFromPath_NoNameDesc_Bare() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, string.Empty); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, "Description"); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, "1980-01-01"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, string.Empty); + datFile.Header.Write(Data.Models.Metadata.Header.DescriptionKey, "Description"); + datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01"); string path = Path.Combine("Fake", "Path", "Filename"); datFile.FillHeaderFromPath(path, true); - Assert.Equal("Description", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.Equal("Description", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("Description", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("Description", datFile.Header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); } [Fact] public void FillHeaderFromPath_NameNoDesc_NotBare() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "Name"); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, string.Empty); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, "1980-01-01"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, "Name"); + datFile.Header.Write(Data.Models.Metadata.Header.DescriptionKey, string.Empty); + datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01"); string path = Path.Combine("Fake", "Path", "Filename"); datFile.FillHeaderFromPath(path, false); - Assert.Equal("Name", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.Equal("Name (1980-01-01)", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("Name", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("Name (1980-01-01)", datFile.Header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); } [Fact] public void FillHeaderFromPath_NameNoDesc_Bare() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "Name"); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, string.Empty); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, "1980-01-01"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, "Name"); + datFile.Header.Write(Data.Models.Metadata.Header.DescriptionKey, string.Empty); + datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01"); string path = Path.Combine("Fake", "Path", "Filename"); datFile.FillHeaderFromPath(path, true); - Assert.Equal("Name", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.Equal("Name", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("Name", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("Name", datFile.Header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); } [Fact] public void FillHeaderFromPath_NameDesc_NotBare() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "Name"); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, "Description"); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, "1980-01-01"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, "Name"); + datFile.Header.Write(Data.Models.Metadata.Header.DescriptionKey, "Description"); + datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01"); string path = Path.Combine("Fake", "Path", "Filename"); datFile.FillHeaderFromPath(path, false); - Assert.Equal("Name", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.Equal("Description", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("Name", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("Description", datFile.Header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); } [Fact] public void FillHeaderFromPath_NameDesc_Bare() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "Name "); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, "Description "); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, "1980-01-01"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, "Name "); + datFile.Header.Write(Data.Models.Metadata.Header.DescriptionKey, "Description "); + datFile.Header.Write(Data.Models.Metadata.Header.DateKey, "1980-01-01"); string path = Path.Combine("Fake", "Path", "Filename"); datFile.FillHeaderFromPath(path, true); - Assert.Equal("Name", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - Assert.Equal("Description", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); + Assert.Equal("Name", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("Description", datFile.Header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); } #endregion @@ -237,14 +237,14 @@ namespace SabreTools.Metadata.DatFiles.Test public void SetHeaderTest() { DatHeader datHeader = new DatHeader(); - datHeader.SetFieldValue(Data.Models.Metadata.Header.NameKey, "name"); + datHeader.Write(Data.Models.Metadata.Header.NameKey, "name"); DatFile? datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "notname"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, "notname"); datFile.SetHeader(datHeader); Assert.NotNull(datFile.Header); - Assert.Equal("name", datFile.Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("name", datFile.Header.ReadString(Data.Models.Metadata.Header.NameKey)); } #endregion @@ -273,7 +273,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void ResetDictionaryTest() { DatFile datFile = new Logiqx(datFile: null, useGame: false); - datFile.Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "name"); + datFile.Header.Write(Data.Models.Metadata.Header.NameKey, "name"); datFile.AddItem(new Rom(), statsOnly: false); datFile.AddItemDB(new Rom(), 0, 0, false); @@ -1329,11 +1329,11 @@ namespace SabreTools.Metadata.DatFiles.Test string expected) { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); DatItem item = new Rom(); - item.SetFieldValue(Data.Models.Metadata.Rom.NameKey, "name"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); + item.Write(Data.Models.Metadata.Rom.NameKey, "name"); + item.Write(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); DatFile? datFile = new Logiqx(datFile: null, useGame: false); datFile.Modifiers.Prefix = fix; @@ -1363,27 +1363,27 @@ namespace SabreTools.Metadata.DatFiles.Test string expected = string.Empty; Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); - machine.SetFieldValue(Data.Models.Metadata.Machine.PublisherKey, "publisher"); - machine.SetFieldValue(Data.Models.Metadata.Machine.CategoryKey, "category"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); + machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher"); + machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category"); DatItem item = new Rom(); - item.SetFieldValue(Data.Models.Metadata.Rom.NameKey, "name"); - item.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - item.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "crc16"); - item.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - item.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "crc64"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "md2"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "md4"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "md5"); - item.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "ripemd128"); - item.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "ripemd160"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "sha1"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "sha256"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "sha384"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "sha512"); - item.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "spamsum"); + item.Write(Data.Models.Metadata.Rom.NameKey, "name"); + item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + item.Write(Data.Models.Metadata.Rom.CRC16Key, "crc16"); + item.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + item.Write(Data.Models.Metadata.Rom.CRC64Key, "crc64"); + item.Write(Data.Models.Metadata.Rom.MD2Key, "md2"); + item.Write(Data.Models.Metadata.Rom.MD4Key, "md4"); + item.Write(Data.Models.Metadata.Rom.MD5Key, "md5"); + item.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "ripemd128"); + item.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "ripemd160"); + item.Write(Data.Models.Metadata.Rom.SHA1Key, "sha1"); + item.Write(Data.Models.Metadata.Rom.SHA256Key, "sha256"); + item.Write(Data.Models.Metadata.Rom.SHA384Key, "sha384"); + item.Write(Data.Models.Metadata.Rom.SHA512Key, "sha512"); + item.Write(Data.Models.Metadata.Rom.SpamSumKey, "spamsum"); string actual = DatFile.FormatPrefixPostfix(item, machine, fix); Assert.Equal(expected, actual); @@ -1396,15 +1396,15 @@ namespace SabreTools.Metadata.DatFiles.Test string expected = "machine_machine_name_manufacturer_publisher_category______md5___sha1_____"; Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); - machine.SetFieldValue(Data.Models.Metadata.Machine.PublisherKey, "publisher"); - machine.SetFieldValue(Data.Models.Metadata.Machine.CategoryKey, "category"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); + machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher"); + machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category"); DatItem item = new Disk(); - item.SetFieldValue(Data.Models.Metadata.Disk.NameKey, "name"); - item.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "md5"); - item.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "sha1"); + item.Write(Data.Models.Metadata.Disk.NameKey, "name"); + item.Write(Data.Models.Metadata.Disk.MD5Key, "md5"); + item.Write(Data.Models.Metadata.Disk.SHA1Key, "sha1"); string actual = DatFile.FormatPrefixPostfix(item, machine, fix); Assert.Equal(expected, actual); @@ -1417,10 +1417,10 @@ namespace SabreTools.Metadata.DatFiles.Test string expected = "machine_machine_name.bin_manufacturer_publisher_category__00000000____d41d8cd98f00b204e9800998ecf8427e___da39a3ee5e6b4b0d3255bfef95601890afd80709_e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855___12345_"; Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); - machine.SetFieldValue(Data.Models.Metadata.Machine.PublisherKey, "publisher"); - machine.SetFieldValue(Data.Models.Metadata.Machine.CategoryKey, "category"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); + machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher"); + machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category"); DatItem item = new DatItems.Formats.File { @@ -1444,17 +1444,17 @@ namespace SabreTools.Metadata.DatFiles.Test string expected = "machine_machine_name_manufacturer_publisher_category______md5___sha1_sha256____spamsum"; Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); - machine.SetFieldValue(Data.Models.Metadata.Machine.PublisherKey, "publisher"); - machine.SetFieldValue(Data.Models.Metadata.Machine.CategoryKey, "category"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); + machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher"); + machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category"); DatItem item = new Media(); - item.SetFieldValue(Data.Models.Metadata.Media.NameKey, "name"); - item.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "md5"); - item.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "sha1"); - item.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "sha256"); - item.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "spamsum"); + item.Write(Data.Models.Metadata.Media.NameKey, "name"); + item.Write(Data.Models.Metadata.Media.MD5Key, "md5"); + item.Write(Data.Models.Metadata.Media.SHA1Key, "sha1"); + item.Write(Data.Models.Metadata.Media.SHA256Key, "sha256"); + item.Write(Data.Models.Metadata.Media.SpamSumKey, "spamsum"); string actual = DatFile.FormatPrefixPostfix(item, machine, fix); Assert.Equal(expected, actual); @@ -1467,27 +1467,27 @@ namespace SabreTools.Metadata.DatFiles.Test string expected = "machine_machine_name_manufacturer_publisher_category_crc16_crc_crc64_md2_md4_md5_ripemd128_ripemd160_sha1_sha256_sha384_sha512_12345_spamsum"; Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); - machine.SetFieldValue(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); - machine.SetFieldValue(Data.Models.Metadata.Machine.PublisherKey, "publisher"); - machine.SetFieldValue(Data.Models.Metadata.Machine.CategoryKey, "category"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.ManufacturerKey, "manufacturer"); + machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher"); + machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category"); DatItem item = new Rom(); - item.SetFieldValue(Data.Models.Metadata.Rom.NameKey, "name"); - item.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - item.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "crc16"); - item.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - item.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "crc64"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "md2"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "md4"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "md5"); - item.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "ripemd128"); - item.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "ripemd160"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "sha1"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "sha256"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "sha384"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "sha512"); - item.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "spamsum"); + item.Write(Data.Models.Metadata.Rom.NameKey, "name"); + item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + item.Write(Data.Models.Metadata.Rom.CRC16Key, "crc16"); + item.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + item.Write(Data.Models.Metadata.Rom.CRC64Key, "crc64"); + item.Write(Data.Models.Metadata.Rom.MD2Key, "md2"); + item.Write(Data.Models.Metadata.Rom.MD4Key, "md4"); + item.Write(Data.Models.Metadata.Rom.MD5Key, "md5"); + item.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "ripemd128"); + item.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "ripemd160"); + item.Write(Data.Models.Metadata.Rom.SHA1Key, "sha1"); + item.Write(Data.Models.Metadata.Rom.SHA256Key, "sha256"); + item.Write(Data.Models.Metadata.Rom.SHA384Key, "sha384"); + item.Write(Data.Models.Metadata.Rom.SHA512Key, "sha512"); + item.Write(Data.Models.Metadata.Rom.SpamSumKey, "spamsum"); string actual = DatFile.FormatPrefixPostfix(item, machine, fix); Assert.Equal(expected, actual); @@ -1505,105 +1505,105 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = DatFile.ProcessNullifiedItem(item); Sample? sample = actual as Sample; Assert.NotNull(sample); - Assert.Null(sample.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Null(sample.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)); + Assert.Null(sample.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.CRC16Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.CRCKey)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.CRC64Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.MD2Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.MD4Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.SHA384Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.SHA512Key)); + Assert.Null(sample.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); } [Fact] public void ProcessNullifiedItem_SizeNonNull() { DatItem item = new Rom(); - item.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); + item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); DatItem actual = DatFile.ProcessNullifiedItem(item); Rom? rom = actual as Rom; Assert.NotNull(rom); - Assert.Equal(12345, rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)); + Assert.Equal(12345, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); } [Fact] public void ProcessNullifiedItem_CrcNonNull() { DatItem item = new Rom(); - item.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); + item.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); DatItem actual = DatFile.ProcessNullifiedItem(item); Rom? rom = actual as Rom; Assert.NotNull(rom); - Assert.Null(rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal(HashType.CRC32.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Null(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)); + Assert.Null(rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(HashType.CRC32.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRCKey)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)); + Assert.Null(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); } [Fact] public void ProcessNullifiedItem_AllNull() { DatItem item = new Rom(); - item.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "null"); - item.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "null"); + item.Write(Data.Models.Metadata.Rom.CRC16Key, "null"); + item.Write(Data.Models.Metadata.Rom.CRCKey, "null"); + item.Write(Data.Models.Metadata.Rom.CRC64Key, "null"); + item.Write(Data.Models.Metadata.Rom.MD2Key, "null"); + item.Write(Data.Models.Metadata.Rom.MD4Key, "null"); + item.Write(Data.Models.Metadata.Rom.MD5Key, "null"); + item.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "null"); + item.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "null"); + item.Write(Data.Models.Metadata.Rom.SHA1Key, "null"); + item.Write(Data.Models.Metadata.Rom.SHA256Key, "null"); + item.Write(Data.Models.Metadata.Rom.SHA384Key, "null"); + item.Write(Data.Models.Metadata.Rom.SHA512Key, "null"); + item.Write(Data.Models.Metadata.Rom.SpamSumKey, "null"); DatItem actual = DatFile.ProcessNullifiedItem(item); Rom? rom = actual as Rom; Assert.NotNull(rom); - Assert.Equal(0, rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal(HashType.CRC16.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)); - Assert.Equal(HashType.CRC32.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); - Assert.Equal(HashType.CRC64.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)); - Assert.Equal(HashType.MD2.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)); - Assert.Equal(HashType.MD4.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)); - Assert.Equal(HashType.MD5.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Equal(HashType.RIPEMD128.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)); - Assert.Equal(HashType.RIPEMD160.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)); - Assert.Equal(HashType.SHA1.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal(HashType.SHA256.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Equal(HashType.SHA384.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)); - Assert.Equal(HashType.SHA512.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Equal(HashType.SpamSum.ZeroString, rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)); + Assert.Equal(0, rom.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(HashType.CRC16.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)); + Assert.Equal(HashType.CRC32.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(HashType.CRC64.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)); + Assert.Equal(HashType.MD2.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD2Key)); + Assert.Equal(HashType.MD4.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD4Key)); + Assert.Equal(HashType.MD5.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Equal(HashType.RIPEMD128.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)); + Assert.Equal(HashType.RIPEMD160.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)); + Assert.Equal(HashType.SHA1.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal(HashType.SHA256.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Equal(HashType.SHA384.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)); + Assert.Equal(HashType.SHA512.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)); + Assert.Equal(HashType.SpamSum.ZeroString, rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); } #endregion @@ -1657,7 +1657,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Disk(); - datItem.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, hash); + datItem.Write(Data.Models.Metadata.Disk.MD5Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1668,7 +1668,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Disk(); - datItem.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, hash); + datItem.Write(Data.Models.Metadata.Disk.SHA1Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1735,7 +1735,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Media(); - datItem.SetFieldValue(Data.Models.Metadata.Media.MD5Key, hash); + datItem.Write(Data.Models.Metadata.Media.MD5Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1746,7 +1746,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Media(); - datItem.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, hash); + datItem.Write(Data.Models.Metadata.Media.SHA1Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1757,7 +1757,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Media(); - datItem.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, hash); + datItem.Write(Data.Models.Metadata.Media.SHA256Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1768,7 +1768,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Media(); - datItem.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, hash); + datItem.Write(Data.Models.Metadata.Media.SpamSumKey, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1787,7 +1787,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, hash); + datItem.Write(Data.Models.Metadata.Rom.CRC16Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1798,7 +1798,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, hash); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1809,7 +1809,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, hash); + datItem.Write(Data.Models.Metadata.Rom.CRC64Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1820,7 +1820,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, hash); + datItem.Write(Data.Models.Metadata.Rom.MD2Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1831,7 +1831,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, hash); + datItem.Write(Data.Models.Metadata.Rom.MD4Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1842,7 +1842,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, hash); + datItem.Write(Data.Models.Metadata.Rom.MD5Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1853,7 +1853,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, hash); + datItem.Write(Data.Models.Metadata.Rom.RIPEMD128Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1864,7 +1864,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, hash); + datItem.Write(Data.Models.Metadata.Rom.RIPEMD160Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1875,7 +1875,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, hash); + datItem.Write(Data.Models.Metadata.Rom.SHA1Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1886,7 +1886,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, hash); + datItem.Write(Data.Models.Metadata.Rom.SHA256Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1897,7 +1897,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, hash); + datItem.Write(Data.Models.Metadata.Rom.SHA384Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1908,7 +1908,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, hash); + datItem.Write(Data.Models.Metadata.Rom.SHA512Key, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1919,7 +1919,7 @@ namespace SabreTools.Metadata.DatFiles.Test { string hash = "XXXXXX"; DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, hash); + datItem.Write(Data.Models.Metadata.Rom.SpamSumKey, hash); string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1952,16 +1952,16 @@ namespace SabreTools.Metadata.DatFiles.Test public void ResolveNames_SingleItem_Single() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); Source source = new Source(0); Rom romA = new Rom(); romA.SetName("name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - romA.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romA.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + romA.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romA.Write(DatItem.SourceKey, (Source)source.Clone()); List datItems = [romA]; @@ -1972,31 +1972,31 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actualItemA as Rom; Assert.NotNull(actualRomA); Assert.Equal("name", actualRomA.GetName()); - Assert.Equal(12345, actualRomA.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc", actualRomA.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); } [Fact] public void ResolveNames_NonDuplicate_AllUntouched() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); Source source = new Source(0); Rom romA = new Rom(); romA.SetName("romA"); - romA.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - romA.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romA.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + romA.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romA.Write(DatItem.SourceKey, (Source)source.Clone()); Rom romB = new Rom(); romB.SetName("romB"); - romB.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 23456); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc2"); - romB.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romB.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2"); + romB.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romB.Write(DatItem.SourceKey, (Source)source.Clone()); List datItems = [romA, romB]; @@ -2008,37 +2008,37 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actual[0] as Rom; Assert.NotNull(actualRomA); Assert.Equal("romA", actualRomA.GetName()); - Assert.Equal(12345, actualRomA.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc", actualRomA.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); Rom? actualRomB = actual[1] as Rom; Assert.NotNull(actualRomB); Assert.Equal("romB", actualRomB.GetName()); - Assert.Equal(23456, actualRomB.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc2", actualRomB.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(23456, actualRomB.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc2", actualRomB.ReadString(Data.Models.Metadata.Rom.CRCKey)); } [Fact] public void ResolveNames_AllDuplicate_Single() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); Source source = new Source(0); Rom romA = new Rom(); romA.SetName("rom"); - romA.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - romA.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romA.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + romA.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romA.Write(DatItem.SourceKey, (Source)source.Clone()); Rom romB = new Rom(); romB.SetName("rom"); - romB.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - romB.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romB.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romB.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + romB.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romB.Write(DatItem.SourceKey, (Source)source.Clone()); List datItems = [romA, romB]; @@ -2049,31 +2049,31 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actualItemA as Rom; Assert.NotNull(actualRomA); Assert.Equal("rom", actualRomA.GetName()); - Assert.Equal(12345, actualRomA.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc", actualRomA.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); } [Fact] public void ResolveNames_NameMatch_SingleRenamed() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); Source source = new Source(0); Rom romA = new Rom(); romA.SetName("rom"); - romA.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - romA.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romA.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + romA.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romA.Write(DatItem.SourceKey, (Source)source.Clone()); Rom romB = new Rom(); romB.SetName("rom"); - romB.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 23456); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc2"); - romB.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romB.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2"); + romB.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romB.Write(DatItem.SourceKey, (Source)source.Clone()); List datItems = [romA, romB]; @@ -2085,14 +2085,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actual[0] as Rom; Assert.NotNull(actualRomA); Assert.Equal("rom", actualRomA.GetName()); - Assert.Equal(12345, actualRomA.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc", actualRomA.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); Rom? actualRomB = actual[1] as Rom; Assert.NotNull(actualRomB); Assert.Equal("rom_crc2", actualRomB.GetName()); - Assert.Equal(23456, actualRomB.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc2", actualRomB.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(23456, actualRomB.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc2", actualRomB.ReadString(Data.Models.Metadata.Rom.CRCKey)); } #endregion @@ -2114,16 +2114,16 @@ namespace SabreTools.Metadata.DatFiles.Test public void ResolveNamesDB_SingleItem_Single() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); Source source = new Source(0); Rom romA = new Rom(); romA.SetName("name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - romA.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romA.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + romA.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romA.Write(DatItem.SourceKey, (Source)source.Clone()); List> mappings = [ @@ -2136,31 +2136,31 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actualItemA.Value as Rom; Assert.NotNull(actualRomA); Assert.Equal("name", actualRomA.GetName()); - Assert.Equal(12345, actualRomA.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc", actualRomA.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); } [Fact] public void ResolveNamesDB_NonDuplicate_AllUntouched() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); Source source = new Source(0); Rom romA = new Rom(); romA.SetName("romA"); - romA.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - romA.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romA.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + romA.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romA.Write(DatItem.SourceKey, (Source)source.Clone()); Rom romB = new Rom(); romB.SetName("romB"); - romB.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 23456); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc2"); - romB.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romB.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2"); + romB.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romB.Write(DatItem.SourceKey, (Source)source.Clone()); List> mappings = [ @@ -2175,14 +2175,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actual[0].Value as Rom; Assert.NotNull(actualRomA); Assert.Equal("romA", actualRomA.GetName()); - Assert.Equal(12345, actualRomA.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc", actualRomA.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); Rom? actualRomB = actual[1].Value as Rom; Assert.NotNull(actualRomB); Assert.Equal("romB", actualRomB.GetName()); - Assert.Equal(23456, actualRomB.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc2", actualRomB.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(23456, actualRomB.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc2", actualRomB.ReadString(Data.Models.Metadata.Rom.CRCKey)); } [Fact] @@ -2191,7 +2191,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatFile datFile = new Logiqx(null, useGame: false); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); long machineIndex = datFile.AddMachineDB(machine); Source source = new Source(0); @@ -2199,14 +2199,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom romA = new Rom(); romA.SetName("rom"); - romA.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); + romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); long romAIndex = datFile.AddItemDB(romA, machineIndex, sourceIndex, statsOnly: false); Rom romB = new Rom(); romB.SetName("rom"); - romB.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); + romB.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); long romBIndex = datFile.AddItemDB(romB, machineIndex, sourceIndex, statsOnly: false); List> mappings = @@ -2220,31 +2220,31 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actualItemA.Value as Rom; Assert.NotNull(actualRomA); Assert.Equal("rom", actualRomA.GetName()); - Assert.Equal(12345, actualRomA.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc", actualRomA.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); } [Fact] public void ResolveNamesDB_NameMatch_SingleRenamed() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "machine"); Source source = new Source(0); Rom romA = new Rom(); romA.SetName("rom"); - romA.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - romA.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romA.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + romA.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romA.Write(DatItem.SourceKey, (Source)source.Clone()); Rom romB = new Rom(); romB.SetName("rom"); - romB.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 23456); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc2"); - romB.SetFieldValue(DatItem.MachineKey, (Machine)machine.Clone()); - romB.SetFieldValue(DatItem.SourceKey, (Source)source.Clone()); + romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2"); + romB.Write(DatItem.MachineKey, (Machine)machine.Clone()); + romB.Write(DatItem.SourceKey, (Source)source.Clone()); List> mappings = [ @@ -2259,14 +2259,14 @@ namespace SabreTools.Metadata.DatFiles.Test Rom? actualRomA = actual[0].Value as Rom; Assert.NotNull(actualRomA); Assert.Equal("rom", actualRomA.GetName()); - Assert.Equal(12345, actualRomA.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc", actualRomA.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(12345, actualRomA.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc", actualRomA.ReadString(Data.Models.Metadata.Rom.CRCKey)); Rom? actualRomB = actual[1].Value as Rom; Assert.NotNull(actualRomB); Assert.Equal("rom_crc2", actualRomB.GetName()); - Assert.Equal(23456, actualRomB.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("crc2", actualRomB.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal(23456, actualRomB.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("crc2", actualRomB.ReadString(Data.Models.Metadata.Rom.CRCKey)); } #endregion @@ -2287,7 +2287,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void ShouldIgnore_RemoveSet_True() { DatItem? datItem = new Rom(); - datItem.SetFieldValue(DatItem.RemoveKey, true); + datItem.Write(DatItem.RemoveKey, true); DatFile datFile = new Logiqx(null, useGame: false); bool actual = datFile.ShouldIgnore(datItem, ignoreBlanks: true); @@ -2318,9 +2318,9 @@ namespace SabreTools.Metadata.DatFiles.Test public void ShouldIgnore_NoIgnoreBlanksZeroRom_False() { DatItem? datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.NameKey, "name"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); + datItem.Write(Data.Models.Metadata.Rom.NameKey, "name"); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); DatFile datFile = new Logiqx(null, useGame: false); bool actual = datFile.ShouldIgnore(datItem, ignoreBlanks: false); @@ -2341,8 +2341,8 @@ namespace SabreTools.Metadata.DatFiles.Test public void ShouldIgnore_MissingRequired_True() { DatItem? datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.NameKey, "name"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); + datItem.Write(Data.Models.Metadata.Rom.NameKey, "name"); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); DatFile datFile = new Logiqx(null, useGame: false); bool actual = datFile.ShouldIgnore(datItem, ignoreBlanks: true); @@ -2353,19 +2353,19 @@ namespace SabreTools.Metadata.DatFiles.Test public void ShouldIgnore_AllVerified_False() { DatItem? datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.NameKey, "name"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "crc"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "crc"); + datItem.Write(Data.Models.Metadata.Rom.NameKey, "name"); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "crc"); + datItem.Write(Data.Models.Metadata.Rom.MD2Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.MD4Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.MD5Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.SHA256Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.SHA384Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.SHA512Key, "crc"); + datItem.Write(Data.Models.Metadata.Rom.SpamSumKey, "crc"); DatFile datFile = new Logiqx(null, useGame: false); bool actual = datFile.ShouldIgnore(datItem, ignoreBlanks: true); diff --git a/SabreTools.Metadata.DatFiles.Test/DatHeaderTests.cs b/SabreTools.Metadata.DatFiles.Test/DatHeaderTests.cs index 50c82e52..ab8b6187 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatHeaderTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatHeaderTests.cs @@ -10,7 +10,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void CanOpenSpecified_Missing() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.CanOpenKey, null); + header.Write(Data.Models.Metadata.Header.CanOpenKey, null); Assert.False(header.CanOpenSpecified); } @@ -18,7 +18,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void CanOpenSpecified_Empty() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.CanOpenKey, []); + header.Write(Data.Models.Metadata.Header.CanOpenKey, []); Assert.False(header.CanOpenSpecified); } @@ -26,7 +26,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void CanOpenSpecified_Exists() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.CanOpenKey, ["value"]); + header.Write(Data.Models.Metadata.Header.CanOpenKey, ["value"]); Assert.True(header.CanOpenSpecified); } @@ -38,7 +38,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void ImagesSpecified_Missing() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.ImagesKey, null); + header.Write(Data.Models.Metadata.Header.ImagesKey, null); Assert.False(header.ImagesSpecified); } @@ -46,7 +46,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void ImagesSpecified_Exists() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.ImagesKey, new()); + header.Write(Data.Models.Metadata.Header.ImagesKey, new()); Assert.True(header.ImagesSpecified); } @@ -58,7 +58,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void InfosSpecified_Missing() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.InfosKey, null); + header.Write(Data.Models.Metadata.Header.InfosKey, null); Assert.False(header.InfosSpecified); } @@ -66,7 +66,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void InfosSpecified_Exists() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.InfosKey, new()); + header.Write(Data.Models.Metadata.Header.InfosKey, new()); Assert.True(header.InfosSpecified); } @@ -78,7 +78,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void NewDatSpecified_Missing() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.NewDatKey, null); + header.Write(Data.Models.Metadata.Header.NewDatKey, null); Assert.False(header.NewDatSpecified); } @@ -86,7 +86,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void NewDatSpecified_Exists() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.NewDatKey, new()); + header.Write(Data.Models.Metadata.Header.NewDatKey, new()); Assert.True(header.NewDatSpecified); } @@ -98,7 +98,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void SearchSpecified_Missing() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.SearchKey, null); + header.Write(Data.Models.Metadata.Header.SearchKey, null); Assert.False(header.SearchSpecified); } @@ -106,7 +106,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void SearchSpecified_Exists() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.SearchKey, new()); + header.Write(Data.Models.Metadata.Header.SearchKey, new()); Assert.True(header.SearchSpecified); } @@ -118,12 +118,12 @@ namespace SabreTools.Metadata.DatFiles.Test public void CloneTest() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "name"); + header.Write(Data.Models.Metadata.Header.NameKey, "name"); object clone = header.Clone(); DatHeader? actual = clone as DatHeader; Assert.NotNull(actual); - Assert.Equal("name", actual.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); + Assert.Equal("name", actual.ReadString(Data.Models.Metadata.Header.NameKey)); } #endregion @@ -134,12 +134,12 @@ namespace SabreTools.Metadata.DatFiles.Test public void CloneFormatTest() { DatHeader header = new DatHeader(); - header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.Logiqx); + header.Write(DatHeader.DatFormatKey, DatFormat.Logiqx); object clone = header.Clone(); DatHeader? actual = clone as DatHeader; Assert.NotNull(actual); - Assert.Equal(DatFormat.Logiqx, actual.GetFieldValue(DatHeader.DatFormatKey)); + Assert.Equal(DatFormat.Logiqx, actual.Read(DatHeader.DatFormatKey)); } #endregion @@ -150,7 +150,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void GetInternalCloneTest() { DatHeader header = new DatHeader(); - header.SetFieldValue(Data.Models.Metadata.Header.NameKey, "name"); + header.Write(Data.Models.Metadata.Header.NameKey, "name"); Data.Models.Metadata.Header actual = header.GetInternalClone(); Assert.Equal("name", actual[Data.Models.Metadata.Header.NameKey]); @@ -184,10 +184,10 @@ namespace SabreTools.Metadata.DatFiles.Test public void Equals_MismatchedInternal_False() { DatHeader self = new DatHeader(); - self.SetFieldValue(Data.Models.Metadata.Header.NameKey, "self"); + self.Write(Data.Models.Metadata.Header.NameKey, "self"); DatHeader? other = new DatHeader(); - other.SetFieldValue(Data.Models.Metadata.Header.NameKey, "other"); + other.Write(Data.Models.Metadata.Header.NameKey, "other"); bool actual = self.Equals(other); Assert.False(actual); @@ -197,10 +197,10 @@ namespace SabreTools.Metadata.DatFiles.Test public void Equals_EqualInternal_True() { DatHeader self = new DatHeader(); - self.SetFieldValue(Data.Models.Metadata.Header.NameKey, "name"); + self.Write(Data.Models.Metadata.Header.NameKey, "name"); DatHeader? other = new DatHeader(); - other.SetFieldValue(Data.Models.Metadata.Header.NameKey, "name"); + other.Write(Data.Models.Metadata.Header.NameKey, "name"); bool actual = self.Equals(other); Assert.True(actual); diff --git a/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs b/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs index 0cc50bc7..7ec44fb7 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs @@ -253,9 +253,9 @@ namespace SabreTools.Metadata.DatFiles.Test { var disk = new Disk(); - disk.SetFieldValue(Data.Models.Metadata.Disk.StatusKey, ItemStatus.Good.AsStringValue()); - disk.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); - disk.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); + disk.Write(Data.Models.Metadata.Disk.StatusKey, ItemStatus.Good.AsStringValue()); + disk.Write(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); + disk.Write(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); return disk; } @@ -284,10 +284,10 @@ namespace SabreTools.Metadata.DatFiles.Test { var media = new Media(); - media.SetFieldValue(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); - media.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); - media.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); - media.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); + media.Write(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); + media.Write(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); + media.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); + media.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); return media; } @@ -299,21 +299,21 @@ namespace SabreTools.Metadata.DatFiles.Test { var rom = new Rom(); - rom.SetFieldValue(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Good.AsStringValue()); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 1); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, HashType.CRC16.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, HashType.CRC64.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, HashType.MD2.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, HashType.MD4.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, HashType.RIPEMD128.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, HashType.RIPEMD160.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, HashType.SHA256.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, HashType.SHA384.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, HashType.SHA512.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, HashType.SpamSum.ZeroString); + rom.Write(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Good.AsStringValue()); + rom.Write(Data.Models.Metadata.Rom.SizeKey, 1); + rom.Write(Data.Models.Metadata.Rom.CRC16Key, HashType.CRC16.ZeroString); + rom.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); + rom.Write(Data.Models.Metadata.Rom.CRC64Key, HashType.CRC64.ZeroString); + rom.Write(Data.Models.Metadata.Rom.MD2Key, HashType.MD2.ZeroString); + rom.Write(Data.Models.Metadata.Rom.MD4Key, HashType.MD4.ZeroString); + rom.Write(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); + rom.Write(Data.Models.Metadata.Rom.RIPEMD128Key, HashType.RIPEMD128.ZeroString); + rom.Write(Data.Models.Metadata.Rom.RIPEMD160Key, HashType.RIPEMD160.ZeroString); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); + rom.Write(Data.Models.Metadata.Rom.SHA256Key, HashType.SHA256.ZeroString); + rom.Write(Data.Models.Metadata.Rom.SHA384Key, HashType.SHA384.ZeroString); + rom.Write(Data.Models.Metadata.Rom.SHA512Key, HashType.SHA512.ZeroString); + rom.Write(Data.Models.Metadata.Rom.SpamSumKey, HashType.SpamSum.ZeroString); return rom; } diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs index 610182ae..45b3a936 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs @@ -18,7 +18,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem disk = new Disk(); disk.SetName("item"); - disk.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "deadbeef"); + disk.Write(Data.Models.Metadata.Disk.SHA1Key, "deadbeef"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -27,7 +27,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Assert.True(actual is Disk); - Assert.Equal("none", actual.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey)); + Assert.Equal("none", actual.ReadString(Data.Models.Metadata.Disk.StatusKey)); } [Fact] @@ -46,7 +46,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Assert.True(actual is Disk); - Assert.Equal("nodump", actual.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey)); + Assert.Equal("nodump", actual.ReadString(Data.Models.Metadata.Disk.StatusKey)); } [Fact] @@ -96,7 +96,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem media = new Media(); media.SetName("item"); - media.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "deadbeef"); + media.Write(Data.Models.Metadata.Media.SHA1Key, "deadbeef"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -135,8 +135,8 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom = new Rom(); rom.SetName("item"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); + rom.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -145,9 +145,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Assert.True(actual is Rom); - Assert.Equal(12345, actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("none", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); + Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("none", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); } [Fact] @@ -158,7 +158,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom = new Rom(); rom.SetName("item"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); + rom.Write(Data.Models.Metadata.Rom.SizeKey, 12345); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -167,9 +167,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Assert.True(actual is Rom); - Assert.Equal(12345, actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Null(actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("nodump", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); + Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Null(actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("nodump", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); } [Fact] @@ -180,7 +180,7 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom = new Rom(); rom.SetName("item"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -189,9 +189,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Assert.True(actual is Rom); - Assert.Null(actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("none", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); + Assert.Null(actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("none", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); } [Fact] @@ -210,9 +210,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem actual = Assert.Single(dict.GetItemsForBucket("default")).Value; Assert.True(actual is Rom); - Assert.Equal(0, actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal(HashType.SHA1.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("none", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); + Assert.Equal(0, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(HashType.SHA1.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("none", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); } [Fact] @@ -294,16 +294,16 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - rom2.SetFieldValue(DatItem.RemoveKey, true); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + rom2.Write(DatItem.RemoveKey, true); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -372,7 +372,7 @@ namespace SabreTools.Metadata.DatFiles.Test machine.SetName("machine"); DatItem item = new Rom(); - item.SetFieldValue(DatItem.RemoveKey, true); + item.Write(DatItem.RemoveKey, true); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -393,7 +393,7 @@ namespace SabreTools.Metadata.DatFiles.Test machine.SetName("machine"); DatItem item = new Rom(); - item.SetFieldValue(DatItem.RemoveKey, true); + item.Write(DatItem.RemoveKey, true); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -509,10 +509,10 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine origMachine = new Machine(); - origMachine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "original"); + origMachine.Write(Data.Models.Metadata.Machine.NameKey, "original"); Machine newMachine = new Machine(); - newMachine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "new"); + newMachine.Write(Data.Models.Metadata.Machine.NameKey, "new"); DatItem datItem = new Rom(); @@ -544,9 +544,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem datItem = new Rom(); datItem.SetName("rom-1"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -572,9 +572,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem datItem = new Rom(); datItem.SetName("rom-1"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -624,27 +624,27 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); DatItem rom3 = new Rom(); rom3.SetName("rom-3"); - rom3.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - rom3.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26"); - rom3.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom3.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + rom3.Write(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26"); + rom3.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); DatItem rom4 = new Rom(); rom4.SetName("rom-4"); - rom4.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - rom4.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487"); - rom4.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom4.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + rom4.Write(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487"); + rom4.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -675,13 +675,13 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -747,13 +747,13 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "BEEFDEAD"); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "BEEFDEAD"); long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex); KeyValuePair? romAPair = new KeyValuePair(romAIndex, romA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex); KeyValuePair? romBPair = new KeyValuePair(romBIndex, romB); @@ -781,13 +781,13 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex); KeyValuePair? romAPair = new KeyValuePair(romAIndex, romA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex); KeyValuePair? romBPair = new KeyValuePair(romBIndex, romB); @@ -815,13 +815,13 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex); KeyValuePair? romAPair = new KeyValuePair(romAIndex, romA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex); KeyValuePair? romBPair = new KeyValuePair(romBIndex, romB); @@ -849,13 +849,13 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex); KeyValuePair? romAPair = new KeyValuePair(romAIndex, romA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex); KeyValuePair? romBPair = new KeyValuePair(romBIndex, romB); @@ -883,13 +883,13 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romAIndex = dict.AddItem(romA, machineAIndex, sourceAIndex); KeyValuePair? romAPair = new KeyValuePair(romAIndex, romA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); long romBIndex = dict.AddItem(romB, machineBIndex, sourceBIndex); KeyValuePair? romBPair = new KeyValuePair(romBIndex, romB); @@ -914,13 +914,13 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -932,8 +932,8 @@ namespace SabreTools.Metadata.DatFiles.Test // Setup the test item DatItem rom = new Rom(); rom.SetName("rom-1"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, hasDuplicate ? "1024" : "2048"); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom.Write(Data.Models.Metadata.Rom.SizeKey, hasDuplicate ? "1024" : "2048"); var actual = dict.GetDuplicates(new KeyValuePair(-1, rom)); Assert.Equal(expected, actual.Count); @@ -956,13 +956,13 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); // Setup the dictionary var dict = new ItemDictionaryDB(); @@ -974,8 +974,8 @@ namespace SabreTools.Metadata.DatFiles.Test // Setup the test item DatItem rom = new Rom(); rom.SetName("rom-1"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, expected ? "1024" : "2048"); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom.Write(Data.Models.Metadata.Rom.SizeKey, expected ? "1024" : "2048"); bool actual = dict.HasDuplicates(new KeyValuePair(-1, rom)); Assert.Equal(expected, actual); @@ -995,8 +995,8 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem item = new Rom(); item.SetName("rom"); - item.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - item.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + item.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); @@ -1009,7 +1009,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(1, dict.DatStatistics.GetHashCount(HashType.CRC32)); Assert.Equal(0, dict.DatStatistics.GetHashCount(HashType.MD5)); - item.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "deadbeef"); + item.Write(Data.Models.Metadata.Rom.MD5Key, "deadbeef"); dict.RecalculateStats(); diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs index 76f8161c..6c78640f 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs @@ -18,16 +18,16 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem disk = new Disk(); disk.SetName("item"); - disk.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "deadbeef"); - disk.SetFieldValue(DatItem.SourceKey, source); - disk.SetFieldValue(DatItem.MachineKey, machine); + disk.Write(Data.Models.Metadata.Disk.SHA1Key, "deadbeef"); + disk.Write(DatItem.SourceKey, source); + disk.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(disk, statsOnly: false); DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Assert.True(actual is Disk); - Assert.Equal("none", actual.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey)); + Assert.Equal("none", actual.ReadString(Data.Models.Metadata.Disk.StatusKey)); } [Fact] @@ -38,15 +38,15 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem disk = new Disk(); disk.SetName("item"); - disk.SetFieldValue(DatItem.SourceKey, source); - disk.SetFieldValue(DatItem.MachineKey, machine); + disk.Write(DatItem.SourceKey, source); + disk.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(disk, statsOnly: false); DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Assert.True(actual is Disk); - Assert.Equal("nodump", actual.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey)); + Assert.Equal("nodump", actual.ReadString(Data.Models.Metadata.Disk.StatusKey)); } [Fact] @@ -58,8 +58,8 @@ namespace SabreTools.Metadata.DatFiles.Test var file = new File(); file.SetName("item"); file.SHA1 = "deadbeef"; - file.SetFieldValue(DatItem.SourceKey, source); - file.SetFieldValue(DatItem.MachineKey, machine); + file.Write(DatItem.SourceKey, source); + file.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(file, statsOnly: false); @@ -77,8 +77,8 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem file = new File(); file.SetName("item"); - file.SetFieldValue(DatItem.SourceKey, source); - file.SetFieldValue(DatItem.MachineKey, machine); + file.Write(DatItem.SourceKey, source); + file.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(file, statsOnly: false); @@ -96,9 +96,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem media = new Media(); media.SetName("item"); - media.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "deadbeef"); - media.SetFieldValue(DatItem.SourceKey, source); - media.SetFieldValue(DatItem.MachineKey, machine); + media.Write(Data.Models.Metadata.Media.SHA1Key, "deadbeef"); + media.Write(DatItem.SourceKey, source); + media.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(media, statsOnly: false); @@ -116,8 +116,8 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem media = new Media(); media.SetName("item"); - media.SetFieldValue(DatItem.SourceKey, source); - media.SetFieldValue(DatItem.MachineKey, machine); + media.Write(DatItem.SourceKey, source); + media.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(media, statsOnly: false); @@ -135,19 +135,19 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom = new Rom(); rom.SetName("item"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); - rom.SetFieldValue(DatItem.SourceKey, source); - rom.SetFieldValue(DatItem.MachineKey, machine); + rom.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); + rom.Write(DatItem.SourceKey, source); + rom.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(rom, statsOnly: false); DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Assert.True(actual is Rom); - Assert.Equal(12345, actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("none", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); + Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("none", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); } [Fact] @@ -158,18 +158,18 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom = new Rom(); rom.SetName("item"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - rom.SetFieldValue(DatItem.SourceKey, source); - rom.SetFieldValue(DatItem.MachineKey, machine); + rom.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + rom.Write(DatItem.SourceKey, source); + rom.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(rom, statsOnly: false); DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Assert.True(actual is Rom); - Assert.Equal(12345, actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Null(actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("nodump", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); + Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Null(actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("nodump", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); } [Fact] @@ -180,18 +180,18 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom = new Rom(); rom.SetName("item"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); - rom.SetFieldValue(DatItem.SourceKey, source); - rom.SetFieldValue(DatItem.MachineKey, machine); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); + rom.Write(DatItem.SourceKey, source); + rom.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(rom, statsOnly: false); DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Assert.True(actual is Rom); - Assert.Null(actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("none", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); + Assert.Null(actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("none", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); } [Fact] @@ -202,17 +202,17 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom = new Rom(); rom.SetName("item"); - rom.SetFieldValue(DatItem.SourceKey, source); - rom.SetFieldValue(DatItem.MachineKey, machine); + rom.Write(DatItem.SourceKey, source); + rom.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(rom, statsOnly: false); DatItem actual = Assert.Single(dict.GetItemsForBucket("default")); Assert.True(actual is Rom); - Assert.Equal(0, actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal(HashType.SHA1.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("none", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); + Assert.Equal(0, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal(HashType.SHA1.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("none", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); } [Fact] @@ -223,8 +223,8 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem item = new Rom(); item.SetName("item"); - item.SetFieldValue(DatItem.SourceKey, source); - item.SetFieldValue(DatItem.MachineKey, machine); + item.Write(DatItem.SourceKey, source); + item.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: true); @@ -240,8 +240,8 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem item = new Rom(); item.SetName("item"); - item.SetFieldValue(DatItem.SourceKey, source); - item.SetFieldValue(DatItem.MachineKey, machine); + item.Write(DatItem.SourceKey, source); + item.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: false); @@ -262,17 +262,17 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - rom2.SetFieldValue(DatItem.RemoveKey, true); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); + rom2.Write(DatItem.RemoveKey, true); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom2.CopyMachineInformation(machine); // Setup the dictionary @@ -299,8 +299,8 @@ namespace SabreTools.Metadata.DatFiles.Test machine.SetName("machine"); DatItem item = new Rom(); - item.SetFieldValue(DatItem.SourceKey, source); - item.SetFieldValue(DatItem.MachineKey, machine); + item.Write(DatItem.SourceKey, source); + item.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: false); @@ -319,8 +319,8 @@ namespace SabreTools.Metadata.DatFiles.Test machine.SetName("machine"); DatItem item = new Rom(); - item.SetFieldValue(DatItem.SourceKey, source); - item.SetFieldValue(DatItem.MachineKey, machine); + item.Write(DatItem.SourceKey, source); + item.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: false); @@ -339,9 +339,9 @@ namespace SabreTools.Metadata.DatFiles.Test machine.SetName("machine"); DatItem item = new Rom(); - item.SetFieldValue(DatItem.RemoveKey, true); - item.SetFieldValue(DatItem.SourceKey, source); - item.SetFieldValue(DatItem.MachineKey, machine); + item.Write(DatItem.RemoveKey, true); + item.Write(DatItem.SourceKey, source); + item.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: false); @@ -360,9 +360,9 @@ namespace SabreTools.Metadata.DatFiles.Test machine.SetName("machine"); DatItem item = new Rom(); - item.SetFieldValue(DatItem.RemoveKey, true); - item.SetFieldValue(DatItem.SourceKey, source); - item.SetFieldValue(DatItem.MachineKey, machine); + item.Write(DatItem.RemoveKey, true); + item.Write(DatItem.SourceKey, source); + item.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: false); @@ -381,8 +381,8 @@ namespace SabreTools.Metadata.DatFiles.Test machine.SetName("machine"); DatItem item = new Rom(); - item.SetFieldValue(DatItem.SourceKey, source); - item.SetFieldValue(DatItem.MachineKey, machine); + item.Write(DatItem.SourceKey, source); + item.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: false); @@ -404,9 +404,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem datItem = new Rom(); datItem.SetName("rom-1"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); datItem.CopyMachineInformation(machine); var dict = new ItemDictionary(); @@ -430,9 +430,9 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem datItem = new Rom(); datItem.SetName("rom-1"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + datItem.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); datItem.CopyMachineInformation(machine); var dict = new ItemDictionary(); @@ -464,30 +464,30 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine1); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine1); DatItem rom3 = new Rom(); rom3.SetName("rom-3"); - rom3.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - rom3.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26"); - rom3.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom3.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); + rom3.Write(Data.Models.Metadata.Rom.SHA1Key, "00000ea4014ce66679e7e17d56ac510f67e39e26"); + rom3.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine2); DatItem rom4 = new Rom(); rom4.SetName("rom-4"); - rom4.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); - rom4.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487"); - rom4.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom4.Write(Data.Models.Metadata.Rom.CRCKey, "DEAEEF"); + rom4.Write(Data.Models.Metadata.Rom.SHA1Key, "00000151d437442e74e5134023fab8bf694a2487"); + rom4.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine2); // Setup the dictionary @@ -514,14 +514,14 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom2.CopyMachineInformation(machine); // Setup the dictionary @@ -570,14 +570,14 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "BEEFDEAD"); - romA.SetFieldValue(DatItem.SourceKey, new Source(0)); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "BEEFDEAD"); + romA.Write(DatItem.SourceKey, new Source(0)); romA.CopyMachineInformation(machineA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romB.SetFieldValue(DatItem.SourceKey, new Source(1)); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(DatItem.SourceKey, new Source(1)); romB.CopyMachineInformation(machineB); var actual = dict.GetDuplicateStatus(romA, romB); @@ -597,14 +597,14 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romA.SetFieldValue(DatItem.SourceKey, new Source(0)); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romA.Write(DatItem.SourceKey, new Source(0)); romA.CopyMachineInformation(machineA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romB.SetFieldValue(DatItem.SourceKey, new Source(1)); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(DatItem.SourceKey, new Source(1)); romB.CopyMachineInformation(machineB); var actual = dict.GetDuplicateStatus(romA, romB); @@ -624,14 +624,14 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romA.SetFieldValue(DatItem.SourceKey, new Source(0)); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romA.Write(DatItem.SourceKey, new Source(0)); romA.CopyMachineInformation(machineA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romB.SetFieldValue(DatItem.SourceKey, new Source(1)); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(DatItem.SourceKey, new Source(1)); romB.CopyMachineInformation(machineB); var actual = dict.GetDuplicateStatus(romA, romB); @@ -651,14 +651,14 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romA.SetFieldValue(DatItem.SourceKey, new Source(0)); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romA.Write(DatItem.SourceKey, new Source(0)); romA.CopyMachineInformation(machineA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romB.SetFieldValue(DatItem.SourceKey, new Source(0)); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(DatItem.SourceKey, new Source(0)); romB.CopyMachineInformation(machineB); var actual = dict.GetDuplicateStatus(romA, romB); @@ -678,14 +678,14 @@ namespace SabreTools.Metadata.DatFiles.Test var romA = new Rom(); romA.SetName("same-name"); - romA.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romA.SetFieldValue(DatItem.SourceKey, new Source(0)); + romA.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romA.Write(DatItem.SourceKey, new Source(0)); romA.CopyMachineInformation(machineA); var romB = new Rom(); romB.SetName("same-name"); - romB.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - romB.SetFieldValue(DatItem.SourceKey, new Source(0)); + romB.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + romB.Write(DatItem.SourceKey, new Source(0)); romB.CopyMachineInformation(machineB); var actual = dict.GetDuplicateStatus(romA, romB); @@ -707,14 +707,14 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom2.CopyMachineInformation(machine); // Setup the dictionary @@ -725,8 +725,8 @@ namespace SabreTools.Metadata.DatFiles.Test // Setup the test item DatItem rom = new Rom(); rom.SetName("rom-1"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, hasDuplicate ? "1024" : "2048"); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom.Write(Data.Models.Metadata.Rom.SizeKey, hasDuplicate ? "1024" : "2048"); rom.CopyMachineInformation(machine); var actual = dict.GetDuplicates(rom); @@ -748,14 +748,14 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem rom1 = new Rom(); rom1.SetName("rom-1"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom1.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom1.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom1.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); DatItem rom2 = new Rom(); rom2.SetName("rom-2"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); - rom2.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "1024"); + rom2.Write(Data.Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); + rom2.Write(Data.Models.Metadata.Rom.SizeKey, "1024"); rom1.CopyMachineInformation(machine); // Setup the dictionary @@ -766,8 +766,8 @@ namespace SabreTools.Metadata.DatFiles.Test // Setup the test item DatItem rom = new Rom(); rom.SetName("rom-1"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, expected ? "1024" : "2048"); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + rom.Write(Data.Models.Metadata.Rom.SizeKey, expected ? "1024" : "2048"); rom1.CopyMachineInformation(machine); bool actual = dict.HasDuplicates(rom); @@ -788,10 +788,10 @@ namespace SabreTools.Metadata.DatFiles.Test DatItem item = new Rom(); item.SetName("rom"); - item.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, 12345); - item.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); - item.SetFieldValue(DatItem.SourceKey, source); - item.SetFieldValue(DatItem.MachineKey, machine); + item.Write(Data.Models.Metadata.Rom.SizeKey, 12345); + item.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); + item.Write(DatItem.SourceKey, source); + item.Write(DatItem.MachineKey, machine); var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: false); @@ -802,7 +802,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal(1, dict.DatStatistics.GetHashCount(HashType.CRC32)); Assert.Equal(0, dict.DatStatistics.GetHashCount(HashType.MD5)); - item.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "deadbeef"); + item.Write(Data.Models.Metadata.Rom.MD5Key, "deadbeef"); dict.RecalculateStats(); diff --git a/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs b/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs index ac991cc0..981f9954 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs @@ -125,7 +125,7 @@ namespace SabreTools.Metadata.DatFiles // Get the values to check against string? machineName = machine.GetName(); - string? machineDesc = machine.GetStringFieldValue(Data.Models.Metadata.Machine.DescriptionKey); + string? machineDesc = machine.ReadString(Data.Models.Metadata.Machine.DescriptionKey); if (machineName is null || machineDesc is null) continue; @@ -166,7 +166,7 @@ namespace SabreTools.Metadata.DatFiles // Get the values to check against string? machineName = machine.Value.GetName(); - string? machineDesc = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.DescriptionKey); + string? machineDesc = machine.Value.ReadString(Data.Models.Metadata.Machine.DescriptionKey); if (machineName is null || machineDesc is null) continue; @@ -242,7 +242,7 @@ namespace SabreTools.Metadata.DatFiles foreach (var item in items) { if (!item.PassesFilter(filterRunner)) - item.SetFieldValue(DatItem.RemoveKey, true); + item.Write(DatItem.RemoveKey, true); } } @@ -263,7 +263,7 @@ namespace SabreTools.Metadata.DatFiles foreach (var item in items) { if (!item.Value.PassesFilterDB(filterRunner)) - item.Value.SetFieldValue(DatItem.RemoveKey, true); + item.Value.Write(DatItem.RemoveKey, true); } } @@ -332,8 +332,8 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the string values - string? cloneOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey)?.ToLowerInvariant(); - string? romOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey)?.ToLowerInvariant(); + string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey)?.ToLowerInvariant(); + string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey)?.ToLowerInvariant(); // Match on CloneOf first if (!string.IsNullOrEmpty(cloneOf)) @@ -411,8 +411,8 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the string values - string? cloneOf = machineObj.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey)?.ToLowerInvariant(); - string? romOf = machineObj.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey)?.ToLowerInvariant(); + string? cloneOf = machineObj.ReadString(Data.Models.Metadata.Machine.CloneOfKey)?.ToLowerInvariant(); + string? romOf = machineObj.ReadString(Data.Models.Metadata.Machine.RomOfKey)?.ToLowerInvariant(); // Match on CloneOf first if (!string.IsNullOrEmpty(cloneOf)) @@ -522,7 +522,7 @@ namespace SabreTools.Metadata.DatFiles machine = (Machine)machine.Clone(); // Reassign the item to the new machine - datItem.SetFieldValue(DatItem.MachineKey, machine); + datItem.Write(DatItem.MachineKey, machine); // Remove extensions from File and Rom items if (datItem is DatItems.Formats.File || datItem is Rom) @@ -652,13 +652,13 @@ namespace SabreTools.Metadata.DatFiles // Get the values to check against string? machineName = machine.GetName(); - string? machineDesc = machine.GetStringFieldValue(Data.Models.Metadata.Machine.DescriptionKey); + string? machineDesc = machine.ReadString(Data.Models.Metadata.Machine.DescriptionKey); if (machineName is not null && Regex.IsMatch(machineName, SceneNamePattern)) item.GetMachine()!.SetName(Regex.Replace(machineName, SceneNamePattern, "$2")); if (machineDesc is not null && Regex.IsMatch(machineDesc, SceneNamePattern)) - item.GetMachine()!.SetFieldValue(Data.Models.Metadata.Machine.DescriptionKey, Regex.Replace(machineDesc, SceneNamePattern, "$2")); + item.GetMachine()!.Write(Data.Models.Metadata.Machine.DescriptionKey, Regex.Replace(machineDesc, SceneNamePattern, "$2")); } #if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER }); @@ -690,13 +690,13 @@ namespace SabreTools.Metadata.DatFiles // Get the values to check against string? machineName = machine.Value.GetName(); - string? machineDesc = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.DescriptionKey); + string? machineDesc = machine.Value.ReadString(Data.Models.Metadata.Machine.DescriptionKey); if (machineName is not null && Regex.IsMatch(machineName, SceneNamePattern)) machine.Value.SetName(Regex.Replace(machineName, SceneNamePattern, "$2")); if (machineDesc is not null && Regex.IsMatch(machineDesc, SceneNamePattern)) - machine.Value.SetFieldValue(Data.Models.Metadata.Machine.DescriptionKey, Regex.Replace(machineDesc, SceneNamePattern, "$2")); + machine.Value.Write(Data.Models.Metadata.Machine.DescriptionKey, Regex.Replace(machineDesc, SceneNamePattern, "$2")); #if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER }); #else @@ -733,9 +733,9 @@ namespace SabreTools.Metadata.DatFiles // Get the values to check against string? machineName = machine.GetName(); - string? cloneOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey); - string? romOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); - string? sampleOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.SampleOfKey); + string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey); + string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey); + string? sampleOf = machine.ReadString(Data.Models.Metadata.Machine.SampleOfKey); // Update machine name if (machineName is not null && mapping.ContainsKey(machineName)) @@ -743,15 +743,15 @@ namespace SabreTools.Metadata.DatFiles // Update cloneof if (cloneOf is not null && mapping.ContainsKey(cloneOf)) - machine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, mapping[cloneOf]); + machine.Write(Data.Models.Metadata.Machine.CloneOfKey, mapping[cloneOf]); // Update romof if (romOf is not null && mapping.ContainsKey(romOf)) - machine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, mapping[romOf]); + machine.Write(Data.Models.Metadata.Machine.RomOfKey, mapping[romOf]); // Update sampleof if (sampleOf is not null && mapping.ContainsKey(sampleOf)) - machine.SetFieldValue(Data.Models.Metadata.Machine.SampleOfKey, mapping[sampleOf]); + machine.Write(Data.Models.Metadata.Machine.SampleOfKey, mapping[sampleOf]); } #if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER }); @@ -774,9 +774,9 @@ namespace SabreTools.Metadata.DatFiles // Get the values to check against string? machineName = machine.Value.GetName(); - string? cloneOf = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey); - string? romOf = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); - string? sampleOf = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.SampleOfKey); + string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey); + string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey); + string? sampleOf = machine.Value.ReadString(Data.Models.Metadata.Machine.SampleOfKey); // Update machine name if (machineName is not null && mapping.ContainsKey(machineName)) @@ -784,15 +784,15 @@ namespace SabreTools.Metadata.DatFiles // Update cloneof if (cloneOf is not null && mapping.ContainsKey(cloneOf)) - machine.Value.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, mapping[cloneOf]); + machine.Value.Write(Data.Models.Metadata.Machine.CloneOfKey, mapping[cloneOf]); // Update romof if (romOf is not null && mapping.ContainsKey(romOf)) - machine.Value.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, mapping[romOf]); + machine.Value.Write(Data.Models.Metadata.Machine.RomOfKey, mapping[romOf]); // Update sampleof if (sampleOf is not null && mapping.ContainsKey(sampleOf)) - machine.Value.SetFieldValue(Data.Models.Metadata.Machine.SampleOfKey, mapping[sampleOf]); + machine.Value.Write(Data.Models.Metadata.Machine.SampleOfKey, mapping[sampleOf]); } } diff --git a/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs b/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs index 8e498fe7..acbd11c2 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.FromMetadata.cs @@ -70,118 +70,118 @@ namespace SabreTools.Metadata.DatFiles { var canOpen = item.Read(Data.Models.Metadata.Header.CanOpenKey); if (canOpen?.Extension is not null) - Header.SetFieldValue(Data.Models.Metadata.Header.CanOpenKey, canOpen.Extension); + Header.Write(Data.Models.Metadata.Header.CanOpenKey, canOpen.Extension); } if (item.ContainsKey(Data.Models.Metadata.Header.ImagesKey)) { var images = item.Read(Data.Models.Metadata.Header.ImagesKey); - Header.SetFieldValue(Data.Models.Metadata.Header.ImagesKey, images); + Header.Write(Data.Models.Metadata.Header.ImagesKey, images); } if (item.ContainsKey(Data.Models.Metadata.Header.InfosKey)) { var infos = item.Read(Data.Models.Metadata.Header.InfosKey); - Header.SetFieldValue(Data.Models.Metadata.Header.InfosKey, infos); + Header.Write(Data.Models.Metadata.Header.InfosKey, infos); } if (item.ContainsKey(Data.Models.Metadata.Header.NewDatKey)) { var newDat = item.Read(Data.Models.Metadata.Header.NewDatKey); - Header.SetFieldValue(Data.Models.Metadata.Header.NewDatKey, newDat); + Header.Write(Data.Models.Metadata.Header.NewDatKey, newDat); } if (item.ContainsKey(Data.Models.Metadata.Header.SearchKey)) { var search = item.Read(Data.Models.Metadata.Header.SearchKey); - Header.SetFieldValue(Data.Models.Metadata.Header.SearchKey, search); + Header.Write(Data.Models.Metadata.Header.SearchKey, search); } // Selectively set all possible fields -- TODO: Figure out how to make this less manual - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.AuthorKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.AuthorKey, header.GetStringFieldValue(Data.Models.Metadata.Header.AuthorKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.BiosModeKey).AsMergingFlag() == MergingFlag.None) - Header.SetFieldValue(Data.Models.Metadata.Header.BiosModeKey, header.GetStringFieldValue(Data.Models.Metadata.Header.BiosModeKey).AsMergingFlag().AsStringValue()); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.BuildKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.BuildKey, header.GetStringFieldValue(Data.Models.Metadata.Header.BuildKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.CategoryKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.CategoryKey, header.GetStringFieldValue(Data.Models.Metadata.Header.CategoryKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.CommentKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.CommentKey, header.GetStringFieldValue(Data.Models.Metadata.Header.CommentKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.DateKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.DateKey, header.GetStringFieldValue(Data.Models.Metadata.Header.DateKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.DatVersionKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.DatVersionKey, header.GetStringFieldValue(Data.Models.Metadata.Header.DatVersionKey)); - if (Header.GetBoolFieldValue(Data.Models.Metadata.Header.DebugKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.DebugKey, header.GetBoolFieldValue(Data.Models.Metadata.Header.DebugKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.EmailKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.EmailKey, header.GetStringFieldValue(Data.Models.Metadata.Header.EmailKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.EmulatorVersionKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.EmulatorVersionKey, header.GetStringFieldValue(Data.Models.Metadata.Header.EmulatorVersionKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.ForceMergingKey).AsMergingFlag() == MergingFlag.None) - Header.SetFieldValue(Data.Models.Metadata.Header.ForceMergingKey, header.GetStringFieldValue(Data.Models.Metadata.Header.ForceMergingKey).AsMergingFlag().AsStringValue()); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.ForceNodumpKey).AsNodumpFlag() == NodumpFlag.None) - Header.SetFieldValue(Data.Models.Metadata.Header.ForceNodumpKey, header.GetStringFieldValue(Data.Models.Metadata.Header.ForceNodumpKey).AsNodumpFlag().AsStringValue()); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.ForcePackingKey).AsPackingFlag() == PackingFlag.None) - Header.SetFieldValue(Data.Models.Metadata.Header.ForcePackingKey, header.GetStringFieldValue(Data.Models.Metadata.Header.ForcePackingKey).AsPackingFlag().AsStringValue()); - if (Header.GetBoolFieldValue(Data.Models.Metadata.Header.ForceZippingKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.ForceZippingKey, header.GetBoolFieldValue(Data.Models.Metadata.Header.ForceZippingKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.HeaderKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.HeaderKey, header.GetStringFieldValue(Data.Models.Metadata.Header.HeaderKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.HomepageKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.HomepageKey, header.GetStringFieldValue(Data.Models.Metadata.Header.HomepageKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.IdKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.IdKey, header.GetStringFieldValue(Data.Models.Metadata.Header.IdKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.ImFolderKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.ImFolderKey, header.GetStringFieldValue(Data.Models.Metadata.Header.ImFolderKey)); - if (Header.GetBoolFieldValue(Data.Models.Metadata.Header.LockBiosModeKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.LockBiosModeKey, header.GetBoolFieldValue(Data.Models.Metadata.Header.LockBiosModeKey)); - if (Header.GetBoolFieldValue(Data.Models.Metadata.Header.LockRomModeKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.LockRomModeKey, header.GetBoolFieldValue(Data.Models.Metadata.Header.LockRomModeKey)); - if (Header.GetBoolFieldValue(Data.Models.Metadata.Header.LockSampleModeKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.LockSampleModeKey, header.GetBoolFieldValue(Data.Models.Metadata.Header.LockSampleModeKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.MameConfigKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.MameConfigKey, header.GetStringFieldValue(Data.Models.Metadata.Header.MameConfigKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.NotesKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.NotesKey, header.GetStringFieldValue(Data.Models.Metadata.Header.NotesKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.PluginKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.PluginKey, header.GetStringFieldValue(Data.Models.Metadata.Header.PluginKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.RefNameKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.RefNameKey, header.GetStringFieldValue(Data.Models.Metadata.Header.RefNameKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.RomModeKey).AsMergingFlag() == MergingFlag.None) - Header.SetFieldValue(Data.Models.Metadata.Header.RomModeKey, header.GetStringFieldValue(Data.Models.Metadata.Header.RomModeKey).AsMergingFlag().AsStringValue()); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.RomTitleKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.RomTitleKey, header.GetStringFieldValue(Data.Models.Metadata.Header.RomTitleKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.RootDirKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.RootDirKey, header.GetStringFieldValue(Data.Models.Metadata.Header.RootDirKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.SampleModeKey).AsMergingFlag() == MergingFlag.None) - Header.SetFieldValue(Data.Models.Metadata.Header.SampleModeKey, header.GetStringFieldValue(Data.Models.Metadata.Header.SampleModeKey).AsMergingFlag().AsStringValue()); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.SchemaLocationKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.SchemaLocationKey, header.GetStringFieldValue(Data.Models.Metadata.Header.SchemaLocationKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.ScreenshotsHeightKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.ScreenshotsHeightKey, header.GetStringFieldValue(Data.Models.Metadata.Header.ScreenshotsHeightKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.ScreenshotsWidthKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.ScreenshotsWidthKey, header.GetStringFieldValue(Data.Models.Metadata.Header.ScreenshotsWidthKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.SystemKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.SystemKey, header.GetStringFieldValue(Data.Models.Metadata.Header.SystemKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.TimestampKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.TimestampKey, header.GetStringFieldValue(Data.Models.Metadata.Header.TimestampKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.TypeKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.TypeKey, header.GetStringFieldValue(Data.Models.Metadata.Header.TypeKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.UrlKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.UrlKey, header.GetStringFieldValue(Data.Models.Metadata.Header.UrlKey)); - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.VersionKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.VersionKey, header.GetStringFieldValue(Data.Models.Metadata.Header.VersionKey)); + if (Header.ReadString(Data.Models.Metadata.Header.AuthorKey) is null) + Header.Write(Data.Models.Metadata.Header.AuthorKey, header.ReadString(Data.Models.Metadata.Header.AuthorKey)); + if (Header.ReadString(Data.Models.Metadata.Header.BiosModeKey).AsMergingFlag() == MergingFlag.None) + Header.Write(Data.Models.Metadata.Header.BiosModeKey, header.ReadString(Data.Models.Metadata.Header.BiosModeKey).AsMergingFlag().AsStringValue()); + if (Header.ReadString(Data.Models.Metadata.Header.BuildKey) is null) + Header.Write(Data.Models.Metadata.Header.BuildKey, header.ReadString(Data.Models.Metadata.Header.BuildKey)); + if (Header.ReadString(Data.Models.Metadata.Header.CategoryKey) is null) + Header.Write(Data.Models.Metadata.Header.CategoryKey, header.ReadString(Data.Models.Metadata.Header.CategoryKey)); + if (Header.ReadString(Data.Models.Metadata.Header.CommentKey) is null) + Header.Write(Data.Models.Metadata.Header.CommentKey, header.ReadString(Data.Models.Metadata.Header.CommentKey)); + if (Header.ReadString(Data.Models.Metadata.Header.DateKey) is null) + Header.Write(Data.Models.Metadata.Header.DateKey, header.ReadString(Data.Models.Metadata.Header.DateKey)); + if (Header.ReadString(Data.Models.Metadata.Header.DatVersionKey) is null) + Header.Write(Data.Models.Metadata.Header.DatVersionKey, header.ReadString(Data.Models.Metadata.Header.DatVersionKey)); + if (Header.ReadBool(Data.Models.Metadata.Header.DebugKey) is null) + Header.Write(Data.Models.Metadata.Header.DebugKey, header.ReadBool(Data.Models.Metadata.Header.DebugKey)); + if (Header.ReadString(Data.Models.Metadata.Header.DescriptionKey) is null) + Header.Write(Data.Models.Metadata.Header.DescriptionKey, header.ReadString(Data.Models.Metadata.Header.DescriptionKey)); + if (Header.ReadString(Data.Models.Metadata.Header.EmailKey) is null) + Header.Write(Data.Models.Metadata.Header.EmailKey, header.ReadString(Data.Models.Metadata.Header.EmailKey)); + if (Header.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey) is null) + Header.Write(Data.Models.Metadata.Header.EmulatorVersionKey, header.ReadString(Data.Models.Metadata.Header.EmulatorVersionKey)); + if (Header.ReadString(Data.Models.Metadata.Header.ForceMergingKey).AsMergingFlag() == MergingFlag.None) + Header.Write(Data.Models.Metadata.Header.ForceMergingKey, header.ReadString(Data.Models.Metadata.Header.ForceMergingKey).AsMergingFlag().AsStringValue()); + if (Header.ReadString(Data.Models.Metadata.Header.ForceNodumpKey).AsNodumpFlag() == NodumpFlag.None) + Header.Write(Data.Models.Metadata.Header.ForceNodumpKey, header.ReadString(Data.Models.Metadata.Header.ForceNodumpKey).AsNodumpFlag().AsStringValue()); + if (Header.ReadString(Data.Models.Metadata.Header.ForcePackingKey).AsPackingFlag() == PackingFlag.None) + Header.Write(Data.Models.Metadata.Header.ForcePackingKey, header.ReadString(Data.Models.Metadata.Header.ForcePackingKey).AsPackingFlag().AsStringValue()); + if (Header.ReadBool(Data.Models.Metadata.Header.ForceZippingKey) is null) + Header.Write(Data.Models.Metadata.Header.ForceZippingKey, header.ReadBool(Data.Models.Metadata.Header.ForceZippingKey)); + if (Header.ReadString(Data.Models.Metadata.Header.HeaderKey) is null) + Header.Write(Data.Models.Metadata.Header.HeaderKey, header.ReadString(Data.Models.Metadata.Header.HeaderKey)); + if (Header.ReadString(Data.Models.Metadata.Header.HomepageKey) is null) + Header.Write(Data.Models.Metadata.Header.HomepageKey, header.ReadString(Data.Models.Metadata.Header.HomepageKey)); + if (Header.ReadString(Data.Models.Metadata.Header.IdKey) is null) + Header.Write(Data.Models.Metadata.Header.IdKey, header.ReadString(Data.Models.Metadata.Header.IdKey)); + if (Header.ReadString(Data.Models.Metadata.Header.ImFolderKey) is null) + Header.Write(Data.Models.Metadata.Header.ImFolderKey, header.ReadString(Data.Models.Metadata.Header.ImFolderKey)); + if (Header.ReadBool(Data.Models.Metadata.Header.LockBiosModeKey) is null) + Header.Write(Data.Models.Metadata.Header.LockBiosModeKey, header.ReadBool(Data.Models.Metadata.Header.LockBiosModeKey)); + if (Header.ReadBool(Data.Models.Metadata.Header.LockRomModeKey) is null) + Header.Write(Data.Models.Metadata.Header.LockRomModeKey, header.ReadBool(Data.Models.Metadata.Header.LockRomModeKey)); + if (Header.ReadBool(Data.Models.Metadata.Header.LockSampleModeKey) is null) + Header.Write(Data.Models.Metadata.Header.LockSampleModeKey, header.ReadBool(Data.Models.Metadata.Header.LockSampleModeKey)); + if (Header.ReadString(Data.Models.Metadata.Header.MameConfigKey) is null) + Header.Write(Data.Models.Metadata.Header.MameConfigKey, header.ReadString(Data.Models.Metadata.Header.MameConfigKey)); + if (Header.ReadString(Data.Models.Metadata.Header.NameKey) is null) + Header.Write(Data.Models.Metadata.Header.NameKey, header.ReadString(Data.Models.Metadata.Header.NameKey)); + if (Header.ReadString(Data.Models.Metadata.Header.NotesKey) is null) + Header.Write(Data.Models.Metadata.Header.NotesKey, header.ReadString(Data.Models.Metadata.Header.NotesKey)); + if (Header.ReadString(Data.Models.Metadata.Header.PluginKey) is null) + Header.Write(Data.Models.Metadata.Header.PluginKey, header.ReadString(Data.Models.Metadata.Header.PluginKey)); + if (Header.ReadString(Data.Models.Metadata.Header.RefNameKey) is null) + Header.Write(Data.Models.Metadata.Header.RefNameKey, header.ReadString(Data.Models.Metadata.Header.RefNameKey)); + if (Header.ReadString(Data.Models.Metadata.Header.RomModeKey).AsMergingFlag() == MergingFlag.None) + Header.Write(Data.Models.Metadata.Header.RomModeKey, header.ReadString(Data.Models.Metadata.Header.RomModeKey).AsMergingFlag().AsStringValue()); + if (Header.ReadString(Data.Models.Metadata.Header.RomTitleKey) is null) + Header.Write(Data.Models.Metadata.Header.RomTitleKey, header.ReadString(Data.Models.Metadata.Header.RomTitleKey)); + if (Header.ReadString(Data.Models.Metadata.Header.RootDirKey) is null) + Header.Write(Data.Models.Metadata.Header.RootDirKey, header.ReadString(Data.Models.Metadata.Header.RootDirKey)); + if (Header.ReadString(Data.Models.Metadata.Header.SampleModeKey).AsMergingFlag() == MergingFlag.None) + Header.Write(Data.Models.Metadata.Header.SampleModeKey, header.ReadString(Data.Models.Metadata.Header.SampleModeKey).AsMergingFlag().AsStringValue()); + if (Header.ReadString(Data.Models.Metadata.Header.SchemaLocationKey) is null) + Header.Write(Data.Models.Metadata.Header.SchemaLocationKey, header.ReadString(Data.Models.Metadata.Header.SchemaLocationKey)); + if (Header.ReadString(Data.Models.Metadata.Header.ScreenshotsHeightKey) is null) + Header.Write(Data.Models.Metadata.Header.ScreenshotsHeightKey, header.ReadString(Data.Models.Metadata.Header.ScreenshotsHeightKey)); + if (Header.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey) is null) + Header.Write(Data.Models.Metadata.Header.ScreenshotsWidthKey, header.ReadString(Data.Models.Metadata.Header.ScreenshotsWidthKey)); + if (Header.ReadString(Data.Models.Metadata.Header.SystemKey) is null) + Header.Write(Data.Models.Metadata.Header.SystemKey, header.ReadString(Data.Models.Metadata.Header.SystemKey)); + if (Header.ReadString(Data.Models.Metadata.Header.TimestampKey) is null) + Header.Write(Data.Models.Metadata.Header.TimestampKey, header.ReadString(Data.Models.Metadata.Header.TimestampKey)); + if (Header.ReadString(Data.Models.Metadata.Header.TypeKey) is null) + Header.Write(Data.Models.Metadata.Header.TypeKey, header.ReadString(Data.Models.Metadata.Header.TypeKey)); + if (Header.ReadString(Data.Models.Metadata.Header.UrlKey) is null) + Header.Write(Data.Models.Metadata.Header.UrlKey, header.ReadString(Data.Models.Metadata.Header.UrlKey)); + if (Header.ReadString(Data.Models.Metadata.Header.VersionKey) is null) + Header.Write(Data.Models.Metadata.Header.VersionKey, header.ReadString(Data.Models.Metadata.Header.VersionKey)); // Handle implied SuperDAT - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey)?.Contains(" - SuperDAT") == true && keep) + if (Header.ReadString(Data.Models.Metadata.Header.NameKey)?.Contains(" - SuperDAT") == true && keep) { - if (Header.GetStringFieldValue(Data.Models.Metadata.Header.TypeKey) is null) - Header.SetFieldValue(Data.Models.Metadata.Header.TypeKey, "SuperDAT"); + if (Header.ReadString(Data.Models.Metadata.Header.TypeKey) is null) + Header.Write(Data.Models.Metadata.Header.TypeKey, "SuperDAT"); } } @@ -488,7 +488,7 @@ namespace SabreTools.Metadata.DatFiles Array.ForEach(filtered, item => { var datItem = new Rom(item, machine, source); - datItem.SetFieldValue(DatItem.SourceKey, source); + datItem.Write(DatItem.SourceKey, source); datItem.CopyMachineInformation(machine); AddItem(datItem, statsOnly); @@ -617,7 +617,7 @@ namespace SabreTools.Metadata.DatFiles // Convert the item var romItem = new Rom(rom, machine, source); - long? size = romItem.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey); + long? size = romItem.ReadLong(Data.Models.Metadata.Rom.SizeKey); // If the rom is a continue or ignore string? loadFlag = rom.ReadString(Data.Models.Metadata.Rom.LoadFlagKey); @@ -626,13 +626,13 @@ namespace SabreTools.Metadata.DatFiles || loadFlag.Equals("ignore", StringComparison.OrdinalIgnoreCase))) { var lastRom = addRoms[addRoms.Count - 1]; - long? lastSize = lastRom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey); - lastRom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, lastSize + size); + long? lastSize = lastRom.ReadLong(Data.Models.Metadata.Rom.SizeKey); + lastRom.Write(Data.Models.Metadata.Rom.SizeKey, lastSize + size); continue; } - romItem.SetFieldValue(Rom.DataAreaKey, dataAreaItem); - romItem.SetFieldValue(Rom.PartKey, partItem); + romItem.Write(Rom.DataAreaKey, dataAreaItem); + romItem.Write(Rom.PartKey, partItem); addRoms.Add(romItem); } @@ -663,8 +663,8 @@ namespace SabreTools.Metadata.DatFiles continue; var diskItem = new Disk(disk, machine, source); - diskItem.SetFieldValue(Disk.DiskAreaKey, diskAreaitem); - diskItem.SetFieldValue(Disk.PartKey, partItem); + diskItem.Write(Disk.DiskAreaKey, diskAreaitem); + diskItem.Write(Disk.PartKey, partItem); AddItem(diskItem, statsOnly); // AddItemDB(diskItem, machineIndex, sourceIndex, statsOnly); @@ -682,7 +682,7 @@ namespace SabreTools.Metadata.DatFiles continue; var dipSwitchItem = new DipSwitch(dipSwitch, machine, source); - dipSwitchItem.SetFieldValue(DipSwitch.PartKey, partItem); + dipSwitchItem.Write(DipSwitch.PartKey, partItem); AddItem(dipSwitchItem, statsOnly); // AddItemDB(dipSwitchItem, machineIndex, sourceIndex, statsOnly); @@ -699,8 +699,8 @@ namespace SabreTools.Metadata.DatFiles continue; var partFeatureItem = new PartFeature(partFeature); - partFeatureItem.SetFieldValue(DipSwitch.PartKey, partItem); - partFeatureItem.SetFieldValue(DatItem.SourceKey, source); + partFeatureItem.Write(DipSwitch.PartKey, partItem); + partFeatureItem.Write(DatItem.SourceKey, source); partFeatureItem.CopyMachineInformation(machine); AddItem(partFeatureItem, statsOnly); diff --git a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs index 4ba5c786..91910fda 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs @@ -273,7 +273,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the cloneof parent items - string? cloneOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey); + string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey); List parentItems = GetItemsForBucket(cloneOf); if (cloneOf is null) continue; @@ -284,7 +284,7 @@ namespace SabreTools.Metadata.DatFiles { copyFrom = new Rom(); copyFrom.GetMachine()!.SetName(cloneOf); - copyFrom.GetMachine()!.SetFieldValue(Data.Models.Metadata.Machine.DescriptionKey, cloneOf); + copyFrom.GetMachine()!.Write(Data.Models.Metadata.Machine.DescriptionKey, cloneOf); } else { @@ -297,7 +297,7 @@ namespace SabreTools.Metadata.DatFiles // Special disk handling if (item is Disk disk) { - string? mergeTag = disk.GetStringFieldValue(Data.Models.Metadata.Disk.MergeKey); + string? mergeTag = disk.ReadString(Data.Models.Metadata.Disk.MergeKey); // If the merge tag exists and the parent already contains it, skip if (mergeTag is not null && GetItemsForBucket(cloneOf) @@ -332,7 +332,7 @@ namespace SabreTools.Metadata.DatFiles // Special rom handling else if (item is Rom rom) { - string? mergeTag = rom.GetStringFieldValue(Data.Models.Metadata.Rom.MergeKey); + string? mergeTag = rom.ReadString(Data.Models.Metadata.Rom.MergeKey); // If the merge tag exists and the parent already contains it, skip if (mergeTag is not null && GetItemsForBucket(cloneOf) @@ -408,7 +408,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the clone parent - string? cloneOf = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey); + string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey); if (string.IsNullOrEmpty(cloneOf)) continue; @@ -434,7 +434,7 @@ namespace SabreTools.Metadata.DatFiles // Special disk handling if (item.Value is Disk disk) { - string? mergeTag = disk.GetStringFieldValue(Data.Models.Metadata.Disk.MergeKey); + string? mergeTag = disk.ReadString(Data.Models.Metadata.Disk.MergeKey); // If the merge tag exists and the parent already contains it, skip if (mergeTag is not null && GetItemsForBucketDB(cloneOf).Values @@ -469,7 +469,7 @@ namespace SabreTools.Metadata.DatFiles // Special rom handling else if (item.Value is Rom rom) { - string? mergeTag = rom.GetStringFieldValue(Data.Models.Metadata.Rom.MergeKey); + string? mergeTag = rom.ReadString(Data.Models.Metadata.Rom.MergeKey); // If the merge tag exists and the parent already contains it, skip if (mergeTag is not null && GetItemsForBucketDB(cloneOf).Values @@ -543,7 +543,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the cloneof parent items - string? cloneOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey); + string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey); List parentItems = GetItemsForBucket(cloneOf); if (parentItems.Count == 0) continue; @@ -563,10 +563,10 @@ namespace SabreTools.Metadata.DatFiles // Now we want to get the parent romof tag and put it in each of the items items = GetItemsForBucket(bucket); - string? romof = GetItemsForBucket(cloneOf)[0].GetMachine()!.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); + string? romof = GetItemsForBucket(cloneOf)[0].GetMachine()!.ReadString(Data.Models.Metadata.Machine.RomOfKey); foreach (DatItem item in items) { - item.GetMachine()!.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, romof); + item.GetMachine()!.Write(Data.Models.Metadata.Machine.RomOfKey, romof); } } } @@ -597,7 +597,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the clone parent - string? cloneOf = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey); + string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey); if (string.IsNullOrEmpty(cloneOf)) continue; @@ -624,7 +624,7 @@ namespace SabreTools.Metadata.DatFiles // Now we want to get the parent romof tag and put it in each of the items items = GetItemsForBucketDB(bucket); - string? romof = parentMachine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); + string? romof = parentMachine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey); foreach (var key in items.Keys) { var itemMachine = GetMachineForItemDB(key); @@ -632,7 +632,7 @@ namespace SabreTools.Metadata.DatFiles continue; // TODO: Remove merge tags here - itemMachine.Value.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, romof); + itemMachine.Value.Write(Data.Models.Metadata.Machine.RomOfKey, romof); } } } @@ -660,7 +660,7 @@ namespace SabreTools.Metadata.DatFiles continue; // If the machine (is/is not) a device, we want to continue - if (deviceOnly ^ (datItems[0].GetMachine()!.GetBoolFieldValue(Data.Models.Metadata.Machine.IsDeviceKey) == true)) + if (deviceOnly ^ (datItems[0].GetMachine()!.ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) == true)) continue; // Get the first item from the bucket @@ -679,8 +679,8 @@ namespace SabreTools.Metadata.DatFiles .FindAll(i => i is Slot) .ConvertAll(i => i as Slot) .FindAll(s => s!.SlotOptionsSpecified) - .SelectMany(s => s!.GetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey)!) - .Select(so => so.GetStringFieldValue(Data.Models.Metadata.SlotOption.DevNameKey))); + .SelectMany(s => s!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!) + .Select(so => so.ReadString(Data.Models.Metadata.SlotOption.DevNameKey))); // If we're checking device references if (deviceReferences.Count > 0) @@ -702,7 +702,7 @@ namespace SabreTools.Metadata.DatFiles foreach (DatItem item in devItems) { // If the parent machine doesn't already contain this item, add it - if (!datItems.Exists(i => i.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) == item.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) && i.GetName() == item.GetName())) + if (!datItems.Exists(i => i.ReadString(Data.Models.Metadata.DatItem.TypeKey) == item.ReadString(Data.Models.Metadata.DatItem.TypeKey) && i.GetName() == item.GetName())) { // Set that we found new items foundnew = true; @@ -745,14 +745,14 @@ namespace SabreTools.Metadata.DatFiles newSlotOptions.UnionWith(slotItems .FindAll(i => i is Slot) .FindAll(s => (s as Slot)!.SlotOptionsSpecified) - .SelectMany(s => (s as Slot)!.GetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey)!) - .Select(o => o.GetStringFieldValue(Data.Models.Metadata.SlotOption.DevNameKey)!)); + .SelectMany(s => (s as Slot)!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!) + .Select(o => o.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)!)); // Set new machine information and add to the current machine foreach (DatItem item in slotItems) { // If the parent machine doesn't already contain this item, add it - if (!datItems.Exists(i => i.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) == item.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) && i.GetName() == item.GetName())) + if (!datItems.Exists(i => i.ReadString(Data.Models.Metadata.DatItem.TypeKey) == item.ReadString(Data.Models.Metadata.DatItem.TypeKey) && i.GetName() == item.GetName())) { // Set that we found new items foundnew = true; @@ -773,11 +773,11 @@ namespace SabreTools.Metadata.DatFiles { slotOptions.Add(slotOption); var slotOptionItem = new SlotOption(); - slotOptionItem.SetFieldValue(Data.Models.Metadata.SlotOption.DevNameKey, slotOption); + slotOptionItem.Write(Data.Models.Metadata.SlotOption.DevNameKey, slotOption); slotOptionItem.CopyMachineInformation(copyFrom); var slotItem = new Slot(); - slotItem.SetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey, [slotOptionItem]); + slotItem.Write(Data.Models.Metadata.Slot.SlotOptionKey, [slotOptionItem]); slotItem.CopyMachineInformation(copyFrom); Items.AddItem(slotItem, statsOnly: false); @@ -820,7 +820,7 @@ namespace SabreTools.Metadata.DatFiles continue; // If the machine (is/is not) a device, we want to continue - if (deviceOnly ^ (machine.Value.GetBoolFieldValue(Data.Models.Metadata.Machine.IsDeviceKey) == true)) + if (deviceOnly ^ (machine.Value.ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) == true)) continue; // Get all device reference names from the current machine @@ -836,8 +836,8 @@ namespace SabreTools.Metadata.DatFiles .Where(i => i is Slot) .Select(i => i as Slot) .Where(s => s!.SlotOptionsSpecified) - .SelectMany(s => s!.GetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey)!) - .Select(so => so.GetStringFieldValue(Data.Models.Metadata.SlotOption.DevNameKey)) + .SelectMany(s => s!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!) + .Select(so => so.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)) .Distinct() .ToList(); @@ -870,7 +870,7 @@ namespace SabreTools.Metadata.DatFiles foreach (var item in devItems.Values) { // If the parent machine doesn't already contain this item, add it - if (!items.Values.Any(i => i.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) == item.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) + if (!items.Values.Any(i => i.ReadString(Data.Models.Metadata.DatItem.TypeKey) == item.ReadString(Data.Models.Metadata.DatItem.TypeKey) && i.GetName() == item.GetName())) { // Set that we found new items @@ -915,8 +915,8 @@ namespace SabreTools.Metadata.DatFiles newSlotOptions.UnionWith(slotItems.Values .Where(i => i is Slot) .Where(s => (s as Slot)!.SlotOptionsSpecified) - .SelectMany(s => (s as Slot)!.GetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey)!) - .Select(o => o.GetStringFieldValue(Data.Models.Metadata.SlotOption.DevNameKey)!)); + .SelectMany(s => (s as Slot)!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!) + .Select(o => o.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)!)); // Set new machine information and add to the current machine var copyFrom = GetMachineForItemDB(GetItemsForBucketDB(bucket).First().Key); @@ -926,7 +926,7 @@ namespace SabreTools.Metadata.DatFiles foreach (var item in slotItems.Values) { // If the parent machine doesn't already contain this item, add it - if (!items.Values.Any(i => i.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) == item.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) + if (!items.Values.Any(i => i.ReadString(Data.Models.Metadata.DatItem.TypeKey) == item.ReadString(Data.Models.Metadata.DatItem.TypeKey) && i.GetName() == item.GetName())) { // Set that we found new items @@ -945,10 +945,10 @@ namespace SabreTools.Metadata.DatFiles if (!slotOptions.Contains(slotOption)) { var slotOptionItem = new SlotOption(); - slotOptionItem.SetFieldValue(Data.Models.Metadata.SlotOption.DevNameKey, slotOption); + slotOptionItem.Write(Data.Models.Metadata.SlotOption.DevNameKey, slotOption); var slotItem = new Slot(); - slotItem.SetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey, [slotOptionItem]); + slotItem.Write(Data.Models.Metadata.Slot.SlotOptionKey, [slotOptionItem]); ItemsDB.AddItem(slotItem, machine.Key, source.Key); } @@ -982,7 +982,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the romof parent items - string? romOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); + string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey); List parentItems = GetItemsForBucket(romOf); if (parentItems.Count == 0) continue; @@ -1025,7 +1025,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the romof parent items - string? romOf = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); + string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey); Dictionary parentItems = GetItemsForBucketDB(romOf); if (parentItems.Count == 0) continue; @@ -1079,8 +1079,8 @@ namespace SabreTools.Metadata.DatFiles #endif // Remove flagged items - if ((machine.GetBoolFieldValue(Data.Models.Metadata.Machine.IsBiosKey) == true) - || (machine.GetBoolFieldValue(Data.Models.Metadata.Machine.IsDeviceKey) == true)) + if ((machine.ReadBool(Data.Models.Metadata.Machine.IsBiosKey) == true) + || (machine.ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) == true)) { RemoveBucket(bucket); } @@ -1127,8 +1127,8 @@ namespace SabreTools.Metadata.DatFiles #endif // Remove flagged items - if ((machine.Value.GetBoolFieldValue(Data.Models.Metadata.Machine.IsBiosKey) == true) - || (machine.Value.GetBoolFieldValue(Data.Models.Metadata.Machine.IsDeviceKey) == true)) + if ((machine.Value.ReadBool(Data.Models.Metadata.Machine.IsBiosKey) == true) + || (machine.Value.ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) == true)) { foreach (var key in items.Keys) { @@ -1168,7 +1168,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the cloneof parent items - string? cloneOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey); + string? cloneOf = machine.ReadString(Data.Models.Metadata.Machine.CloneOfKey); List parentItems = GetItemsForBucket(cloneOf); if (parentItems.Count == 0) continue; @@ -1191,10 +1191,10 @@ namespace SabreTools.Metadata.DatFiles // Now we want to get the parent romof tag and put it in each of the remaining items items = GetItemsForBucket(bucket); - string? romof = GetItemsForBucket(cloneOf)[0].GetMachine()!.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); + string? romof = GetItemsForBucket(cloneOf)[0].GetMachine()!.ReadString(Data.Models.Metadata.Machine.RomOfKey); foreach (DatItem item in items) { - item.GetMachine()!.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, romof); + item.GetMachine()!.Write(Data.Models.Metadata.Machine.RomOfKey, romof); } } } @@ -1222,7 +1222,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the cloneof parent items - string? cloneOf = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey); + string? cloneOf = machine.Value.ReadString(Data.Models.Metadata.Machine.CloneOfKey); Dictionary parentItems = GetItemsForBucketDB(cloneOf); if (parentItems is null || parentItems.Count == 0) continue; @@ -1243,14 +1243,14 @@ namespace SabreTools.Metadata.DatFiles if (machine.Value is null) continue; - string? romof = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); + string? romof = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey); foreach (var item in items) { machine = GetMachineForItemDB(item.Key); if (machine.Value is null) continue; - machine.Value.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, romof); + machine.Value.Write(Data.Models.Metadata.Machine.RomOfKey, romof); } } } @@ -1278,7 +1278,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the romof parent items - string? romOf = machine.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); + string? romOf = machine.ReadString(Data.Models.Metadata.Machine.RomOfKey); List parentItems = GetItemsForBucket(romOf); if (parentItems.Count == 0) continue; @@ -1325,7 +1325,7 @@ namespace SabreTools.Metadata.DatFiles continue; // Get the romof parent items - string? romOf = machine.Value.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey); + string? romOf = machine.Value.ReadString(Data.Models.Metadata.Machine.RomOfKey); Dictionary parentItems = GetItemsForBucketDB(romOf); if (parentItems.Count == 0) continue; @@ -1368,16 +1368,16 @@ namespace SabreTools.Metadata.DatFiles foreach (DatItem item in items) { // Remove the merge tag - item.RemoveField(Data.Models.Metadata.Rom.MergeKey); + item.Remove(Data.Models.Metadata.Rom.MergeKey); // Get the machine var machine = item.GetMachine(); if (machine is null) continue; - machine.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, null); - machine.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, null); - machine.SetFieldValue(Data.Models.Metadata.Machine.SampleOfKey, null); + machine.Write(Data.Models.Metadata.Machine.CloneOfKey, null); + machine.Write(Data.Models.Metadata.Machine.RomOfKey, null); + machine.Write(Data.Models.Metadata.Machine.SampleOfKey, null); } #if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER }); @@ -1409,9 +1409,9 @@ namespace SabreTools.Metadata.DatFiles continue; #endif - machine.Value.SetFieldValue(Data.Models.Metadata.Machine.CloneOfKey, null); - machine.Value.SetFieldValue(Data.Models.Metadata.Machine.RomOfKey, null); - machine.Value.SetFieldValue(Data.Models.Metadata.Machine.SampleOfKey, null); + machine.Value.Write(Data.Models.Metadata.Machine.CloneOfKey, null); + machine.Value.Write(Data.Models.Metadata.Machine.RomOfKey, null); + machine.Value.Write(Data.Models.Metadata.Machine.SampleOfKey, null); #if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER }); #else diff --git a/SabreTools.Metadata.DatFiles/DatFile.cs b/SabreTools.Metadata.DatFiles/DatFile.cs index 66847431..757c2fcd 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.cs @@ -95,9 +95,9 @@ namespace SabreTools.Metadata.DatFiles public void FillHeaderFromPath(string path, bool bare) { // Get the header strings - string? name = Header.GetStringFieldValue(Data.Models.Metadata.Header.NameKey); - string? description = Header.GetStringFieldValue(Data.Models.Metadata.Header.DescriptionKey); - string? date = Header.GetStringFieldValue(Data.Models.Metadata.Header.DateKey); + string? name = Header.ReadString(Data.Models.Metadata.Header.NameKey); + string? description = Header.ReadString(Data.Models.Metadata.Header.DescriptionKey); + string? date = Header.ReadString(Data.Models.Metadata.Header.DateKey); // If the description is defined but not the name, set the name from the description if (string.IsNullOrEmpty(name) && !string.IsNullOrEmpty(description)) @@ -129,8 +129,8 @@ namespace SabreTools.Metadata.DatFiles description = description?.Trim(); // Set the fields back - Header.SetFieldValue(Data.Models.Metadata.Header.NameKey, name); - Header.SetFieldValue(Data.Models.Metadata.Header.DescriptionKey, description); + Header.Write(Data.Models.Metadata.Header.NameKey, name); + Header.Write(Data.Models.Metadata.Header.DescriptionKey, description); } #endregion @@ -503,7 +503,7 @@ namespace SabreTools.Metadata.DatFiles if (item is Disk disk) { // We can only write out if there's a SHA-1 - string? sha1 = disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key); + string? sha1 = disk.ReadString(Data.Models.Metadata.Disk.SHA1Key); if (!string.IsNullOrEmpty(sha1)) { name = Utilities.GetDepotPath(sha1, Modifiers.OutputDepot.Depth)?.Replace('\\', '/'); @@ -523,7 +523,7 @@ namespace SabreTools.Metadata.DatFiles else if (item is Media media) { // We can only write out if there's a SHA-1 - string? sha1 = media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key); + string? sha1 = media.ReadString(Data.Models.Metadata.Media.SHA1Key); if (!string.IsNullOrEmpty(sha1)) { name = Utilities.GetDepotPath(sha1, Modifiers.OutputDepot.Depth)?.Replace('\\', '/'); @@ -533,7 +533,7 @@ namespace SabreTools.Metadata.DatFiles else if (item is Rom rom) { // We can only write out if there's a SHA-1 - string? sha1 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key); + string? sha1 = rom.ReadString(Data.Models.Metadata.Rom.SHA1Key); if (!string.IsNullOrEmpty(sha1)) { name = Utilities.GetDepotPath(sha1, Modifiers.OutputDepot.Depth)?.Replace('\\', '/'); @@ -581,12 +581,12 @@ namespace SabreTools.Metadata.DatFiles protected internal static string FormatPrefixPostfix(DatItem item, Machine? machine, string fix) { // Initialize strings - string? type = item.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); + string? type = item.ReadString(Data.Models.Metadata.DatItem.TypeKey); string game = machine?.GetName() ?? string.Empty, - manufacturer = machine?.GetStringFieldValue(Data.Models.Metadata.Machine.ManufacturerKey) ?? string.Empty, - publisher = machine?.GetStringFieldValue(Data.Models.Metadata.Machine.PublisherKey) ?? string.Empty, - category = machine?.GetStringFieldValue(Data.Models.Metadata.Machine.CategoryKey) ?? string.Empty, + manufacturer = machine?.ReadString(Data.Models.Metadata.Machine.ManufacturerKey) ?? string.Empty, + publisher = machine?.ReadString(Data.Models.Metadata.Machine.PublisherKey) ?? string.Empty, + category = machine?.ReadString(Data.Models.Metadata.Machine.CategoryKey) ?? string.Empty, name = item.GetName() ?? type.AsItemType().AsStringValue() ?? string.Empty, crc16 = string.Empty, crc = string.Empty, @@ -606,8 +606,8 @@ namespace SabreTools.Metadata.DatFiles // Ensure we have the proper values for replacement if (item is Disk disk) { - md5 = disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key) ?? string.Empty; - sha1 = disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key) ?? string.Empty; + md5 = disk.ReadString(Data.Models.Metadata.Disk.MD5Key) ?? string.Empty; + sha1 = disk.ReadString(Data.Models.Metadata.Disk.SHA1Key) ?? string.Empty; } else if (item is DatItems.Formats.File file) { @@ -620,27 +620,27 @@ namespace SabreTools.Metadata.DatFiles } else if (item is Media media) { - md5 = media.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key) ?? string.Empty; - sha1 = media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key) ?? string.Empty; - sha256 = media.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key) ?? string.Empty; - spamsum = media.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey) ?? string.Empty; + md5 = media.ReadString(Data.Models.Metadata.Media.MD5Key) ?? string.Empty; + sha1 = media.ReadString(Data.Models.Metadata.Media.SHA1Key) ?? string.Empty; + sha256 = media.ReadString(Data.Models.Metadata.Media.SHA256Key) ?? string.Empty; + spamsum = media.ReadString(Data.Models.Metadata.Media.SpamSumKey) ?? string.Empty; } else if (item is Rom rom) { - crc16 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key) ?? string.Empty; - crc = rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey) ?? string.Empty; - crc64 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key) ?? string.Empty; - md2 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key) ?? string.Empty; - md4 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key) ?? string.Empty; - md5 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key) ?? string.Empty; - ripemd128 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key) ?? string.Empty; - ripemd160 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key) ?? string.Empty; - sha1 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key) ?? string.Empty; - sha256 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key) ?? string.Empty; - sha384 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key) ?? string.Empty; - sha512 = rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key) ?? string.Empty; - size = rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey).ToString() ?? string.Empty; - spamsum = rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey) ?? string.Empty; + crc16 = rom.ReadString(Data.Models.Metadata.Rom.CRC16Key) ?? string.Empty; + crc = rom.ReadString(Data.Models.Metadata.Rom.CRCKey) ?? string.Empty; + crc64 = rom.ReadString(Data.Models.Metadata.Rom.CRC64Key) ?? string.Empty; + md2 = rom.ReadString(Data.Models.Metadata.Rom.MD2Key) ?? string.Empty; + md4 = rom.ReadString(Data.Models.Metadata.Rom.MD4Key) ?? string.Empty; + md5 = rom.ReadString(Data.Models.Metadata.Rom.MD5Key) ?? string.Empty; + ripemd128 = rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key) ?? string.Empty; + ripemd160 = rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key) ?? string.Empty; + sha1 = rom.ReadString(Data.Models.Metadata.Rom.SHA1Key) ?? string.Empty; + sha256 = rom.ReadString(Data.Models.Metadata.Rom.SHA256Key) ?? string.Empty; + sha384 = rom.ReadString(Data.Models.Metadata.Rom.SHA384Key) ?? string.Empty; + sha512 = rom.ReadString(Data.Models.Metadata.Rom.SHA512Key) ?? string.Empty; + size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey).ToString() ?? string.Empty; + spamsum = rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey) ?? string.Empty; } // Now do bulk replacement where possible @@ -681,42 +681,42 @@ namespace SabreTools.Metadata.DatFiles return item; // If the item has a size - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is not null) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is not null) return rom; // If the item CRC isn't "null" - if (rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey) != "null") + if (rom.ReadString(Data.Models.Metadata.Rom.CRCKey) != "null") return rom; // If the Rom has "null" characteristics, ensure all fields rom.SetName(rom.GetName() == "null" ? "-" : rom.GetName()); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "0"); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key) == "null" ? HashType.CRC16.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey) == "null" ? HashType.CRC32.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key) == "null" ? HashType.CRC64.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key) == "null" ? HashType.MD2.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key) == "null" ? HashType.MD4.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key) == "null" ? HashType.MD5.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key) == "null" ? HashType.RIPEMD128.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key) == "null" ? HashType.RIPEMD160.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key) == "null" ? HashType.SHA1.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key) == "null" ? HashType.SHA256.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key) == "null" ? HashType.SHA384.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key) == "null" ? HashType.SHA512.ZeroString : null); - rom.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, - rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey) == "null" ? HashType.SpamSum.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.SizeKey, "0"); + rom.Write(Data.Models.Metadata.Rom.CRC16Key, + rom.ReadString(Data.Models.Metadata.Rom.CRC16Key) == "null" ? HashType.CRC16.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.CRCKey, + rom.ReadString(Data.Models.Metadata.Rom.CRCKey) == "null" ? HashType.CRC32.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.CRC64Key, + rom.ReadString(Data.Models.Metadata.Rom.CRC64Key) == "null" ? HashType.CRC64.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.MD2Key, + rom.ReadString(Data.Models.Metadata.Rom.MD2Key) == "null" ? HashType.MD2.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.MD4Key, + rom.ReadString(Data.Models.Metadata.Rom.MD4Key) == "null" ? HashType.MD4.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.MD5Key, + rom.ReadString(Data.Models.Metadata.Rom.MD5Key) == "null" ? HashType.MD5.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.RIPEMD128Key, + rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key) == "null" ? HashType.RIPEMD128.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.RIPEMD160Key, + rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key) == "null" ? HashType.RIPEMD160.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, + rom.ReadString(Data.Models.Metadata.Rom.SHA1Key) == "null" ? HashType.SHA1.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.SHA256Key, + rom.ReadString(Data.Models.Metadata.Rom.SHA256Key) == "null" ? HashType.SHA256.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.SHA384Key, + rom.ReadString(Data.Models.Metadata.Rom.SHA384Key) == "null" ? HashType.SHA384.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.SHA512Key, + rom.ReadString(Data.Models.Metadata.Rom.SHA512Key) == "null" ? HashType.SHA512.ZeroString : null); + rom.Write(Data.Models.Metadata.Rom.SpamSumKey, + rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey) == "null" ? HashType.SpamSum.ZeroString : null); return rom; } @@ -741,7 +741,7 @@ namespace SabreTools.Metadata.DatFiles foreach (DatItem datItem in datItems) { - ItemType itemType = datItem.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + ItemType itemType = datItem.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); if (Array.Exists(SupportedTypes, t => t == itemType)) return true; } @@ -800,12 +800,12 @@ namespace SabreTools.Metadata.DatFiles // Get the last item name, if applicable string lastItemName = lastItem.GetName() - ?? lastItem.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() + ?? lastItem.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() ?? string.Empty; // Get the current item name, if applicable string datItemName = datItem.GetName() - ?? datItem.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() + ?? datItem.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() ?? string.Empty; // If the current item exactly matches the last item, then we don't add it @@ -897,12 +897,12 @@ namespace SabreTools.Metadata.DatFiles // Get the last item name, if applicable string lastItemName = lastItem.Value.Value.GetName() - ?? lastItem.Value.Value.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() + ?? lastItem.Value.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() ?? string.Empty; // Get the current item name, if applicable string datItemName = datItem.Value.GetName() - ?? datItem.Value.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() + ?? datItem.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue() ?? string.Empty; // Get sources for both items @@ -980,7 +980,7 @@ namespace SabreTools.Metadata.DatFiles } // If the item is supposed to be removed, we ignore - if (datItem.GetBoolFieldValue(DatItem.RemoveKey) == true) + if (datItem.ReadBool(DatItem.RemoveKey) == true) { string itemString = JsonConvert.SerializeObject(datItem, Formatting.None); _logger.Verbose($"Item '{itemString}' was skipped because it was marked for removal"); @@ -999,7 +999,7 @@ namespace SabreTools.Metadata.DatFiles if (ignoreBlanks && datItem is Rom rom) { // If we have a 0-size or blank rom, then we ignore - long? size = rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey); + long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey); if (size == 0 || size is null) { string itemString = JsonConvert.SerializeObject(datItem, Formatting.None); @@ -1009,7 +1009,7 @@ namespace SabreTools.Metadata.DatFiles } // If we have an item type not in the list of supported values - ItemType itemType = datItem.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + ItemType itemType = datItem.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); if (!Array.Exists(SupportedTypes, t => t == itemType)) { string itemString = JsonConvert.SerializeObject(datItem, Formatting.None); @@ -1038,11 +1038,11 @@ namespace SabreTools.Metadata.DatFiles /// private static string GetDuplicateSuffix(Disk datItem) { - string? md5 = datItem.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key); + string? md5 = datItem.ReadString(Data.Models.Metadata.Disk.MD5Key); if (!string.IsNullOrEmpty(md5)) return $"_{md5}"; - string? sha1 = datItem.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key); + string? sha1 = datItem.ReadString(Data.Models.Metadata.Disk.SHA1Key); if (!string.IsNullOrEmpty(sha1)) return $"_{sha1}"; @@ -1072,19 +1072,19 @@ namespace SabreTools.Metadata.DatFiles /// private static string GetDuplicateSuffix(Media datItem) { - string? md5 = datItem.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key); + string? md5 = datItem.ReadString(Data.Models.Metadata.Media.MD5Key); if (!string.IsNullOrEmpty(md5)) return $"_{md5}"; - string? sha1 = datItem.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key); + string? sha1 = datItem.ReadString(Data.Models.Metadata.Media.SHA1Key); if (!string.IsNullOrEmpty(sha1)) return $"_{sha1}"; - string? sha256 = datItem.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key); + string? sha256 = datItem.ReadString(Data.Models.Metadata.Media.SHA256Key); if (!string.IsNullOrEmpty(sha256)) return $"_{sha256}"; - string? spamSum = datItem.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey); + string? spamSum = datItem.ReadString(Data.Models.Metadata.Media.SpamSumKey); if (!string.IsNullOrEmpty(spamSum)) return $"_{spamSum}"; @@ -1096,55 +1096,55 @@ namespace SabreTools.Metadata.DatFiles /// private static string GetDuplicateSuffix(Rom datItem) { - string? crc16 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key); + string? crc16 = datItem.ReadString(Data.Models.Metadata.Rom.CRC16Key); if (!string.IsNullOrEmpty(crc16)) return $"_{crc16}"; - string? crc = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey); + string? crc = datItem.ReadString(Data.Models.Metadata.Rom.CRCKey); if (!string.IsNullOrEmpty(crc)) return $"_{crc}"; - string? crc64 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key); + string? crc64 = datItem.ReadString(Data.Models.Metadata.Rom.CRC64Key); if (!string.IsNullOrEmpty(crc64)) return $"_{crc64}"; - string? md2 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key); + string? md2 = datItem.ReadString(Data.Models.Metadata.Rom.MD2Key); if (!string.IsNullOrEmpty(md2)) return $"_{md2}"; - string? md4 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key); + string? md4 = datItem.ReadString(Data.Models.Metadata.Rom.MD4Key); if (!string.IsNullOrEmpty(md4)) return $"_{md4}"; - string? md5 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key); + string? md5 = datItem.ReadString(Data.Models.Metadata.Rom.MD5Key); if (!string.IsNullOrEmpty(md5)) return $"_{md5}"; - string? ripemd128 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key); + string? ripemd128 = datItem.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key); if (!string.IsNullOrEmpty(ripemd128)) return $"_{ripemd128}"; - string? ripemd160 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key); + string? ripemd160 = datItem.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key); if (!string.IsNullOrEmpty(ripemd160)) return $"_{ripemd160}"; - string? sha1 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key); + string? sha1 = datItem.ReadString(Data.Models.Metadata.Rom.SHA1Key); if (!string.IsNullOrEmpty(sha1)) return $"_{sha1}"; - string? sha256 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key); + string? sha256 = datItem.ReadString(Data.Models.Metadata.Rom.SHA256Key); if (!string.IsNullOrEmpty(sha256)) return $"_{sha256}"; - string? sha384 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key); + string? sha384 = datItem.ReadString(Data.Models.Metadata.Rom.SHA384Key); if (!string.IsNullOrEmpty(sha384)) return $"_{sha384}"; - string? sha512 = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key); + string? sha512 = datItem.ReadString(Data.Models.Metadata.Rom.SHA512Key); if (!string.IsNullOrEmpty(sha512)) return $"_{sha512}"; - string? spamSum = datItem.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey); + string? spamSum = datItem.ReadString(Data.Models.Metadata.Rom.SpamSumKey); if (!string.IsNullOrEmpty(spamSum)) return $"_{spamSum}"; @@ -1169,8 +1169,8 @@ namespace SabreTools.Metadata.DatFiles // Compare on source if renaming if (!norename) { - int xSourceIndex = x.GetFieldValue(DatItem.SourceKey)?.Index ?? 0; - int ySourceIndex = y.GetFieldValue(DatItem.SourceKey)?.Index ?? 0; + int xSourceIndex = x.Read(DatItem.SourceKey)?.Index ?? 0; + int ySourceIndex = y.Read(DatItem.SourceKey)?.Index ?? 0; if (xSourceIndex != ySourceIndex) return xSourceIndex - ySourceIndex; } @@ -1182,8 +1182,8 @@ namespace SabreTools.Metadata.DatFiles return nc.Compare(xMachineName, yMachineName); // If types don't match - string? xType = x.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); - string? yType = y.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); + string? xType = x.ReadString(Data.Models.Metadata.DatItem.TypeKey); + string? yType = y.ReadString(Data.Models.Metadata.DatItem.TypeKey); if (xType != yType) return xType.AsItemType() - yType.AsItemType(); @@ -1239,8 +1239,8 @@ namespace SabreTools.Metadata.DatFiles return nc.Compare(xMachineName, yMachineName); // If types don't match - string? xType = x.Value.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); - string? yType = y.Value.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); + string? xType = x.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey); + string? yType = y.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey); if (xType != yType) return xType.AsItemType() - yType.AsItemType(); diff --git a/SabreTools.Metadata.DatFiles/DatHeader.cs b/SabreTools.Metadata.DatFiles/DatHeader.cs index 330918d5..739d8e10 100644 --- a/SabreTools.Metadata.DatFiles/DatHeader.cs +++ b/SabreTools.Metadata.DatFiles/DatHeader.cs @@ -32,7 +32,7 @@ namespace SabreTools.Metadata.DatFiles { get { - var canOpen = GetStringArrayFieldValue(Data.Models.Metadata.Header.CanOpenKey); + var canOpen = ReadStringArray(Data.Models.Metadata.Header.CanOpenKey); return canOpen is not null && canOpen.Length > 0; } } @@ -42,7 +42,7 @@ namespace SabreTools.Metadata.DatFiles { get { - return GetFieldValue(Data.Models.Metadata.Header.ImagesKey) is not null; + return Read(Data.Models.Metadata.Header.ImagesKey) is not null; } } @@ -51,7 +51,7 @@ namespace SabreTools.Metadata.DatFiles { get { - return GetFieldValue(Data.Models.Metadata.Header.InfosKey) is not null; + return Read(Data.Models.Metadata.Header.InfosKey) is not null; } } @@ -60,7 +60,7 @@ namespace SabreTools.Metadata.DatFiles { get { - return GetFieldValue(Data.Models.Metadata.Header.NewDatKey) is not null; + return Read(Data.Models.Metadata.Header.NewDatKey) is not null; } } @@ -69,7 +69,7 @@ namespace SabreTools.Metadata.DatFiles { get { - return GetFieldValue(Data.Models.Metadata.Header.SearchKey) is not null; + return Read(Data.Models.Metadata.Header.SearchKey) is not null; } } @@ -137,7 +137,7 @@ namespace SabreTools.Metadata.DatFiles { var header = new DatHeader(); - header.SetFieldValue(DatFormatKey, GetFieldValue(DatFormatKey)); + header.Write(DatFormatKey, Read(DatFormatKey)); return header; } @@ -165,15 +165,15 @@ namespace SabreTools.Metadata.DatFiles // Convert subheader values if (CanOpenSpecified) - header[Data.Models.Metadata.Header.CanOpenKey] = new Data.Models.OfflineList.CanOpen { Extension = GetStringArrayFieldValue(Data.Models.Metadata.Header.CanOpenKey) }; + header[Data.Models.Metadata.Header.CanOpenKey] = new Data.Models.OfflineList.CanOpen { Extension = ReadStringArray(Data.Models.Metadata.Header.CanOpenKey) }; if (ImagesSpecified) - header[Data.Models.Metadata.Header.ImagesKey] = GetFieldValue(Data.Models.Metadata.Header.ImagesKey); + header[Data.Models.Metadata.Header.ImagesKey] = Read(Data.Models.Metadata.Header.ImagesKey); if (InfosSpecified) - header[Data.Models.Metadata.Header.InfosKey] = GetFieldValue(Data.Models.Metadata.Header.InfosKey); + header[Data.Models.Metadata.Header.InfosKey] = Read(Data.Models.Metadata.Header.InfosKey); if (NewDatSpecified) - header[Data.Models.Metadata.Header.NewDatKey] = GetFieldValue(Data.Models.Metadata.Header.NewDatKey); + header[Data.Models.Metadata.Header.NewDatKey] = Read(Data.Models.Metadata.Header.NewDatKey); if (SearchSpecified) - header[Data.Models.Metadata.Header.SearchKey] = GetFieldValue(Data.Models.Metadata.Header.SearchKey); + header[Data.Models.Metadata.Header.SearchKey] = Read(Data.Models.Metadata.Header.SearchKey); return header; } diff --git a/SabreTools.Metadata.DatFiles/DatStatistics.cs b/SabreTools.Metadata.DatFiles/DatStatistics.cs index ddf409f8..f2784131 100644 --- a/SabreTools.Metadata.DatFiles/DatStatistics.cs +++ b/SabreTools.Metadata.DatFiles/DatStatistics.cs @@ -112,11 +112,11 @@ namespace SabreTools.Metadata.DatFiles TotalCount++; // Increment removal count - if (item.GetBoolFieldValue(DatItem.RemoveKey) == true) + if (item.ReadBool(DatItem.RemoveKey) == true) RemovedCount++; // Increment the item count for the type - AddItemCount(item.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType()); + AddItemCount(item.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType()); // Some item types require special processing switch (item) @@ -274,11 +274,11 @@ namespace SabreTools.Metadata.DatFiles TotalCount--; // Decrement removal count - if (item.GetBoolFieldValue(DatItem.RemoveKey) == true) + if (item.ReadBool(DatItem.RemoveKey) == true) RemovedCount--; // Decrement the item count for the type - RemoveItemCount(item.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType()); + RemoveItemCount(item.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType()); // Some item types require special processing switch (item) @@ -402,16 +402,16 @@ namespace SabreTools.Metadata.DatFiles /// Item to add info from private void AddItemStatistics(Disk disk) { - if (disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() != ItemStatus.Nodump) + if (disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() != ItemStatus.Nodump) { - AddHashCount(HashType.MD5, string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1); - AddHashCount(HashType.SHA1, string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key)) ? 0 : 1); + AddHashCount(HashType.MD5, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1); + AddHashCount(HashType.SHA1, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key)) ? 0 : 1); } - AddStatusCount(ItemStatus.BadDump, disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.BadDump ? 1 : 0); - AddStatusCount(ItemStatus.Good, disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Good ? 1 : 0); - AddStatusCount(ItemStatus.Nodump, disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Nodump ? 1 : 0); - AddStatusCount(ItemStatus.Verified, disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Verified ? 1 : 0); + AddStatusCount(ItemStatus.BadDump, disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.BadDump ? 1 : 0); + AddStatusCount(ItemStatus.Good, disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Good ? 1 : 0); + AddStatusCount(ItemStatus.Nodump, disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Nodump ? 1 : 0); + AddStatusCount(ItemStatus.Verified, disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Verified ? 1 : 0); } /// @@ -451,10 +451,10 @@ namespace SabreTools.Metadata.DatFiles /// Item to add info from private void AddItemStatistics(Media media) { - AddHashCount(HashType.MD5, string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)) ? 0 : 1); - AddHashCount(HashType.SHA1, string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)) ? 0 : 1); - AddHashCount(HashType.SHA256, string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)) ? 0 : 1); - AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1); + AddHashCount(HashType.MD5, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) ? 0 : 1); + AddHashCount(HashType.SHA1, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) ? 0 : 1); + AddHashCount(HashType.SHA256, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) ? 0 : 1); + AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1); } /// @@ -475,28 +475,28 @@ namespace SabreTools.Metadata.DatFiles /// Item to add info from private void AddItemStatistics(Rom rom) { - if (rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump) + if (rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump) { - TotalSize += rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) ?? 0; - AddHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1); - AddHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1); - AddHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1); - AddHashCount(HashType.MD2, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)) ? 0 : 1); - AddHashCount(HashType.MD4, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)) ? 0 : 1); - AddHashCount(HashType.MD5, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)) ? 0 : 1); - AddHashCount(HashType.RIPEMD128, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)) ? 0 : 1); - AddHashCount(HashType.RIPEMD160, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)) ? 0 : 1); - AddHashCount(HashType.SHA1, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)) ? 0 : 1); - AddHashCount(HashType.SHA256, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)) ? 0 : 1); - AddHashCount(HashType.SHA384, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)) ? 0 : 1); - AddHashCount(HashType.SHA512, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)) ? 0 : 1); - AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)) ? 0 : 1); + TotalSize += rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0; + AddHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1); + AddHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1); + AddHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1); + AddHashCount(HashType.MD2, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)) ? 0 : 1); + AddHashCount(HashType.MD4, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)) ? 0 : 1); + AddHashCount(HashType.MD5, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)) ? 0 : 1); + AddHashCount(HashType.RIPEMD128, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)) ? 0 : 1); + AddHashCount(HashType.RIPEMD160, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)) ? 0 : 1); + AddHashCount(HashType.SHA1, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)) ? 0 : 1); + AddHashCount(HashType.SHA256, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)) ? 0 : 1); + AddHashCount(HashType.SHA384, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)) ? 0 : 1); + AddHashCount(HashType.SHA512, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)) ? 0 : 1); + AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)) ? 0 : 1); } - AddStatusCount(ItemStatus.BadDump, rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.BadDump ? 1 : 0); - AddStatusCount(ItemStatus.Good, rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Good ? 1 : 0); - AddStatusCount(ItemStatus.Nodump, rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Nodump ? 1 : 0); - AddStatusCount(ItemStatus.Verified, rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Verified ? 1 : 0); + AddStatusCount(ItemStatus.BadDump, rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.BadDump ? 1 : 0); + AddStatusCount(ItemStatus.Good, rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Good ? 1 : 0); + AddStatusCount(ItemStatus.Nodump, rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Nodump ? 1 : 0); + AddStatusCount(ItemStatus.Verified, rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Verified ? 1 : 0); } /// @@ -589,16 +589,16 @@ namespace SabreTools.Metadata.DatFiles /// Item to remove info for private void RemoveItemStatistics(Disk disk) { - if (disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() != ItemStatus.Nodump) + if (disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() != ItemStatus.Nodump) { - RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key)) ? 0 : 1); + RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) ? 0 : 1); + RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key)) ? 0 : 1); } - RemoveStatusCount(ItemStatus.BadDump, disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.BadDump ? 1 : 0); - RemoveStatusCount(ItemStatus.Good, disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Good ? 1 : 0); - RemoveStatusCount(ItemStatus.Nodump, disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Nodump ? 1 : 0); - RemoveStatusCount(ItemStatus.Verified, disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Verified ? 1 : 0); + RemoveStatusCount(ItemStatus.BadDump, disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.BadDump ? 1 : 0); + RemoveStatusCount(ItemStatus.Good, disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Good ? 1 : 0); + RemoveStatusCount(ItemStatus.Nodump, disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Nodump ? 1 : 0); + RemoveStatusCount(ItemStatus.Verified, disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Verified ? 1 : 0); } /// @@ -638,10 +638,10 @@ namespace SabreTools.Metadata.DatFiles /// Item to remove info for private void RemoveItemStatistics(Media media) { - RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)) ? 0 : 1); - RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1); + RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) ? 0 : 1); + RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) ? 0 : 1); + RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) ? 0 : 1); + RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1); } /// @@ -662,28 +662,28 @@ namespace SabreTools.Metadata.DatFiles /// Item to remove info for private void RemoveItemStatistics(Rom rom) { - if (rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump) + if (rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump) { - TotalSize -= rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) ?? 0; - RemoveHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1); - RemoveHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1); - RemoveHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1); - RemoveHashCount(HashType.MD2, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)) ? 0 : 1); - RemoveHashCount(HashType.MD4, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)) ? 0 : 1); - RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)) ? 0 : 1); - RemoveHashCount(HashType.RIPEMD128, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)) ? 0 : 1); - RemoveHashCount(HashType.RIPEMD160, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA384, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA512, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)) ? 0 : 1); - RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)) ? 0 : 1); + TotalSize -= rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) ?? 0; + RemoveHashCount(HashType.CRC16, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) ? 0 : 1); + RemoveHashCount(HashType.CRC32, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) ? 0 : 1); + RemoveHashCount(HashType.CRC64, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) ? 0 : 1); + RemoveHashCount(HashType.MD2, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)) ? 0 : 1); + RemoveHashCount(HashType.MD4, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)) ? 0 : 1); + RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)) ? 0 : 1); + RemoveHashCount(HashType.RIPEMD128, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)) ? 0 : 1); + RemoveHashCount(HashType.RIPEMD160, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)) ? 0 : 1); + RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)) ? 0 : 1); + RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)) ? 0 : 1); + RemoveHashCount(HashType.SHA384, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)) ? 0 : 1); + RemoveHashCount(HashType.SHA512, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)) ? 0 : 1); + RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey)) ? 0 : 1); } - RemoveStatusCount(ItemStatus.BadDump, rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.BadDump ? 1 : 0); - RemoveStatusCount(ItemStatus.Good, rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Good ? 1 : 0); - RemoveStatusCount(ItemStatus.Nodump, rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Nodump ? 1 : 0); - RemoveStatusCount(ItemStatus.Verified, rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Verified ? 1 : 0); + RemoveStatusCount(ItemStatus.BadDump, rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.BadDump ? 1 : 0); + RemoveStatusCount(ItemStatus.Good, rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Good ? 1 : 0); + RemoveStatusCount(ItemStatus.Nodump, rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Nodump ? 1 : 0); + RemoveStatusCount(ItemStatus.Verified, rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Verified ? 1 : 0); } /// diff --git a/SabreTools.Metadata.DatFiles/Formats/ArchiveDotOrg.cs b/SabreTools.Metadata.DatFiles/Formats/ArchiveDotOrg.cs index be8bf1c5..5f20cdcb 100644 --- a/SabreTools.Metadata.DatFiles/Formats/ArchiveDotOrg.cs +++ b/SabreTools.Metadata.DatFiles/Formats/ArchiveDotOrg.cs @@ -19,7 +19,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public ArchiveDotOrg(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.ArchiveDotOrg); + Header.Write(DatHeader.DatFormatKey, DatFormat.ArchiveDotOrg); } } } diff --git a/SabreTools.Metadata.DatFiles/Formats/AttractMode.cs b/SabreTools.Metadata.DatFiles/Formats/AttractMode.cs index 23330077..90d74b76 100644 --- a/SabreTools.Metadata.DatFiles/Formats/AttractMode.cs +++ b/SabreTools.Metadata.DatFiles/Formats/AttractMode.cs @@ -20,7 +20,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public AttractMode(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.AttractMode); + Header.Write(DatHeader.DatFormatKey, DatFormat.AttractMode); } /// diff --git a/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs b/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs index 3314c5a4..710f3800 100644 --- a/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs +++ b/SabreTools.Metadata.DatFiles/Formats/ClrMamePro.cs @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public ClrMamePro(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.ClrMamePro); + Header.Write(DatHeader.DatFormatKey, DatFormat.ClrMamePro); } /// @@ -76,35 +76,35 @@ namespace SabreTools.Metadata.DatFiles.Formats case Release release: if (string.IsNullOrEmpty(release.GetName())) missingFields.Add(Data.Models.Metadata.Release.NameKey); - if (string.IsNullOrEmpty(release.GetStringFieldValue(Data.Models.Metadata.Release.RegionKey))) + if (string.IsNullOrEmpty(release.ReadString(Data.Models.Metadata.Release.RegionKey))) missingFields.Add(Data.Models.Metadata.Release.RegionKey); break; case BiosSet biosset: if (string.IsNullOrEmpty(biosset.GetName())) missingFields.Add(Data.Models.Metadata.BiosSet.NameKey); - if (string.IsNullOrEmpty(biosset.GetStringFieldValue(Data.Models.Metadata.BiosSet.DescriptionKey))) + if (string.IsNullOrEmpty(biosset.ReadString(Data.Models.Metadata.BiosSet.DescriptionKey))) missingFields.Add(Data.Models.Metadata.BiosSet.DescriptionKey); break; case Rom rom: if (string.IsNullOrEmpty(rom.GetName())) missingFields.Add(Data.Models.Metadata.Rom.NameKey); - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) missingFields.Add(Data.Models.Metadata.Rom.SizeKey); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey))) { missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); } @@ -114,8 +114,8 @@ namespace SabreTools.Metadata.DatFiles.Formats case Disk disk: if (string.IsNullOrEmpty(disk.GetName())) missingFields.Add(Data.Models.Metadata.Disk.NameKey); - if (string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))) + if (string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key))) { missingFields.Add(Data.Models.Metadata.Disk.SHA1Key); } @@ -133,26 +133,26 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Chip chip: - if (chip.GetStringFieldValue(Data.Models.Metadata.Chip.ChipTypeKey).AsChipType() == ChipType.NULL) + if (chip.ReadString(Data.Models.Metadata.Chip.ChipTypeKey).AsChipType() == ChipType.NULL) missingFields.Add(Data.Models.Metadata.Chip.ChipTypeKey); if (string.IsNullOrEmpty(chip.GetName())) missingFields.Add(Data.Models.Metadata.Chip.NameKey); break; case Display display: - if (display.GetStringFieldValue(Data.Models.Metadata.Display.DisplayTypeKey).AsDisplayType() == DisplayType.NULL) + if (display.ReadString(Data.Models.Metadata.Display.DisplayTypeKey).AsDisplayType() == DisplayType.NULL) missingFields.Add(Data.Models.Metadata.Display.DisplayTypeKey); - if (display.GetInt64FieldValue(Data.Models.Metadata.Display.RotateKey) is null) + if (display.ReadLong(Data.Models.Metadata.Display.RotateKey) is null) missingFields.Add(Data.Models.Metadata.Display.RotateKey); break; case Sound sound: - if (sound.GetInt64FieldValue(Data.Models.Metadata.Sound.ChannelsKey) is null) + if (sound.ReadLong(Data.Models.Metadata.Sound.ChannelsKey) is null) missingFields.Add(Data.Models.Metadata.Sound.ChannelsKey); break; case Input input: - if (input.GetInt64FieldValue(Data.Models.Metadata.Input.PlayersKey) is null) + if (input.ReadLong(Data.Models.Metadata.Input.PlayersKey) is null) missingFields.Add(Data.Models.Metadata.Input.PlayersKey); if (!input.ControlsSpecified) missingFields.Add(Data.Models.Metadata.Input.ControlKey); @@ -164,9 +164,9 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Driver driver: - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.StatusKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.StatusKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.StatusKey); - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.EmulationKey); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/CommaSeparatedValue.cs b/SabreTools.Metadata.DatFiles/Formats/CommaSeparatedValue.cs index f5c3b1ce..3bf9afc3 100644 --- a/SabreTools.Metadata.DatFiles/Formats/CommaSeparatedValue.cs +++ b/SabreTools.Metadata.DatFiles/Formats/CommaSeparatedValue.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public CommaSeparatedValue(DatFile? datFile) : base(datFile) { _delim = ','; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.CSV); + Header.Write(DatHeader.DatFormatKey, DatFormat.CSV); } } } diff --git a/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs b/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs index 07d113b9..e193b162 100644 --- a/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs +++ b/SabreTools.Metadata.DatFiles/Formats/DosCenter.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public DosCenter(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.DOSCenter); + Header.Write(DatHeader.DatFormatKey, DatFormat.DOSCenter); } /// @@ -36,11 +36,11 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) missingFields.Add(Data.Models.Metadata.Rom.SizeKey); // if (string.IsNullOrEmpty(rom.Date)) // missingFields.Add(Data.Models.Metadata.Rom.DateKey); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); // if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))) // missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); diff --git a/SabreTools.Metadata.DatFiles/Formats/EverdriveSmdb.cs b/SabreTools.Metadata.DatFiles/Formats/EverdriveSmdb.cs index 65292d3b..8b10d692 100644 --- a/SabreTools.Metadata.DatFiles/Formats/EverdriveSmdb.cs +++ b/SabreTools.Metadata.DatFiles/Formats/EverdriveSmdb.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public EverdriveSMDB(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.EverdriveSMDB); + Header.Write(DatHeader.DatFormatKey, DatFormat.EverdriveSMDB); } /// @@ -36,13 +36,13 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key))) missingFields.Add(Data.Models.Metadata.Rom.SHA256Key); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key))) missingFields.Add(Data.Models.Metadata.Rom.MD5Key); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Listrom.cs b/SabreTools.Metadata.DatFiles/Formats/Listrom.cs index 9dd664e7..5e97faf5 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Listrom.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Listrom.cs @@ -22,7 +22,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public Listrom(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.Listrom); + Header.Write(DatHeader.DatFormatKey, DatFormat.Listrom); } /// @@ -37,8 +37,8 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Disk disk: - if (string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))) + if (string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key))) { missingFields.Add(Data.Models.Metadata.Disk.SHA1Key); } @@ -46,11 +46,11 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Rom rom: - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) missingFields.Add(Data.Models.Metadata.Rom.SizeKey); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Listxml.cs b/SabreTools.Metadata.DatFiles/Formats/Listxml.cs index c6db49ea..6c7cb880 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Listxml.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Listxml.cs @@ -216,7 +216,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public Listxml(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.Listxml); + Header.Write(DatHeader.DatFormatKey, DatFormat.Listxml); } /// @@ -262,17 +262,17 @@ namespace SabreTools.Metadata.DatFiles.Formats case BiosSet biosset: if (string.IsNullOrEmpty(biosset.GetName())) missingFields.Add(Data.Models.Metadata.BiosSet.NameKey); - if (string.IsNullOrEmpty(biosset.GetStringFieldValue(Data.Models.Metadata.BiosSet.DescriptionKey))) + if (string.IsNullOrEmpty(biosset.ReadString(Data.Models.Metadata.BiosSet.DescriptionKey))) missingFields.Add(Data.Models.Metadata.BiosSet.DescriptionKey); break; case Rom rom: if (string.IsNullOrEmpty(rom.GetName())) missingFields.Add(Data.Models.Metadata.Rom.NameKey); - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) missingFields.Add(Data.Models.Metadata.Rom.SizeKey); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) { missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); } @@ -282,8 +282,8 @@ namespace SabreTools.Metadata.DatFiles.Formats case Disk disk: if (string.IsNullOrEmpty(disk.GetName())) missingFields.Add(Data.Models.Metadata.Disk.NameKey); - if (string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))) + if (string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key))) { missingFields.Add(Data.Models.Metadata.Disk.SHA1Key); } @@ -303,43 +303,43 @@ namespace SabreTools.Metadata.DatFiles.Formats case Chip chip: if (string.IsNullOrEmpty(chip.GetName())) missingFields.Add(Data.Models.Metadata.Chip.NameKey); - if (chip.GetStringFieldValue(Data.Models.Metadata.Chip.ChipTypeKey).AsChipType() == ChipType.NULL) + if (chip.ReadString(Data.Models.Metadata.Chip.ChipTypeKey).AsChipType() == ChipType.NULL) missingFields.Add(Data.Models.Metadata.Chip.ChipTypeKey); break; case Display display: - if (display.GetStringFieldValue(Data.Models.Metadata.Display.DisplayTypeKey).AsDisplayType() == DisplayType.NULL) + if (display.ReadString(Data.Models.Metadata.Display.DisplayTypeKey).AsDisplayType() == DisplayType.NULL) missingFields.Add(Data.Models.Metadata.Display.DisplayTypeKey); - if (display.GetDoubleFieldValue(Data.Models.Metadata.Display.RefreshKey) is null) + if (display.ReadDouble(Data.Models.Metadata.Display.RefreshKey) is null) missingFields.Add(Data.Models.Metadata.Display.RefreshKey); break; case Sound sound: - if (sound.GetInt64FieldValue(Data.Models.Metadata.Sound.ChannelsKey) is null) + if (sound.ReadLong(Data.Models.Metadata.Sound.ChannelsKey) is null) missingFields.Add(Data.Models.Metadata.Sound.ChannelsKey); break; case Input input: - if (input.GetInt64FieldValue(Data.Models.Metadata.Input.PlayersKey) is null) + if (input.ReadLong(Data.Models.Metadata.Input.PlayersKey) is null) missingFields.Add(Data.Models.Metadata.Input.PlayersKey); break; case DipSwitch dipswitch: if (string.IsNullOrEmpty(dipswitch.GetName())) missingFields.Add(Data.Models.Metadata.DipSwitch.NameKey); - if (string.IsNullOrEmpty(dipswitch.GetStringFieldValue(Data.Models.Metadata.DipSwitch.TagKey))) + if (string.IsNullOrEmpty(dipswitch.ReadString(Data.Models.Metadata.DipSwitch.TagKey))) missingFields.Add(Data.Models.Metadata.DipSwitch.TagKey); break; case Configuration configuration: if (string.IsNullOrEmpty(configuration.GetName())) missingFields.Add(Data.Models.Metadata.Configuration.NameKey); - if (string.IsNullOrEmpty(configuration.GetStringFieldValue(Data.Models.Metadata.Configuration.TagKey))) + if (string.IsNullOrEmpty(configuration.ReadString(Data.Models.Metadata.Configuration.TagKey))) missingFields.Add(Data.Models.Metadata.Configuration.TagKey); break; case Port port: - if (string.IsNullOrEmpty(port.GetStringFieldValue(Data.Models.Metadata.Port.TagKey))) + if (string.IsNullOrEmpty(port.ReadString(Data.Models.Metadata.Port.TagKey))) missingFields.Add(Data.Models.Metadata.Port.TagKey); break; @@ -349,23 +349,23 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Driver driver: - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.StatusKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.StatusKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.StatusKey); - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.EmulationKey); - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.CocktailKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.CocktailKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.CocktailKey); - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.SaveStateKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.SaveStateKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.SaveStateKey); break; case Feature feature: - if (feature.GetStringFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey).AsFeatureType() == FeatureType.NULL) + if (feature.ReadString(Data.Models.Metadata.Feature.FeatureTypeKey).AsFeatureType() == FeatureType.NULL) missingFields.Add(Data.Models.Metadata.Feature.FeatureTypeKey); break; case Device device: - if (device.GetStringFieldValue(Data.Models.Metadata.Device.DeviceTypeKey).AsDeviceType() == DeviceType.NULL) + if (device.ReadString(Data.Models.Metadata.Device.DeviceTypeKey).AsDeviceType() == DeviceType.NULL) missingFields.Add(Data.Models.Metadata.Device.DeviceTypeKey); break; @@ -375,11 +375,11 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case DatItems.Formats.SoftwareList softwarelist: - if (string.IsNullOrEmpty(softwarelist.GetStringFieldValue(Data.Models.Metadata.SoftwareList.TagKey))) + if (string.IsNullOrEmpty(softwarelist.ReadString(Data.Models.Metadata.SoftwareList.TagKey))) missingFields.Add(Data.Models.Metadata.SoftwareList.TagKey); if (string.IsNullOrEmpty(softwarelist.GetName())) missingFields.Add(Data.Models.Metadata.SoftwareList.NameKey); - if (softwarelist.GetStringFieldValue(Data.Models.Metadata.SoftwareList.StatusKey).AsSoftwareListStatus() == SoftwareListStatus.None) + if (softwarelist.ReadString(Data.Models.Metadata.SoftwareList.StatusKey).AsSoftwareListStatus() == SoftwareListStatus.None) missingFields.Add(Data.Models.Metadata.SoftwareList.StatusKey); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs b/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs index 62a6b72a..e3726e1b 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs @@ -253,9 +253,9 @@ namespace SabreTools.Metadata.DatFiles.Formats { _useGame = useGame; if (useGame) - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.LogiqxDeprecated); + Header.Write(DatHeader.DatFormatKey, DatFormat.LogiqxDeprecated); else - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.Logiqx); + Header.Write(DatHeader.DatFormatKey, DatFormat.Logiqx); } /// @@ -268,35 +268,35 @@ namespace SabreTools.Metadata.DatFiles.Formats case Release release: if (string.IsNullOrEmpty(release.GetName())) missingFields.Add(Data.Models.Metadata.Release.NameKey); - if (string.IsNullOrEmpty(release.GetStringFieldValue(Data.Models.Metadata.Release.RegionKey))) + if (string.IsNullOrEmpty(release.ReadString(Data.Models.Metadata.Release.RegionKey))) missingFields.Add(Data.Models.Metadata.Release.RegionKey); break; case BiosSet biosset: if (string.IsNullOrEmpty(biosset.GetName())) missingFields.Add(Data.Models.Metadata.BiosSet.NameKey); - if (string.IsNullOrEmpty(biosset.GetStringFieldValue(Data.Models.Metadata.BiosSet.DescriptionKey))) + if (string.IsNullOrEmpty(biosset.ReadString(Data.Models.Metadata.BiosSet.DescriptionKey))) missingFields.Add(Data.Models.Metadata.BiosSet.DescriptionKey); break; case Rom rom: if (string.IsNullOrEmpty(rom.GetName())) missingFields.Add(Data.Models.Metadata.Rom.NameKey); - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) missingFields.Add(Data.Models.Metadata.Rom.SizeKey); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC16Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRC64Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD2Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD4Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey))) { missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); } @@ -306,8 +306,8 @@ namespace SabreTools.Metadata.DatFiles.Formats case Disk disk: if (string.IsNullOrEmpty(disk.GetName())) missingFields.Add(Data.Models.Metadata.Disk.NameKey); - if (string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))) + if (string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key))) { missingFields.Add(Data.Models.Metadata.Disk.SHA1Key); } @@ -317,10 +317,10 @@ namespace SabreTools.Metadata.DatFiles.Formats case Media media: if (string.IsNullOrEmpty(media.GetName())) missingFields.Add(Data.Models.Metadata.Media.NameKey); - if (string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey))) { missingFields.Add(Data.Models.Metadata.Media.SHA1Key); } @@ -343,22 +343,22 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Driver driver: - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.StatusKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.StatusKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.StatusKey); - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.EmulationKey); - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.CocktailKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.CocktailKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.CocktailKey); - if (driver.GetStringFieldValue(Data.Models.Metadata.Driver.SaveStateKey).AsSupportStatus() == SupportStatus.NULL) + if (driver.ReadString(Data.Models.Metadata.Driver.SaveStateKey).AsSupportStatus() == SupportStatus.NULL) missingFields.Add(Data.Models.Metadata.Driver.SaveStateKey); break; case DatItems.Formats.SoftwareList softwarelist: - if (string.IsNullOrEmpty(softwarelist.GetStringFieldValue(Data.Models.Metadata.SoftwareList.TagKey))) + if (string.IsNullOrEmpty(softwarelist.ReadString(Data.Models.Metadata.SoftwareList.TagKey))) missingFields.Add(Data.Models.Metadata.SoftwareList.TagKey); if (string.IsNullOrEmpty(softwarelist.GetName())) missingFields.Add(Data.Models.Metadata.SoftwareList.NameKey); - if (softwarelist.GetStringFieldValue(Data.Models.Metadata.SoftwareList.StatusKey).AsSoftwareListStatus() == SoftwareListStatus.None) + if (softwarelist.ReadString(Data.Models.Metadata.SoftwareList.StatusKey).AsSoftwareListStatus() == SoftwareListStatus.None) missingFields.Add(Data.Models.Metadata.SoftwareList.StatusKey); break; @@ -384,7 +384,7 @@ namespace SabreTools.Metadata.DatFiles.Formats // TODO: Reenable doctype writing // Only write the doctype if we don't have No-Intro data bool success; - if (string.IsNullOrEmpty(Header.GetStringFieldValue(Data.Models.Metadata.Header.IdKey))) + if (string.IsNullOrEmpty(Header.ReadString(Data.Models.Metadata.Header.IdKey))) success = new Serialization.Writers.Logiqx().Serialize(datafile, outfile, null, null, null, null); else success = new Serialization.Writers.Logiqx().Serialize(datafile, outfile, null, null, null, null); diff --git a/SabreTools.Metadata.DatFiles/Formats/Md2File.cs b/SabreTools.Metadata.DatFiles/Formats/Md2File.cs index bd967a14..8121c69c 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Md2File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Md2File.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public Md2File(DatFile? datFile) : base(datFile) { _hash = HashType.MD2; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpMD2); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpMD2); } /// @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD2Key))) missingFields.Add(Data.Models.Metadata.Rom.MD2Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Md4File.cs b/SabreTools.Metadata.DatFiles/Formats/Md4File.cs index 9911bd1e..d8d35402 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Md4File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Md4File.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public Md4File(DatFile? datFile) : base(datFile) { _hash = HashType.MD4; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpMD4); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpMD4); } /// @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD4Key))) missingFields.Add(Data.Models.Metadata.Rom.MD4Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Md5File.cs b/SabreTools.Metadata.DatFiles/Formats/Md5File.cs index f0569eb9..af8b7624 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Md5File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Md5File.cs @@ -26,7 +26,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public Md5File(DatFile? datFile) : base(datFile) { _hash = HashType.MD5; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpMD5); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpMD5); } /// @@ -41,17 +41,17 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Disk disk: - if (string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key))) + if (string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key))) missingFields.Add(Data.Models.Metadata.Disk.MD5Key); break; case Media medium: - if (string.IsNullOrEmpty(medium.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key))) + if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.MD5Key))) missingFields.Add(Data.Models.Metadata.Media.MD5Key); break; case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key))) missingFields.Add(Data.Models.Metadata.Rom.MD5Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Missfile.cs b/SabreTools.Metadata.DatFiles/Formats/Missfile.cs index 69898918..4aa8aaca 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Missfile.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Missfile.cs @@ -22,7 +22,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public Missfile(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.MissFile); + Header.Write(DatHeader.DatFormatKey, DatFormat.MissFile); } /// diff --git a/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs b/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs index c89c736f..7a1cdd21 100644 --- a/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs +++ b/SabreTools.Metadata.DatFiles/Formats/OfflineList.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public OfflineList(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.OfflineList); + Header.Write(DatHeader.DatFormatKey, DatFormat.OfflineList); } /// @@ -32,9 +32,9 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) missingFields.Add(Data.Models.Metadata.Rom.SizeKey); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/OpenMSX.cs b/SabreTools.Metadata.DatFiles/Formats/OpenMSX.cs index f4d56e16..e8dd9d24 100644 --- a/SabreTools.Metadata.DatFiles/Formats/OpenMSX.cs +++ b/SabreTools.Metadata.DatFiles/Formats/OpenMSX.cs @@ -60,7 +60,7 @@ The softwaredb.xml file contains information about rom mapper types /// Parent DatFile to copy from public OpenMSX(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.OpenMSX); + Header.Write(DatHeader.DatFormatKey, DatFormat.OpenMSX); } /// @@ -75,7 +75,7 @@ The softwaredb.xml file contains information about rom mapper types switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/RipeMD128File.cs b/SabreTools.Metadata.DatFiles/Formats/RipeMD128File.cs index d6713a0f..63fbec3b 100644 --- a/SabreTools.Metadata.DatFiles/Formats/RipeMD128File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/RipeMD128File.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public RipeMD128File(DatFile? datFile) : base(datFile) { _hash = HashType.RIPEMD128; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpRIPEMD128); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpRIPEMD128); } /// @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key))) missingFields.Add(Data.Models.Metadata.Rom.RIPEMD128Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/RipeMD160File.cs b/SabreTools.Metadata.DatFiles/Formats/RipeMD160File.cs index d8269fea..27dbd7f7 100644 --- a/SabreTools.Metadata.DatFiles/Formats/RipeMD160File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/RipeMD160File.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public RipeMD160File(DatFile? datFile) : base(datFile) { _hash = HashType.RIPEMD160; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpRIPEMD160); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpRIPEMD160); } /// @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key))) missingFields.Add(Data.Models.Metadata.Rom.RIPEMD160Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs b/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs index 94949ea7..fff1933d 100644 --- a/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs +++ b/SabreTools.Metadata.DatFiles/Formats/RomCenter.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public RomCenter(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RomCenter); + Header.Write(DatHeader.DatFormatKey, DatFormat.RomCenter); } /// @@ -36,9 +36,9 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) missingFields.Add(Data.Models.Metadata.Rom.SizeKey); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs b/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs index e8e818c8..a2666e43 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs @@ -28,7 +28,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public SabreJSON(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.SabreJSON); + Header.Write(DatHeader.DatFormatKey, DatFormat.SabreJSON); } /// @@ -398,7 +398,7 @@ namespace SabreTools.Metadata.DatFiles.Formats return; datItem.CopyMachineInformation(machine); - datItem.SetFieldValue(DatItem.SourceKey, source); + datItem.Write(DatItem.SourceKey, source); AddItem(datItem, statsOnly); AddItemDB(datItem, machineIndex, sourceIndex, statsOnly); } diff --git a/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs b/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs index da6d7bc1..0b790989 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs @@ -27,7 +27,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public SabreXML(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.SabreXML); + Header.Write(DatHeader.DatFormatKey, DatFormat.SabreXML); } /// @@ -219,7 +219,7 @@ namespace SabreTools.Metadata.DatFiles.Formats } item.CopyMachineInformation(machine); - item.SetFieldValue(DatItem.SourceKey, source); + item.Write(DatItem.SourceKey, source); AddItem(item, statsOnly); // AddItemDB(item, machineIndex, sourceIndex, statsOnly); } diff --git a/SabreTools.Metadata.DatFiles/Formats/SemicolonSeparatedValue.cs b/SabreTools.Metadata.DatFiles/Formats/SemicolonSeparatedValue.cs index 1d8051fd..eca0b171 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SemicolonSeparatedValue.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SemicolonSeparatedValue.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public SemicolonSeparatedValue(DatFile? datFile) : base(datFile) { _delim = ';'; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.SSV); + Header.Write(DatHeader.DatFormatKey, DatFormat.SSV); } } } diff --git a/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs b/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs index 0744677e..7310823b 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs @@ -73,8 +73,8 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Disk disk: - if (string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))) + if (string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key))) { missingFields.Add(Data.Models.Metadata.Disk.SHA1Key); } @@ -82,10 +82,10 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Media media: - if (string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey))) { missingFields.Add(Data.Models.Metadata.Media.SHA1Key); } @@ -93,15 +93,15 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Rom rom: - if (rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is null || rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) < 0) + if (rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) is null || rom.ReadLong(Data.Models.Metadata.Rom.SizeKey) < 0) missingFields.Add(Data.Models.Metadata.Rom.SizeKey); - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)) - && string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.MD5Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key)) + && string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey))) { missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); } diff --git a/SabreTools.Metadata.DatFiles/Formats/SfvFile.cs b/SabreTools.Metadata.DatFiles/Formats/SfvFile.cs index bbd02023..905bc5c6 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SfvFile.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SfvFile.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public SfvFile(DatFile? datFile) : base(datFile) { _hash = HashType.CRC32; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpSFV); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpSFV); } /// @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey))) missingFields.Add(Data.Models.Metadata.Rom.CRCKey); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs index 6a2025e1..1470f347 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs @@ -26,7 +26,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public Sha1File(DatFile? datFile) : base(datFile) { _hash = HashType.SHA1; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpSHA1); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpSHA1); } /// @@ -41,17 +41,17 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Disk disk: - if (string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))) + if (string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key))) missingFields.Add(Data.Models.Metadata.Disk.SHA1Key); break; case Media medium: - if (string.IsNullOrEmpty(medium.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key))) + if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SHA1Key))) missingFields.Add(Data.Models.Metadata.Media.SHA1Key); break; case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) missingFields.Add(Data.Models.Metadata.Rom.SHA1Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs index 0a7334c4..475ea2c2 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs @@ -25,7 +25,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public Sha256File(DatFile? datFile) : base(datFile) { _hash = HashType.SHA256; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpSHA256); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpSHA256); } /// @@ -40,12 +40,12 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Media medium: - if (string.IsNullOrEmpty(medium.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key))) + if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SHA256Key))) missingFields.Add(Data.Models.Metadata.Media.SHA256Key); break; case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA256Key))) missingFields.Add(Data.Models.Metadata.Rom.SHA256Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha384File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha384File.cs index 632190b5..f93958dd 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha384File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha384File.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public Sha384File(DatFile? datFile) : base(datFile) { _hash = HashType.SHA384; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpSHA384); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpSHA384); } /// @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA384Key))) missingFields.Add(Data.Models.Metadata.Rom.SHA384Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha512File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha512File.cs index d51e779d..be0d5acb 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha512File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha512File.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public Sha512File(DatFile? datFile) : base(datFile) { _hash = HashType.SHA512; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpSHA512); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpSHA512); } /// @@ -39,7 +39,7 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA512Key))) missingFields.Add(Data.Models.Metadata.Rom.SHA512Key); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs index 281ddcf1..64332ce0 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs @@ -96,7 +96,7 @@ namespace SabreTools.Metadata.DatFiles.Formats /// Parent DatFile to copy from public SoftwareList(DatFile? datFile) : base(datFile) { - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.SoftwareList); + Header.Write(DatHeader.DatFormatKey, DatFormat.SoftwareList); } /// @@ -114,24 +114,24 @@ namespace SabreTools.Metadata.DatFiles.Formats } else { - if (string.IsNullOrEmpty(dipSwitch.GetFieldValue(DipSwitch.PartKey)!.GetName())) + if (string.IsNullOrEmpty(dipSwitch.Read(DipSwitch.PartKey)!.GetName())) missingFields.Add(Data.Models.Metadata.Part.NameKey); - if (string.IsNullOrEmpty(dipSwitch.GetFieldValue(DipSwitch.PartKey)!.GetStringFieldValue(Data.Models.Metadata.Part.InterfaceKey))) + if (string.IsNullOrEmpty(dipSwitch.Read(DipSwitch.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey))) missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); } if (string.IsNullOrEmpty(dipSwitch.GetName())) missingFields.Add(Data.Models.Metadata.DipSwitch.NameKey); - if (string.IsNullOrEmpty(dipSwitch.GetStringFieldValue(Data.Models.Metadata.DipSwitch.TagKey))) + if (string.IsNullOrEmpty(dipSwitch.ReadString(Data.Models.Metadata.DipSwitch.TagKey))) missingFields.Add(Data.Models.Metadata.DipSwitch.TagKey); - if (string.IsNullOrEmpty(dipSwitch.GetStringFieldValue(Data.Models.Metadata.DipSwitch.MaskKey))) + if (string.IsNullOrEmpty(dipSwitch.ReadString(Data.Models.Metadata.DipSwitch.MaskKey))) missingFields.Add(Data.Models.Metadata.DipSwitch.MaskKey); if (dipSwitch.ValuesSpecified) { - var dipValues = dipSwitch.GetFieldValue(Data.Models.Metadata.DipSwitch.DipValueKey); + var dipValues = dipSwitch.Read(Data.Models.Metadata.DipSwitch.DipValueKey); if (Array.Find(dipValues!, dv => string.IsNullOrEmpty(dv.GetName())) is not null) missingFields.Add(Data.Models.Metadata.DipValue.NameKey); - if (Array.Find(dipValues!, dv => string.IsNullOrEmpty(dv.GetStringFieldValue(Data.Models.Metadata.DipValue.ValueKey))) is not null) + if (Array.Find(dipValues!, dv => string.IsNullOrEmpty(dv.ReadString(Data.Models.Metadata.DipValue.ValueKey))) is not null) missingFields.Add(Data.Models.Metadata.DipValue.ValueKey); } @@ -145,9 +145,9 @@ namespace SabreTools.Metadata.DatFiles.Formats } else { - if (string.IsNullOrEmpty(disk.GetFieldValue(Disk.PartKey)!.GetName())) + if (string.IsNullOrEmpty(disk.Read(Disk.PartKey)!.GetName())) missingFields.Add(Data.Models.Metadata.Part.NameKey); - if (string.IsNullOrEmpty(disk.GetFieldValue(Disk.PartKey)!.GetStringFieldValue(Data.Models.Metadata.Part.InterfaceKey))) + if (string.IsNullOrEmpty(disk.Read(Disk.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey))) missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); } @@ -157,7 +157,7 @@ namespace SabreTools.Metadata.DatFiles.Formats } else { - if (string.IsNullOrEmpty(disk.GetFieldValue(Disk.DiskAreaKey)!.GetName())) + if (string.IsNullOrEmpty(disk.Read(Disk.DiskAreaKey)!.GetName())) missingFields.Add(Data.Models.Metadata.DiskArea.NameKey); } @@ -178,9 +178,9 @@ namespace SabreTools.Metadata.DatFiles.Formats } else { - if (string.IsNullOrEmpty(rom.GetFieldValue(Rom.PartKey)!.GetName())) + if (string.IsNullOrEmpty(rom.Read(Rom.PartKey)!.GetName())) missingFields.Add(Data.Models.Metadata.Part.NameKey); - if (string.IsNullOrEmpty(rom.GetFieldValue(Rom.PartKey)!.GetStringFieldValue(Data.Models.Metadata.Part.InterfaceKey))) + if (string.IsNullOrEmpty(rom.Read(Rom.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey))) missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); } @@ -191,9 +191,9 @@ namespace SabreTools.Metadata.DatFiles.Formats } else { - if (string.IsNullOrEmpty(rom.GetFieldValue(Rom.DataAreaKey)!.GetName())) + if (string.IsNullOrEmpty(rom.Read(Rom.DataAreaKey)!.GetName())) missingFields.Add(Data.Models.Metadata.DataArea.NameKey); - if (rom.GetFieldValue(Rom.DataAreaKey)!.GetInt64FieldValue(Data.Models.Metadata.DataArea.SizeKey) is null) + if (rom.Read(Rom.DataAreaKey)!.ReadLong(Data.Models.Metadata.DataArea.SizeKey) is null) missingFields.Add(Data.Models.Metadata.DataArea.SizeKey); } diff --git a/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs b/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs index 8d59b407..29aa0ef0 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs @@ -25,7 +25,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public SpamSumFile(DatFile? datFile) : base(datFile) { _hash = HashType.SpamSum; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.RedumpSpamSum); + Header.Write(DatHeader.DatFormatKey, DatFormat.RedumpSpamSum); } /// @@ -40,12 +40,12 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Media medium: - if (string.IsNullOrEmpty(medium.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SpamSumKey))) missingFields.Add(Data.Models.Metadata.Media.SpamSumKey); break; case Rom rom: - if (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey))) + if (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SpamSumKey))) missingFields.Add(Data.Models.Metadata.Rom.SpamSumKey); break; diff --git a/SabreTools.Metadata.DatFiles/Formats/TabSeparatedValue.cs b/SabreTools.Metadata.DatFiles/Formats/TabSeparatedValue.cs index 515384fa..51f262dd 100644 --- a/SabreTools.Metadata.DatFiles/Formats/TabSeparatedValue.cs +++ b/SabreTools.Metadata.DatFiles/Formats/TabSeparatedValue.cs @@ -13,7 +13,7 @@ namespace SabreTools.Metadata.DatFiles.Formats public TabSeparatedValue(DatFile? datFile) : base(datFile) { _delim = '\t'; - Header.SetFieldValue(DatHeader.DatFormatKey, DatFormat.TSV); + Header.Write(DatHeader.DatFormatKey, DatFormat.TSV); } } } diff --git a/SabreTools.Metadata.DatFiles/ItemDictionary.cs b/SabreTools.Metadata.DatFiles/ItemDictionary.cs index e4ede4a8..0ebb0bfc 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionary.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionary.cs @@ -97,12 +97,12 @@ namespace SabreTools.Metadata.DatFiles if (item is Disk disk) { // If the file has aboslutely no hashes, skip and log - if (disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() != ItemStatus.Nodump - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))) + if (disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() != ItemStatus.Nodump + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key))) { _logger.Verbose($"Incomplete entry for '{disk.GetName()}' will be output as nodump"); - disk.SetFieldValue(Data.Models.Metadata.Disk.StatusKey, ItemStatus.Nodump.AsStringValue()); + disk.Write(Data.Models.Metadata.Disk.StatusKey, ItemStatus.Nodump.AsStringValue()); } item = disk; @@ -123,10 +123,10 @@ namespace SabreTools.Metadata.DatFiles else if (item is Media media) { // If the file has aboslutely no hashes, skip and log - if (string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey))) { _logger.Verbose($"Incomplete entry for '{media.GetName()}' will be output as nodump"); } @@ -135,10 +135,10 @@ namespace SabreTools.Metadata.DatFiles } else if (item is Rom rom) { - long? size = rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey); + long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey); // If we have the case where there is SHA-1 and nothing else, we don't fill in any other part of the data - if (size is null && !string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))) + if (size is null && !string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) { // No-op, just catch it so it doesn't go further //logger.Verbose($"{Header.GetStringFieldValue(DatHeader.FileNameKey)}: Entry with only SHA-1 found - '{rom.GetName()}'"); @@ -146,38 +146,38 @@ namespace SabreTools.Metadata.DatFiles // If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info else if ((size == 0 || size is null) - && (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)) || rom.HasZeroHash())) + && (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) || rom.HasZeroHash())) { - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "0"); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, null); // HashType.MD2.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, null); // HashType.MD4.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, null); // HashType.RIPEMD128.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, null); // HashType.RIPEMD160.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, null); // HashType.SHA256.ZeroString; - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, null); // HashType.SHA384.ZeroString; - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, null); // HashType.SHA512.ZeroString; - rom.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, null); // HashType.SpamSum.ZeroString; + rom.Write(Data.Models.Metadata.Rom.SizeKey, "0"); + rom.Write(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString + rom.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); + rom.Write(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString + rom.Write(Data.Models.Metadata.Rom.MD2Key, null); // HashType.MD2.ZeroString + rom.Write(Data.Models.Metadata.Rom.MD4Key, null); // HashType.MD4.ZeroString + rom.Write(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); + rom.Write(Data.Models.Metadata.Rom.RIPEMD128Key, null); // HashType.RIPEMD128.ZeroString + rom.Write(Data.Models.Metadata.Rom.RIPEMD160Key, null); // HashType.RIPEMD160.ZeroString + rom.Write(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); + rom.Write(Data.Models.Metadata.Rom.SHA256Key, null); // HashType.SHA256.ZeroString; + rom.Write(Data.Models.Metadata.Rom.SHA384Key, null); // HashType.SHA384.ZeroString; + rom.Write(Data.Models.Metadata.Rom.SHA512Key, null); // HashType.SHA512.ZeroString; + rom.Write(Data.Models.Metadata.Rom.SpamSumKey, null); // HashType.SpamSum.ZeroString; } // If the file has no size and it's not the above case, skip and log - else if (rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump && (size == 0 || size is null)) + else if (rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump && (size == 0 || size is null)) { //logger.Verbose($"{Header.GetStringFieldValue(DatHeader.FileNameKey)}: Incomplete entry for '{rom.GetName()}' will be output as nodump"); - rom.SetFieldValue(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Nodump.AsStringValue()); + rom.Write(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Nodump.AsStringValue()); } // If the file has a size but aboslutely no hashes, skip and log - else if (rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump + else if (rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump && size is not null && size > 0 && !rom.HasHashes()) { //logger.Verbose($"{Header.GetStringFieldValue(DatHeader.FileNameKey)}: Incomplete entry for '{rom.GetName()}' will be output as nodump"); - rom.SetFieldValue(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Nodump.AsStringValue()); + rom.Write(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Nodump.AsStringValue()); } item = rom; @@ -249,7 +249,7 @@ namespace SabreTools.Metadata.DatFiles var datItems = new List(); foreach (DatItem item in items) { - if (item.GetBoolFieldValue(DatItem.RemoveKey) != true) + if (item.ReadBool(DatItem.RemoveKey) != true) datItems.Add(item); } @@ -428,8 +428,8 @@ namespace SabreTools.Metadata.DatFiles return output; // Get the sources for comparison - var selfSource = self.GetFieldValue(DatItem.SourceKey); - var lastSource = last.GetFieldValue(DatItem.SourceKey); + var selfSource = self.Read(DatItem.SourceKey); + var lastSource = last.Read(DatItem.SourceKey); // Get the machines for comparison var selfMachine = self.GetMachine(); @@ -439,9 +439,9 @@ namespace SabreTools.Metadata.DatFiles // If the duplicate is external already #if NET20 || NET35 - if ((last.GetFieldValue(DatItem.DupeTypeKey) & DupeType.External) != 0) + if ((last.Read(DatItem.DupeTypeKey) & DupeType.External) != 0) #else - if (last.GetFieldValue(DatItem.DupeTypeKey).HasFlag(DupeType.External)) + if (last.Read(DatItem.DupeTypeKey).HasFlag(DupeType.External)) #endif output |= DupeType.External; @@ -491,13 +491,13 @@ namespace SabreTools.Metadata.DatFiles continue; // If it's a nodump, add and skip - if (datItem is Rom rom && rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Nodump) + if (datItem is Rom rom && rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Nodump) { output.Add(datItem); nodumpCount++; continue; } - else if (datItem is Disk disk && disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Nodump) + else if (datItem is Disk disk && disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Nodump) { output.Add(datItem); nodumpCount++; @@ -534,11 +534,11 @@ namespace SabreTools.Metadata.DatFiles savedRom.FillMissingInformation(romItem); // Set the duplicate type on the saved item - savedItem.SetFieldValue(DatItem.DupeTypeKey, dupetype); + savedItem.Write(DatItem.DupeTypeKey, dupetype); // Get the sources associated with the items - var savedSource = savedItem.GetFieldValue(DatItem.SourceKey); - var itemSource = datItem.GetFieldValue(DatItem.SourceKey); + var savedSource = savedItem.Read(DatItem.SourceKey); + var itemSource = datItem.Read(DatItem.SourceKey); // Get the machines associated with the items var savedMachine = savedItem.GetMachine(); @@ -547,14 +547,14 @@ namespace SabreTools.Metadata.DatFiles // If the current source has a lower ID than the saved, use the saved source if (itemSource?.Index < savedSource?.Index) { - datItem.SetFieldValue(DatItem.SourceKey, savedSource.Clone() as Source); + datItem.Write(DatItem.SourceKey, savedSource.Clone() as Source); savedItem.CopyMachineInformation(datItem); savedItem.SetName(datItem.GetName()); } // If the saved machine is a child of the current machine, use the current machine instead - if (savedMachine?.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey) == itemMachine?.GetName() - || savedMachine?.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey) == itemMachine?.GetName()) + if (savedMachine?.ReadString(Data.Models.Metadata.Machine.CloneOfKey) == itemMachine?.GetName() + || savedMachine?.ReadString(Data.Models.Metadata.Machine.RomOfKey) == itemMachine?.GetName()) { savedItem.CopyMachineInformation(datItem); savedItem.SetName(datItem.GetName()); @@ -596,13 +596,13 @@ namespace SabreTools.Metadata.DatFiles foreach (DatItem other in items) { // Skip items marked for removal - if (other.GetBoolFieldValue(DatItem.RemoveKey) == true) + if (other.ReadBool(DatItem.RemoveKey) == true) continue; // Mark duplicates for future removal if (datItem.Equals(other)) { - other.SetFieldValue(DatItem.RemoveKey, true); + other.Write(DatItem.RemoveKey, true); output.Add(other); } } @@ -728,7 +728,7 @@ namespace SabreTools.Metadata.DatFiles // Get the machine and source var machine = datItem.GetMachine(); - var source = datItem.GetFieldValue(DatItem.SourceKey); + var source = datItem.Read(DatItem.SourceKey); // Get the bucket key return datItem.GetKey(bucketBy, machine, source, lower, norename); @@ -762,12 +762,12 @@ namespace SabreTools.Metadata.DatFiles for (int i = 0; i < GetItemsForBucket(key).Count; i++) { DatItem item = GetItemsForBucket(key)[i]; - if (item is null || item.GetBoolFieldValue(DatItem.RemoveKey) == true) + if (item is null || item.ReadBool(DatItem.RemoveKey) == true) continue; // Get the machine and source var machine = item.GetMachine(); - var source = item.GetFieldValue(DatItem.SourceKey); + var source = item.Read(DatItem.SourceKey); // We want to get the key most appropriate for the given sorting type string newkey = item.GetKey(bucketBy, machine, source, lower, norename); @@ -840,8 +840,8 @@ namespace SabreTools.Metadata.DatFiles // Compare on source if renaming if (!norename) { - int xSourceIndex = x.GetFieldValue(DatItem.SourceKey)?.Index ?? 0; - int ySourceIndex = y.GetFieldValue(DatItem.SourceKey)?.Index ?? 0; + int xSourceIndex = x.Read(DatItem.SourceKey)?.Index ?? 0; + int ySourceIndex = y.Read(DatItem.SourceKey)?.Index ?? 0; if (xSourceIndex != ySourceIndex) return xSourceIndex - ySourceIndex; } @@ -857,8 +857,8 @@ namespace SabreTools.Metadata.DatFiles return nc.Compare(xMachineName, yMachineName); // If types don't match - string? xType = x.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); - string? yType = y.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); + string? xType = x.ReadString(Data.Models.Metadata.DatItem.TypeKey); + string? yType = y.ReadString(Data.Models.Metadata.DatItem.TypeKey); if (xType != yType) return xType.AsItemType() - yType.AsItemType(); diff --git a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs index d0dd262c..f2fd6fbf 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs @@ -186,12 +186,12 @@ namespace SabreTools.Metadata.DatFiles if (item is Disk disk) { // If the file has aboslutely no hashes, skip and log - if (disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() != ItemStatus.Nodump - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)) - && string.IsNullOrEmpty(disk.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))) + if (disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() != ItemStatus.Nodump + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.MD5Key)) + && string.IsNullOrEmpty(disk.ReadString(Data.Models.Metadata.Disk.SHA1Key))) { _logger.Verbose($"Incomplete entry for '{disk.GetName()}' will be output as nodump"); - disk.SetFieldValue(Data.Models.Metadata.Disk.StatusKey, ItemStatus.Nodump.AsStringValue()); + disk.Write(Data.Models.Metadata.Disk.StatusKey, ItemStatus.Nodump.AsStringValue()); } item = disk; @@ -212,10 +212,10 @@ namespace SabreTools.Metadata.DatFiles else if (item is Media media) { // If the file has aboslutely no hashes, skip and log - if (string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)) - && string.IsNullOrEmpty(media.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) + && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey))) { _logger.Verbose($"Incomplete entry for '{media.GetName()}' will be output as nodump"); } @@ -224,10 +224,10 @@ namespace SabreTools.Metadata.DatFiles } else if (item is Rom rom) { - long? size = rom.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey); + long? size = rom.ReadLong(Data.Models.Metadata.Rom.SizeKey); // If we have the case where there is SHA-1 and nothing else, we don't fill in any other part of the data - if (size is null && !string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))) + if (size is null && !string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.SHA1Key))) { // No-op, just catch it so it doesn't go further //logger.Verbose($"{Header.GetStringFieldValue(DatHeader.FileNameKey)}: Entry with only SHA-1 found - '{rom.GetName()}'"); @@ -235,38 +235,38 @@ namespace SabreTools.Metadata.DatFiles // If we have a rom and it's missing size AND the hashes match a 0-byte file, fill in the rest of the info else if ((size == 0 || size is null) - && (string.IsNullOrEmpty(rom.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)) || rom.HasZeroHash())) + && (string.IsNullOrEmpty(rom.ReadString(Data.Models.Metadata.Rom.CRCKey)) || rom.HasZeroHash())) { - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, "0"); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, null); // HashType.MD2.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, null); // HashType.MD4.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, null); // HashType.RIPEMD128.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, null); // HashType.RIPEMD160.ZeroString - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, null); // HashType.SHA256.ZeroString; - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, null); // HashType.SHA384.ZeroString; - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, null); // HashType.SHA512.ZeroString; - rom.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, null); // HashType.SpamSum.ZeroString; + rom.Write(Data.Models.Metadata.Rom.SizeKey, "0"); + rom.Write(Data.Models.Metadata.Rom.CRC16Key, null); // HashType.CRC16.ZeroString + rom.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); + rom.Write(Data.Models.Metadata.Rom.CRC64Key, null); // HashType.CRC64.ZeroString + rom.Write(Data.Models.Metadata.Rom.MD2Key, null); // HashType.MD2.ZeroString + rom.Write(Data.Models.Metadata.Rom.MD4Key, null); // HashType.MD4.ZeroString + rom.Write(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); + rom.Write(Data.Models.Metadata.Rom.RIPEMD128Key, null); // HashType.RIPEMD128.ZeroString + rom.Write(Data.Models.Metadata.Rom.RIPEMD160Key, null); // HashType.RIPEMD160.ZeroString + rom.Write(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); + rom.Write(Data.Models.Metadata.Rom.SHA256Key, null); // HashType.SHA256.ZeroString; + rom.Write(Data.Models.Metadata.Rom.SHA384Key, null); // HashType.SHA384.ZeroString; + rom.Write(Data.Models.Metadata.Rom.SHA512Key, null); // HashType.SHA512.ZeroString; + rom.Write(Data.Models.Metadata.Rom.SpamSumKey, null); // HashType.SpamSum.ZeroString; } // If the file has no size and it's not the above case, skip and log - else if (rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump && (size == 0 || size is null)) + else if (rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump && (size == 0 || size is null)) { //logger.Verbose($"{Header.GetStringFieldValue(DatHeader.FileNameKey)}: Incomplete entry for '{rom.GetName()}' will be output as nodump"); - rom.SetFieldValue(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Nodump.AsStringValue()); + rom.Write(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Nodump.AsStringValue()); } // If the file has a size but aboslutely no hashes, skip and log - else if (rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump + else if (rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() != ItemStatus.Nodump && size is not null && size > 0 && !rom.HasHashes()) { //logger.Verbose($"{Header.GetStringFieldValue(DatHeader.FileNameKey)}: Incomplete entry for '{rom.GetName()}' will be output as nodump"); - rom.SetFieldValue(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Nodump.AsStringValue()); + rom.Write(Data.Models.Metadata.Rom.StatusKey, ItemStatus.Nodump.AsStringValue()); } item = rom; @@ -331,7 +331,7 @@ namespace SabreTools.Metadata.DatFiles var datItem = _items[itemIndex]; #endif - if (datItem.GetBoolFieldValue(DatItem.RemoveKey) != true) + if (datItem.ReadBool(DatItem.RemoveKey) != true) continue; RemoveItem(itemIndex); @@ -377,7 +377,7 @@ namespace SabreTools.Metadata.DatFiles continue; #endif - if (!filter || datItem.GetBoolFieldValue(DatItem.RemoveKey) != true) + if (!filter || datItem.ReadBool(DatItem.RemoveKey) != true) datItems[itemId] = datItem; } @@ -749,9 +749,9 @@ namespace SabreTools.Metadata.DatFiles // If the duplicate is external already #if NET20 || NET35 - if ((lastItem.Value.Value.GetFieldValue(DatItem.DupeTypeKey) & DupeType.External) != 0) + if ((lastItem.Value.Value.Read(DatItem.DupeTypeKey) & DupeType.External) != 0) #else - if (lastItem.Value.Value.GetFieldValue(DatItem.DupeTypeKey).HasFlag(DupeType.External)) + if (lastItem.Value.Value.Read(DatItem.DupeTypeKey).HasFlag(DupeType.External)) #endif output |= DupeType.External; @@ -804,13 +804,13 @@ namespace SabreTools.Metadata.DatFiles foreach (var rom in items) { // Skip items marked for removal - if (rom.Value.GetBoolFieldValue(DatItem.RemoveKey) == true) + if (rom.Value.ReadBool(DatItem.RemoveKey) == true) continue; // Mark duplicates for future removal if (datItem.Value.Equals(rom.Value)) { - rom.Value.SetFieldValue(DatItem.RemoveKey, true); + rom.Value.Write(DatItem.RemoveKey, true); output[rom.Key] = rom.Value; } } @@ -871,13 +871,13 @@ namespace SabreTools.Metadata.DatFiles continue; // If it's a nodump, add and skip - if (datItem is Rom rom && rom.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Nodump) + if (datItem is Rom rom && rom.ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus() == ItemStatus.Nodump) { output.Add(new KeyValuePair(itemIndex, datItem)); nodumpCount++; continue; } - else if (datItem is Disk disk && disk.GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Nodump) + else if (datItem is Disk disk && disk.ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus() == ItemStatus.Nodump) { output.Add(new KeyValuePair(itemIndex, datItem)); nodumpCount++; @@ -920,7 +920,7 @@ namespace SabreTools.Metadata.DatFiles else if (datItem is Rom romItem && savedItem is Rom savedRom) savedRom.FillMissingInformation(romItem); - savedItem.SetFieldValue(DatItem.DupeTypeKey, dupetype); + savedItem.Write(DatItem.DupeTypeKey, dupetype); // Get the sources associated with the items var savedSource = _sources[_itemToSourceMapping[savedIndex]]; @@ -939,8 +939,8 @@ namespace SabreTools.Metadata.DatFiles } // If the saved machine is a child of the current machine, use the current machine instead - if (savedMachine.GetStringFieldValue(Data.Models.Metadata.Machine.CloneOfKey) == itemMachine.GetName() - || savedMachine.GetStringFieldValue(Data.Models.Metadata.Machine.RomOfKey) == itemMachine.GetName()) + if (savedMachine.ReadString(Data.Models.Metadata.Machine.CloneOfKey) == itemMachine.GetName() + || savedMachine.ReadString(Data.Models.Metadata.Machine.RomOfKey) == itemMachine.GetName()) { _machines[_itemToMachineMapping[savedIndex]] = (itemMachine.Clone() as Machine)!; savedItem.SetName(datItem.GetName()); @@ -1195,8 +1195,8 @@ namespace SabreTools.Metadata.DatFiles return nc.Compare(xMachineName, yMachineName); // If types don't match - string? xType = x.Value.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); - string? yType = y.Value.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey); + string? xType = x.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey); + string? yType = y.Value.ReadString(Data.Models.Metadata.DatItem.TypeKey); if (xType != yType) return xType.AsItemType() - yType.AsItemType(); diff --git a/SabreTools.Metadata.DatItems.Test/DatItemTests.cs b/SabreTools.Metadata.DatItems.Test/DatItemTests.cs index 9c87123d..09b7331b 100644 --- a/SabreTools.Metadata.DatItems.Test/DatItemTests.cs +++ b/SabreTools.Metadata.DatItems.Test/DatItemTests.cs @@ -52,7 +52,7 @@ namespace SabreTools.Metadata.DatItems.Test var romA = new Rom(); var romB = new Rom(); - romB.RemoveField(DatItem.MachineKey); + romB.Remove(DatItem.MachineKey); romA.CopyMachineInformation(romB); var actualMachineA = romA.GetMachine(); @@ -67,10 +67,10 @@ namespace SabreTools.Metadata.DatItems.Test machineA.SetName("machineA"); var romA = new Rom(); - romA.SetFieldValue(DatItem.MachineKey, machineA); + romA.Write(DatItem.MachineKey, machineA); var romB = new Rom(); - romB.RemoveField(DatItem.MachineKey); + romB.Remove(DatItem.MachineKey); romA.CopyMachineInformation(romB); var actualMachineA = romA.GetMachine(); @@ -87,10 +87,10 @@ namespace SabreTools.Metadata.DatItems.Test Machine? machineB = null; var romA = new Rom(); - romA.SetFieldValue(DatItem.MachineKey, machineA); + romA.Write(DatItem.MachineKey, machineA); var romB = new Rom(); - romB.SetFieldValue(DatItem.MachineKey, machineB); + romB.Write(DatItem.MachineKey, machineB); romA.CopyMachineInformation(romB); var actualMachineA = romA.GetMachine(); @@ -107,10 +107,10 @@ namespace SabreTools.Metadata.DatItems.Test Machine? machineB = new Machine(); var romA = new Rom(); - romA.SetFieldValue(DatItem.MachineKey, machineA); + romA.Write(DatItem.MachineKey, machineA); var romB = new Rom(); - romB.SetFieldValue(DatItem.MachineKey, machineB); + romB.Write(DatItem.MachineKey, machineB); romA.CopyMachineInformation(romB); var actualMachineA = romA.GetMachine(); @@ -128,10 +128,10 @@ namespace SabreTools.Metadata.DatItems.Test machineB.SetName("machineB"); var romA = new Rom(); - romA.SetFieldValue(DatItem.MachineKey, machineA); + romA.Write(DatItem.MachineKey, machineA); var romB = new Rom(); - romB.SetFieldValue(DatItem.MachineKey, machineB); + romB.Write(DatItem.MachineKey, machineB); romA.CopyMachineInformation(romB); var actualMachineA = romA.GetMachine(); @@ -149,10 +149,10 @@ namespace SabreTools.Metadata.DatItems.Test machineB.SetName("machineB"); var romA = new Rom(); - romA.SetFieldValue(DatItem.MachineKey, machineA); + romA.Write(DatItem.MachineKey, machineA); var diskB = new Disk(); - diskB.SetFieldValue(DatItem.MachineKey, machineB); + diskB.Write(DatItem.MachineKey, machineB); romA.CopyMachineInformation(diskB); var actualMachineA = romA.GetMachine(); @@ -208,11 +208,11 @@ namespace SabreTools.Metadata.DatItems.Test { DatItem self = new Rom(); self.SetName(selfName); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + self.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); DatItem? other = new Rom(); other.SetName(otherName); - other.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + other.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); int actual = self.CompareTo(other); Assert.Equal(expected, actual); @@ -349,7 +349,7 @@ namespace SabreTools.Metadata.DatItems.Test Source source = new Source(0); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "Machine"); DatItem datItem = new Blank(); @@ -423,22 +423,22 @@ namespace SabreTools.Metadata.DatItems.Test Source source = new Source(0); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "Machine"); DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "BASE64"); + datItem.Write(Data.Models.Metadata.Rom.CRC16Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.CRC64Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.MD2Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.MD4Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.MD5Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA256Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA384Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA512Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SpamSumKey, "BASE64"); string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename); Assert.Equal(expected, actual); @@ -452,7 +452,7 @@ namespace SabreTools.Metadata.DatItems.Test public void GetName_NoNameKey_Null() { DatItem item = new TestDatItem(nameKey: null); - item.SetFieldValue(TestDatItemModel.NameKey, "name"); + item.Write(TestDatItemModel.NameKey, "name"); string? actual = item.GetName(); Assert.Null(actual); @@ -462,7 +462,7 @@ namespace SabreTools.Metadata.DatItems.Test public void GetName_EmptyNameKey_Null() { DatItem item = new TestDatItem(nameKey: string.Empty); - item.SetFieldValue(TestDatItemModel.NameKey, "name"); + item.Write(TestDatItemModel.NameKey, "name"); string? actual = item.GetName(); Assert.Null(actual); @@ -472,7 +472,7 @@ namespace SabreTools.Metadata.DatItems.Test public void GetName_NameKeyNotExists_Null() { DatItem item = new TestDatItem(nameKey: "INVALID"); - item.SetFieldValue(TestDatItemModel.NameKey, "name"); + item.Write(TestDatItemModel.NameKey, "name"); string? actual = item.GetName(); Assert.Null(actual); @@ -482,7 +482,7 @@ namespace SabreTools.Metadata.DatItems.Test public void GetName_NameKeyExists_Filled() { DatItem item = new TestDatItem(nameKey: TestDatItemModel.NameKey); - item.SetFieldValue(TestDatItemModel.NameKey, "name"); + item.Write(TestDatItemModel.NameKey, "name"); string? actual = item.GetName(); Assert.Equal("name", actual); diff --git a/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs index dc7261aa..63372540 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs @@ -14,7 +14,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test diskArea.SetName("XXXXXX"); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "XXXXXX"); Part part = new Part(); part.SetName("XXXXXX"); @@ -23,45 +23,45 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Disk disk = new Disk(); disk.SetName("XXXXXX"); - disk.SetFieldValue(Disk.DiskAreaKey, diskArea); - disk.SetFieldValue(Data.Models.Metadata.Disk.MergeKey, "XXXXXX"); - disk.SetFieldValue(Data.Models.Metadata.Disk.RegionKey, "XXXXXX"); - disk.SetFieldValue(Data.Models.Metadata.Disk.StatusKey, "good"); - disk.SetFieldValue(Data.Models.Metadata.Disk.OptionalKey, "XXXXXX"); - disk.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); - disk.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); - disk.SetFieldValue(DatItem.DupeTypeKey, DupeType.All | DupeType.External); - disk.SetFieldValue(DatItem.MachineKey, machine); - disk.SetFieldValue(Disk.PartKey, part); - disk.SetFieldValue(DatItem.RemoveKey, (bool?)false); - disk.SetFieldValue(DatItem.SourceKey, source); + disk.Write(Disk.DiskAreaKey, diskArea); + disk.Write(Data.Models.Metadata.Disk.MergeKey, "XXXXXX"); + disk.Write(Data.Models.Metadata.Disk.RegionKey, "XXXXXX"); + disk.Write(Data.Models.Metadata.Disk.StatusKey, "good"); + disk.Write(Data.Models.Metadata.Disk.OptionalKey, "XXXXXX"); + disk.Write(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); + disk.Write(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); + disk.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External); + disk.Write(DatItem.MachineKey, machine); + disk.Write(Disk.PartKey, part); + disk.Write(DatItem.RemoveKey, (bool?)false); + disk.Write(DatItem.SourceKey, source); Rom actual = disk.ConvertToRom(); Assert.Equal("XXXXXX.chd", actual.GetName()); - Assert.Equal("XXXXXX", actual.GetStringFieldValue(Data.Models.Metadata.Rom.MergeKey)); - Assert.Equal("XXXXXX", actual.GetStringFieldValue(Data.Models.Metadata.Rom.RegionKey)); - Assert.Equal("good", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey)); - Assert.Equal("XXXXXX", actual.GetStringFieldValue(Data.Models.Metadata.Rom.OptionalKey)); - Assert.Equal(HashType.MD5.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Equal(HashType.SHA1.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal(DupeType.All | DupeType.External, actual.GetFieldValue(DatItem.DupeTypeKey)); + Assert.Equal("XXXXXX", actual.ReadString(Data.Models.Metadata.Rom.MergeKey)); + Assert.Equal("XXXXXX", actual.ReadString(Data.Models.Metadata.Rom.RegionKey)); + Assert.Equal("good", actual.ReadString(Data.Models.Metadata.Rom.StatusKey)); + Assert.Equal("XXXXXX", actual.ReadString(Data.Models.Metadata.Rom.OptionalKey)); + Assert.Equal(HashType.MD5.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Equal(HashType.SHA1.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal(DupeType.All | DupeType.External, actual.Read(DatItem.DupeTypeKey)); - DataArea? actualDataArea = actual.GetFieldValue(Rom.DataAreaKey); + DataArea? actualDataArea = actual.Read(Rom.DataAreaKey); Assert.NotNull(actualDataArea); - Assert.Equal("XXXXXX", actualDataArea.GetStringFieldValue(Data.Models.Metadata.DataArea.NameKey)); + Assert.Equal("XXXXXX", actualDataArea.ReadString(Data.Models.Metadata.DataArea.NameKey)); Machine? actualMachine = actual.GetMachine(); Assert.NotNull(actualMachine); Assert.Equal("XXXXXX", actualMachine.GetName()); - Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey)); + Assert.Equal(false, actual.ReadBool(DatItem.RemoveKey)); - Part? actualPart = actual.GetFieldValue(Rom.PartKey); + Part? actualPart = actual.Read(Rom.PartKey); Assert.NotNull(actualPart); - Assert.Equal("XXXXXX", actualPart.GetStringFieldValue(Data.Models.Metadata.Part.NameKey)); + Assert.Equal("XXXXXX", actualPart.ReadString(Data.Models.Metadata.Part.NameKey)); - Source? actualSource = actual.GetFieldValue(DatItem.SourceKey); + Source? actualSource = actual.Read(DatItem.SourceKey); Assert.NotNull(actualSource); Assert.Equal(0, actualSource.Index); Assert.Equal("XXXXXX", actualSource.Name); @@ -79,8 +79,8 @@ namespace SabreTools.Metadata.DatItems.Formats.Test self.FillMissingInformation(other); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Disk.MD5Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Disk.SHA1Key)); } [Fact] @@ -89,13 +89,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Disk self = new Disk(); Disk other = new Disk(); - other.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Disk.MD5Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX"); self.FillMissingInformation(other); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Disk.MD5Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Disk.SHA1Key)); } #endregion @@ -114,8 +114,8 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_MD5_True() { Disk self = new Disk(); - self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Disk.MD5Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Disk.SHA1Key, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -125,8 +125,8 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA1_True() { Disk self = new Disk(); - self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Disk.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX"); bool actual = self.HasHashes(); Assert.True(actual); @@ -136,8 +136,8 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_All_True() { Disk self = new Disk(); - self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Disk.MD5Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX"); bool actual = self.HasHashes(); Assert.True(actual); @@ -159,8 +159,8 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_NonZeroHash_False() { Disk self = new Disk(); - self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "DEADBEEF"); - self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "DEADBEEF"); + self.Write(Data.Models.Metadata.Disk.MD5Key, "DEADBEEF"); + self.Write(Data.Models.Metadata.Disk.SHA1Key, "DEADBEEF"); bool actual = self.HasZeroHash(); Assert.False(actual); @@ -170,8 +170,8 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroMD5_True() { Disk self = new Disk(); - self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); + self.Write(Data.Models.Metadata.Disk.SHA1Key, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -181,8 +181,8 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA1_True() { Disk self = new Disk(); - self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); + self.Write(Data.Models.Metadata.Disk.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -192,8 +192,8 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroAll_True() { Disk self = new Disk(); - self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); + self.Write(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString); + self.Write(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -254,11 +254,11 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Source source = new Source(0); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "Machine"); DatItem datItem = new Disk(); - datItem.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Disk.MD5Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Disk.SHA1Key, "DEADBEEF"); string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename); Assert.Equal(expected, actual); diff --git a/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs index e59a60dd..d31ccce8 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs @@ -11,7 +11,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void ConvertToRomTest() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "XXXXXX"); Source source = new Source(0, "XXXXXX"); @@ -26,30 +26,30 @@ namespace SabreTools.Metadata.DatItems.Formats.Test SHA256 = "DEADBEEF", Format = "XXXXXX" }; - file.SetFieldValue(DatItem.DupeTypeKey, DupeType.All | DupeType.External); - file.SetFieldValue(DatItem.MachineKey, machine); - file.SetFieldValue(DatItem.RemoveKey, (bool?)false); - file.SetFieldValue(DatItem.SourceKey, source); - file.SetFieldValue(DatItem.MachineKey, machine); - file.SetFieldValue(DatItem.SourceKey, source); + file.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External); + file.Write(DatItem.MachineKey, machine); + file.Write(DatItem.RemoveKey, (bool?)false); + file.Write(DatItem.SourceKey, source); + file.Write(DatItem.MachineKey, machine); + file.Write(DatItem.SourceKey, source); Rom actual = file.ConvertToRom(); Assert.Equal("XXXXXX.XXXXXX", actual.GetName()); - Assert.Equal(12345, actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey)); - Assert.Equal("deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); - Assert.Equal("000000000000000000000000deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Equal("00000000000000000000000000000000deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("00000000000000000000000000000000000000000000000000000000deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Equal(DupeType.All | DupeType.External, actual.GetFieldValue(DatItem.DupeTypeKey)); + Assert.Equal(12345, actual.ReadLong(Data.Models.Metadata.Rom.SizeKey)); + Assert.Equal("deadbeef", actual.ReadString(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal("000000000000000000000000deadbeef", actual.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Equal("00000000000000000000000000000000deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("00000000000000000000000000000000000000000000000000000000deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Equal(DupeType.All | DupeType.External, actual.Read(DatItem.DupeTypeKey)); Machine? actualMachine = actual.GetMachine(); Assert.NotNull(actualMachine); Assert.Equal("XXXXXX", actualMachine.GetName()); - Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey)); + Assert.Equal(false, actual.ReadBool(DatItem.RemoveKey)); - Source? actualSource = actual.GetFieldValue(DatItem.SourceKey); + Source? actualSource = actual.Read(DatItem.SourceKey); Assert.NotNull(actualSource); Assert.Equal(0, actualSource.Index); Assert.Equal("XXXXXX", actualSource.Name); @@ -341,7 +341,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Source source = new Source(0); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "Machine"); DatItem datItem = new File { diff --git a/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs index 487c0100..d2636b5f 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs @@ -11,37 +11,37 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void ConvertToRomTest() { Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "XXXXXX"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "XXXXXX"); Source source = new Source(0, "XXXXXX"); Media media = new Media(); media.SetName("XXXXXX"); - media.SetFieldValue(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); - media.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); - media.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); - media.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); - media.SetFieldValue(DatItem.DupeTypeKey, DupeType.All | DupeType.External); - media.SetFieldValue(DatItem.MachineKey, machine); - media.SetFieldValue(DatItem.RemoveKey, (bool?)false); - media.SetFieldValue(DatItem.SourceKey, source); + media.Write(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); + media.Write(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); + media.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); + media.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); + media.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External); + media.Write(DatItem.MachineKey, machine); + media.Write(DatItem.RemoveKey, (bool?)false); + media.Write(DatItem.SourceKey, source); Rom actual = media.ConvertToRom(); Assert.Equal("XXXXXX.aaruf", actual.GetName()); - Assert.Equal(HashType.MD5.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Equal(HashType.SHA1.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal(HashType.SHA256.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Equal(HashType.SpamSum.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)); - Assert.Equal(DupeType.All | DupeType.External, actual.GetFieldValue(DatItem.DupeTypeKey)); + Assert.Equal(HashType.MD5.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Equal(HashType.SHA1.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal(HashType.SHA256.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Equal(HashType.SpamSum.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); + Assert.Equal(DupeType.All | DupeType.External, actual.Read(DatItem.DupeTypeKey)); Machine? actualMachine = actual.GetMachine(); Assert.NotNull(actualMachine); Assert.Equal("XXXXXX", actualMachine.GetName()); - Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey)); + Assert.Equal(false, actual.ReadBool(DatItem.RemoveKey)); - Source? actualSource = actual.GetFieldValue(DatItem.SourceKey); + Source? actualSource = actual.Read(DatItem.SourceKey); Assert.NotNull(actualSource); Assert.Equal(0, actualSource.Index); Assert.Equal("XXXXXX", actualSource.Name); @@ -59,10 +59,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test self.FillMissingInformation(other); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey)); + Assert.Null(self.ReadString(Data.Models.Metadata.Media.MD5Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Media.SHA1Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Media.SHA256Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Media.SpamSumKey)); } [Fact] @@ -71,17 +71,17 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Media self = new Media(); Media other = new Media(); - other.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); + other.Write(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); self.FillMissingInformation(other); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Media.MD5Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Media.SHA1Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Media.SHA256Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Media.SpamSumKey)); } #endregion @@ -100,10 +100,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_MD5_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -113,10 +113,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA1_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -126,10 +126,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA256_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -139,10 +139,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SpamSum_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); bool actual = self.HasHashes(); Assert.True(actual); @@ -152,10 +152,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_All_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); bool actual = self.HasHashes(); Assert.True(actual); @@ -177,10 +177,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_NonZeroHash_False() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); bool actual = self.HasZeroHash(); Assert.False(actual); @@ -190,10 +190,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroMD5_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); + self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -203,10 +203,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA1_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); + self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -216,10 +216,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA256_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); + self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -229,10 +229,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSpamSum_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); + self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -242,10 +242,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroAll_True() { Media self = new Media(); - self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); + self.Write(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); + self.Write(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); + self.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); + self.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -306,13 +306,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Source source = new Source(0); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "Machine"); DatItem datItem = new Media(); - datItem.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Media.MD5Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Media.SHA1Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Media.SHA256Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Media.SpamSumKey, "DEADBEEF"); string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename); Assert.Equal(expected, actual); diff --git a/SabreTools.Metadata.DatItems.Test/Formats/RomTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/RomTests.cs index 39dceac3..704fb1a0 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/RomTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/RomTests.cs @@ -15,19 +15,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test self.FillMissingInformation(other); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.CRC16Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.CRCKey)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.CRC64Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.MD2Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.MD4Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.SHA384Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.SHA512Key)); + Assert.Null(self.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); } [Fact] @@ -36,35 +36,35 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Rom self = new Rom(); Rom other = new Rom(); - other.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX"); - other.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.CRC16Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.CRCKey, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.CRC64Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.MD2Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.MD4Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.MD5Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX"); + other.Write(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX"); self.FillMissingInformation(other); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key)); - Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.CRC16Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.CRCKey)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.CRC64Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.MD2Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.MD4Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.MD5Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.RIPEMD128Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.RIPEMD160Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.SHA256Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.SHA384Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.SHA512Key)); + Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Rom.SpamSumKey)); } #endregion @@ -83,19 +83,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_CRC16_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -105,19 +105,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_CRC_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -127,19 +127,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_CRC64_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -149,19 +149,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_MD2_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -171,19 +171,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_MD4_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -193,19 +193,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_MD5_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -215,19 +215,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_RIPEMD128_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -237,19 +237,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_RIPEMD160_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -259,19 +259,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA1_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -281,19 +281,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA256_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -303,19 +303,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA384_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -325,19 +325,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA512_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasHashes(); Assert.True(actual); @@ -347,19 +347,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SpamSum_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX"); bool actual = self.HasHashes(); Assert.True(actual); @@ -369,19 +369,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_All_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRC16Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRCKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRC64Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD2Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD4Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD5Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX"); bool actual = self.HasHashes(); Assert.True(actual); @@ -403,19 +403,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_NonZeroHash_False() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX"); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRC16Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRCKey, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.CRC64Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD2Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD4Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.MD5Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX"); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX"); bool actual = self.HasZeroHash(); Assert.False(actual); @@ -425,19 +425,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroCRC16_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, HashType.CRC16.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, HashType.CRC16.ZeroString); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -447,19 +447,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroCRC_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -469,19 +469,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroCRC64_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, HashType.CRC64.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, HashType.CRC64.ZeroString); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -491,19 +491,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroMD2_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, HashType.MD2.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, HashType.MD2.ZeroString); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -513,19 +513,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroMD4_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, HashType.MD4.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, HashType.MD4.ZeroString); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -535,19 +535,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroMD5_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -557,19 +557,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroRIPEMD128_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, HashType.RIPEMD128.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, HashType.RIPEMD128.ZeroString); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -579,19 +579,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroRIPEMD160_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, HashType.RIPEMD160.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, HashType.RIPEMD160.ZeroString); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -601,19 +601,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA1_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -623,19 +623,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA256_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, HashType.SHA256.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, HashType.SHA256.ZeroString); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -645,19 +645,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA384_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, HashType.SHA384.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, HashType.SHA384.ZeroString); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -667,19 +667,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA512_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, HashType.SHA512.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, HashType.SHA512.ZeroString); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, string.Empty); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -689,19 +689,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSpamSum_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, HashType.SpamSum.ZeroString); + self.Write(Data.Models.Metadata.Rom.CRC16Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRCKey, string.Empty); + self.Write(Data.Models.Metadata.Rom.CRC64Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD2Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD4Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.MD5Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA1Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA256Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA384Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SHA512Key, string.Empty); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, HashType.SpamSum.ZeroString); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -711,19 +711,19 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroAll_True() { Rom self = new Rom(); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, HashType.CRC16.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, HashType.CRC64.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, HashType.MD2.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, HashType.MD4.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, HashType.RIPEMD128.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, HashType.RIPEMD160.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, HashType.SHA256.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, HashType.SHA384.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, HashType.SHA512.ZeroString); - self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, HashType.SpamSum.ZeroString); + self.Write(Data.Models.Metadata.Rom.CRC16Key, HashType.CRC16.ZeroString); + self.Write(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString); + self.Write(Data.Models.Metadata.Rom.CRC64Key, HashType.CRC64.ZeroString); + self.Write(Data.Models.Metadata.Rom.MD2Key, HashType.MD2.ZeroString); + self.Write(Data.Models.Metadata.Rom.MD4Key, HashType.MD4.ZeroString); + self.Write(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString); + self.Write(Data.Models.Metadata.Rom.RIPEMD128Key, HashType.RIPEMD128.ZeroString); + self.Write(Data.Models.Metadata.Rom.RIPEMD160Key, HashType.RIPEMD160.ZeroString); + self.Write(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString); + self.Write(Data.Models.Metadata.Rom.SHA256Key, HashType.SHA256.ZeroString); + self.Write(Data.Models.Metadata.Rom.SHA384Key, HashType.SHA384.ZeroString); + self.Write(Data.Models.Metadata.Rom.SHA512Key, HashType.SHA512.ZeroString); + self.Write(Data.Models.Metadata.Rom.SpamSumKey, HashType.SpamSum.ZeroString); bool actual = self.HasZeroHash(); Assert.True(actual); @@ -800,22 +800,22 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Source source = new Source(0); Machine machine = new Machine(); - machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine"); + machine.Write(Data.Models.Metadata.Machine.NameKey, "Machine"); DatItem datItem = new Rom(); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "DEADBEEF"); - datItem.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.CRC16Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.CRC64Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.MD2Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.MD4Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.MD5Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.RIPEMD128Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.RIPEMD160Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA1Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA256Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA384Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SHA512Key, "DEADBEEF"); + datItem.Write(Data.Models.Metadata.Rom.SpamSumKey, "DEADBEEF"); string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename); Assert.Equal(expected, actual); diff --git a/SabreTools.Metadata.DatItems.Test/MachineTests.cs b/SabreTools.Metadata.DatItems.Test/MachineTests.cs index 7bdb5904..aced0ad8 100644 --- a/SabreTools.Metadata.DatItems.Test/MachineTests.cs +++ b/SabreTools.Metadata.DatItems.Test/MachineTests.cs @@ -10,7 +10,7 @@ namespace SabreTools.Metadata.DatItems.Test public void CloneTest() { Machine item = new Machine(); - item.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "name"); + item.Write(Data.Models.Metadata.Machine.NameKey, "name"); object clone = item.Clone(); Machine? actual = clone as Machine; @@ -26,7 +26,7 @@ namespace SabreTools.Metadata.DatItems.Test public void GetInternalCloneTest() { Machine item = new Machine(); - item.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "name"); + item.Write(Data.Models.Metadata.Machine.NameKey, "name"); Data.Models.Metadata.Machine actual = item.GetInternalClone(); Assert.Equal("name", actual[Data.Models.Metadata.Machine.NameKey]); @@ -60,10 +60,10 @@ namespace SabreTools.Metadata.DatItems.Test public void Equals_MismatchedInternal_False() { Machine self = new Machine(); - self.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "self"); + self.Write(Data.Models.Metadata.Machine.NameKey, "self"); Machine? other = new Machine(); - other.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "other"); + other.Write(Data.Models.Metadata.Machine.NameKey, "other"); bool actual = self.Equals(other); Assert.False(actual); @@ -73,10 +73,10 @@ namespace SabreTools.Metadata.DatItems.Test public void Equals_EqualInternal_True() { Machine self = new Machine(); - self.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "name"); + self.Write(Data.Models.Metadata.Machine.NameKey, "name"); Machine? other = new Machine(); - other.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "name"); + other.Write(Data.Models.Metadata.Machine.NameKey, "name"); bool actual = self.Equals(other); Assert.True(actual); diff --git a/SabreTools.Metadata.DatItems/DatItem.cs b/SabreTools.Metadata.DatItems/DatItem.cs index ae93a271..f249adce 100644 --- a/SabreTools.Metadata.DatItems/DatItem.cs +++ b/SabreTools.Metadata.DatItems/DatItem.cs @@ -152,7 +152,7 @@ namespace SabreTools.Metadata.DatItems return; if (machine.Clone() is Machine cloned) - SetFieldValue(MachineKey, cloned); + Write(MachineKey, cloned); } #endregion @@ -221,8 +221,8 @@ namespace SabreTools.Metadata.DatItems return false; // Get the types for comparison - ItemType selfType = GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); - ItemType otherType = other.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + ItemType selfType = ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + ItemType otherType = other.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); // If we don't have a matched type, return false if (selfType != otherType) diff --git a/SabreTools.Metadata.DatItems/DatItemT.cs b/SabreTools.Metadata.DatItems/DatItemT.cs index 5b72964e..fbc0e596 100644 --- a/SabreTools.Metadata.DatItems/DatItemT.cs +++ b/SabreTools.Metadata.DatItems/DatItemT.cs @@ -18,8 +18,8 @@ namespace SabreTools.Metadata.DatItems _internal = Activator.CreateInstance(); SetName(string.Empty); - SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, ItemType); - SetFieldValue(MachineKey, new Machine()); + Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); + Write(MachineKey, new Machine()); } /// @@ -29,8 +29,8 @@ namespace SabreTools.Metadata.DatItems { _internal = item; - SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, ItemType); - SetFieldValue(MachineKey, new Machine()); + Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); + Write(MachineKey, new Machine()); } #endregion @@ -96,8 +96,8 @@ namespace SabreTools.Metadata.DatItems return false; // Get the types for comparison - ItemType selfType = GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); - ItemType otherType = other.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + ItemType selfType = ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); + ItemType otherType = other.ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType(); // If we don't have a matched type, return false if (selfType != otherType) diff --git a/SabreTools.Metadata.DatItems/Formats/Adjuster.cs b/SabreTools.Metadata.DatItems/Formats/Adjuster.cs index b41bdf91..5d273141 100644 --- a/SabreTools.Metadata.DatItems/Formats/Adjuster.cs +++ b/SabreTools.Metadata.DatItems/Formats/Adjuster.cs @@ -19,7 +19,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var conditions = GetFieldValue(Data.Models.Metadata.Adjuster.ConditionKey); + var conditions = Read(Data.Models.Metadata.Adjuster.ConditionKey); return conditions is not null && conditions.Length > 0; } } @@ -33,18 +33,18 @@ namespace SabreTools.Metadata.DatItems.Formats public Adjuster(Data.Models.Metadata.Adjuster item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.Adjuster.DefaultKey) is not null) - SetFieldValue(Data.Models.Metadata.Adjuster.DefaultKey, GetBoolFieldValue(Data.Models.Metadata.Adjuster.DefaultKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Adjuster.DefaultKey) is not null) + Write(Data.Models.Metadata.Adjuster.DefaultKey, ReadBool(Data.Models.Metadata.Adjuster.DefaultKey).FromYesNo()); // Handle subitems var condition = item.Read(Data.Models.Metadata.Adjuster.ConditionKey); if (condition is not null) - SetFieldValue(Data.Models.Metadata.Adjuster.ConditionKey, new Condition(condition)); + Write(Data.Models.Metadata.Adjuster.ConditionKey, new Condition(condition)); } public Adjuster(Data.Models.Metadata.Adjuster item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -57,7 +57,7 @@ namespace SabreTools.Metadata.DatItems.Formats { var adjusterItem = base.GetInternalClone(); - var condition = GetFieldValue(Data.Models.Metadata.Adjuster.ConditionKey); + var condition = Read(Data.Models.Metadata.Adjuster.ConditionKey); if (condition is not null) adjusterItem[Data.Models.Metadata.Adjuster.ConditionKey] = condition.GetInternalClone(); diff --git a/SabreTools.Metadata.DatItems/Formats/Analog.cs b/SabreTools.Metadata.DatItems/Formats/Analog.cs index 5c110660..fd1ee3fa 100644 --- a/SabreTools.Metadata.DatItems/Formats/Analog.cs +++ b/SabreTools.Metadata.DatItems/Formats/Analog.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatItems.Formats public Analog(Data.Models.Metadata.Analog item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Archive.cs b/SabreTools.Metadata.DatItems/Formats/Archive.cs index e8398538..df1c1321 100644 --- a/SabreTools.Metadata.DatItems/Formats/Archive.cs +++ b/SabreTools.Metadata.DatItems/Formats/Archive.cs @@ -91,7 +91,7 @@ namespace SabreTools.Metadata.DatItems.Formats public Archive(Data.Models.Metadata.Archive item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/BiosSet.cs b/SabreTools.Metadata.DatItems/Formats/BiosSet.cs index 740fa16d..50ddfa6f 100644 --- a/SabreTools.Metadata.DatItems/Formats/BiosSet.cs +++ b/SabreTools.Metadata.DatItems/Formats/BiosSet.cs @@ -23,13 +23,13 @@ namespace SabreTools.Metadata.DatItems.Formats public BiosSet(Data.Models.Metadata.BiosSet item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.BiosSet.DefaultKey) is not null) - SetFieldValue(Data.Models.Metadata.BiosSet.DefaultKey, GetBoolFieldValue(Data.Models.Metadata.BiosSet.DefaultKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.BiosSet.DefaultKey) is not null) + Write(Data.Models.Metadata.BiosSet.DefaultKey, ReadBool(Data.Models.Metadata.BiosSet.DefaultKey).FromYesNo()); } public BiosSet(Data.Models.Metadata.BiosSet item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Blank.cs b/SabreTools.Metadata.DatItems/Formats/Blank.cs index f05c8522..a5d53525 100644 --- a/SabreTools.Metadata.DatItems/Formats/Blank.cs +++ b/SabreTools.Metadata.DatItems/Formats/Blank.cs @@ -23,7 +23,7 @@ namespace SabreTools.Metadata.DatItems.Formats /// public Blank() { - SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, ItemType); + Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); } #endregion @@ -34,10 +34,10 @@ namespace SabreTools.Metadata.DatItems.Formats public override object Clone() { var blank = new Blank(); - blank.SetFieldValue(MachineKey, GetMachine()); - blank.SetFieldValue(RemoveKey, GetBoolFieldValue(RemoveKey)); - blank.SetFieldValue(SourceKey, GetFieldValue(SourceKey)); - blank.SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); + blank.Write(MachineKey, GetMachine()); + blank.Write(RemoveKey, ReadBool(RemoveKey)); + blank.Write(SourceKey, Read(SourceKey)); + blank.Write(Data.Models.Metadata.DatItem.TypeKey, ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); return blank; } @@ -80,7 +80,7 @@ namespace SabreTools.Metadata.DatItems.Formats public override bool Equals(DatItem? other) { // If we don't have a blank, return false - if (GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) != other?.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey)) + if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey)) return false; // Otherwise, treat it as a Blank diff --git a/SabreTools.Metadata.DatItems/Formats/Chip.cs b/SabreTools.Metadata.DatItems/Formats/Chip.cs index 3b2bb106..f5eb2391 100644 --- a/SabreTools.Metadata.DatItems/Formats/Chip.cs +++ b/SabreTools.Metadata.DatItems/Formats/Chip.cs @@ -23,15 +23,15 @@ namespace SabreTools.Metadata.DatItems.Formats public Chip(Data.Models.Metadata.Chip item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.Chip.SoundOnlyKey) is not null) - SetFieldValue(Data.Models.Metadata.Chip.SoundOnlyKey, GetBoolFieldValue(Data.Models.Metadata.Chip.SoundOnlyKey).FromYesNo()); - if (GetStringFieldValue(Data.Models.Metadata.Chip.ChipTypeKey) is not null) - SetFieldValue(Data.Models.Metadata.Chip.ChipTypeKey, GetStringFieldValue(Data.Models.Metadata.Chip.ChipTypeKey).AsChipType().AsStringValue()); + if (ReadBool(Data.Models.Metadata.Chip.SoundOnlyKey) is not null) + Write(Data.Models.Metadata.Chip.SoundOnlyKey, ReadBool(Data.Models.Metadata.Chip.SoundOnlyKey).FromYesNo()); + if (ReadString(Data.Models.Metadata.Chip.ChipTypeKey) is not null) + Write(Data.Models.Metadata.Chip.ChipTypeKey, ReadString(Data.Models.Metadata.Chip.ChipTypeKey).AsChipType().AsStringValue()); } public Chip(Data.Models.Metadata.Chip item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Condition.cs b/SabreTools.Metadata.DatItems/Formats/Condition.cs index 41f3a993..377a5576 100644 --- a/SabreTools.Metadata.DatItems/Formats/Condition.cs +++ b/SabreTools.Metadata.DatItems/Formats/Condition.cs @@ -23,13 +23,13 @@ namespace SabreTools.Metadata.DatItems.Formats public Condition(Data.Models.Metadata.Condition item) : base(item) { // Process flag values - if (GetStringFieldValue(Data.Models.Metadata.Condition.RelationKey) is not null) - SetFieldValue(Data.Models.Metadata.Condition.RelationKey, GetStringFieldValue(Data.Models.Metadata.Condition.RelationKey).AsRelation().AsStringValue()); + if (ReadString(Data.Models.Metadata.Condition.RelationKey) is not null) + Write(Data.Models.Metadata.Condition.RelationKey, ReadString(Data.Models.Metadata.Condition.RelationKey).AsRelation().AsStringValue()); } public Condition(Data.Models.Metadata.Condition item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs b/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs index 35c895f1..55d1d302 100644 --- a/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs +++ b/SabreTools.Metadata.DatItems/Formats/ConfLocation.cs @@ -23,13 +23,13 @@ namespace SabreTools.Metadata.DatItems.Formats public ConfLocation(Data.Models.Metadata.ConfLocation item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.ConfLocation.InvertedKey) is not null) - SetFieldValue(Data.Models.Metadata.ConfLocation.InvertedKey, GetBoolFieldValue(Data.Models.Metadata.ConfLocation.InvertedKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.ConfLocation.InvertedKey) is not null) + Write(Data.Models.Metadata.ConfLocation.InvertedKey, ReadBool(Data.Models.Metadata.ConfLocation.InvertedKey).FromYesNo()); } public ConfLocation(Data.Models.Metadata.ConfLocation item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/ConfSetting.cs b/SabreTools.Metadata.DatItems/Formats/ConfSetting.cs index 485e8e60..619ca965 100644 --- a/SabreTools.Metadata.DatItems/Formats/ConfSetting.cs +++ b/SabreTools.Metadata.DatItems/Formats/ConfSetting.cs @@ -19,7 +19,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var conditions = GetFieldValue(Data.Models.Metadata.ConfSetting.ConditionKey); + var conditions = Read(Data.Models.Metadata.ConfSetting.ConditionKey); return conditions is not null && conditions.Length > 0; } } @@ -33,18 +33,18 @@ namespace SabreTools.Metadata.DatItems.Formats public ConfSetting(Data.Models.Metadata.ConfSetting item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.ConfSetting.DefaultKey) is not null) - SetFieldValue(Data.Models.Metadata.ConfSetting.DefaultKey, GetBoolFieldValue(Data.Models.Metadata.ConfSetting.DefaultKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.ConfSetting.DefaultKey) is not null) + Write(Data.Models.Metadata.ConfSetting.DefaultKey, ReadBool(Data.Models.Metadata.ConfSetting.DefaultKey).FromYesNo()); // Handle subitems - var condition = GetFieldValue(Data.Models.Metadata.ConfSetting.ConditionKey); + var condition = Read(Data.Models.Metadata.ConfSetting.ConditionKey); if (condition is not null) - SetFieldValue(Data.Models.Metadata.ConfSetting.ConditionKey, new Condition(condition)); + Write(Data.Models.Metadata.ConfSetting.ConditionKey, new Condition(condition)); } public ConfSetting(Data.Models.Metadata.ConfSetting item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -58,7 +58,7 @@ namespace SabreTools.Metadata.DatItems.Formats var confSettingItem = base.GetInternalClone(); // Handle subitems - var condition = GetFieldValue(Data.Models.Metadata.ConfSetting.ConditionKey); + var condition = Read(Data.Models.Metadata.ConfSetting.ConditionKey); if (condition is not null) confSettingItem[Data.Models.Metadata.ConfSetting.ConditionKey] = condition.GetInternalClone(); diff --git a/SabreTools.Metadata.DatItems/Formats/Configuration.cs b/SabreTools.Metadata.DatItems/Formats/Configuration.cs index 5808a0a7..192fca3d 100644 --- a/SabreTools.Metadata.DatItems/Formats/Configuration.cs +++ b/SabreTools.Metadata.DatItems/Formats/Configuration.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var conditions = GetFieldValue(Data.Models.Metadata.Configuration.ConditionKey); + var conditions = Read(Data.Models.Metadata.Configuration.ConditionKey); return conditions is not null && conditions.Length > 0; } } @@ -31,7 +31,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var locations = GetFieldValue(Data.Models.Metadata.Configuration.ConfLocationKey); + var locations = Read(Data.Models.Metadata.Configuration.ConfLocationKey); return locations is not null && locations.Length > 0; } } @@ -41,7 +41,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var settings = GetFieldValue(Data.Models.Metadata.Configuration.ConfSettingKey); + var settings = Read(Data.Models.Metadata.Configuration.ConfSettingKey); return settings is not null && settings.Length > 0; } } @@ -57,26 +57,26 @@ namespace SabreTools.Metadata.DatItems.Formats // Handle subitems var condition = item.Read(Data.Models.Metadata.Configuration.ConditionKey); if (condition is not null) - SetFieldValue(Data.Models.Metadata.Configuration.ConditionKey, new Condition(condition)); + Write(Data.Models.Metadata.Configuration.ConditionKey, new Condition(condition)); var confLocations = item.ReadItemArray(Data.Models.Metadata.Configuration.ConfLocationKey); if (confLocations is not null) { ConfLocation[] confLocationItems = Array.ConvertAll(confLocations, confLocation => new ConfLocation(confLocation)); - SetFieldValue(Data.Models.Metadata.Configuration.ConfLocationKey, confLocationItems); + Write(Data.Models.Metadata.Configuration.ConfLocationKey, confLocationItems); } var confSettings = item.ReadItemArray(Data.Models.Metadata.Configuration.ConfSettingKey); if (confSettings is not null) { ConfSetting[] confSettingItems = Array.ConvertAll(confSettings, confSetting => new ConfSetting(confSetting)); - SetFieldValue(Data.Models.Metadata.Configuration.ConfSettingKey, confSettingItems); + Write(Data.Models.Metadata.Configuration.ConfSettingKey, confSettingItems); } } public Configuration(Data.Models.Metadata.Configuration item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -89,18 +89,18 @@ namespace SabreTools.Metadata.DatItems.Formats { var configurationItem = base.GetInternalClone(); - var condition = GetFieldValue(Data.Models.Metadata.Configuration.ConditionKey); + var condition = Read(Data.Models.Metadata.Configuration.ConditionKey); if (condition is not null) configurationItem[Data.Models.Metadata.Configuration.ConditionKey] = condition.GetInternalClone(); - var confLocations = GetFieldValue(Data.Models.Metadata.Configuration.ConfLocationKey); + var confLocations = Read(Data.Models.Metadata.Configuration.ConfLocationKey); if (confLocations is not null) { Data.Models.Metadata.ConfLocation[] confLocationItems = Array.ConvertAll(confLocations, confLocation => confLocation.GetInternalClone()); configurationItem[Data.Models.Metadata.Configuration.ConfLocationKey] = confLocationItems; } - var confSettings = GetFieldValue(Data.Models.Metadata.Configuration.ConfSettingKey); + var confSettings = Read(Data.Models.Metadata.Configuration.ConfSettingKey); if (confSettings is not null) { Data.Models.Metadata.ConfSetting[] confSettingItems = Array.ConvertAll(confSettings, confSetting => confSetting.GetInternalClone()); diff --git a/SabreTools.Metadata.DatItems/Formats/Control.cs b/SabreTools.Metadata.DatItems/Formats/Control.cs index 7177df7e..def23baf 100644 --- a/SabreTools.Metadata.DatItems/Formats/Control.cs +++ b/SabreTools.Metadata.DatItems/Formats/Control.cs @@ -23,29 +23,29 @@ namespace SabreTools.Metadata.DatItems.Formats public Control(Data.Models.Metadata.Control item) : base(item) { // Process flag values - if (GetInt64FieldValue(Data.Models.Metadata.Control.ButtonsKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.ButtonsKey, GetInt64FieldValue(Data.Models.Metadata.Control.ButtonsKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Control.KeyDeltaKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.KeyDeltaKey, GetInt64FieldValue(Data.Models.Metadata.Control.KeyDeltaKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Control.MaximumKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.MaximumKey, GetInt64FieldValue(Data.Models.Metadata.Control.MaximumKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Control.MinimumKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.MinimumKey, GetInt64FieldValue(Data.Models.Metadata.Control.MinimumKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Control.PlayerKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.PlayerKey, GetInt64FieldValue(Data.Models.Metadata.Control.PlayerKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Control.ReqButtonsKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.ReqButtonsKey, GetInt64FieldValue(Data.Models.Metadata.Control.ReqButtonsKey).ToString()); - if (GetBoolFieldValue(Data.Models.Metadata.Control.ReverseKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.ReverseKey, GetBoolFieldValue(Data.Models.Metadata.Control.ReverseKey).FromYesNo()); - if (GetInt64FieldValue(Data.Models.Metadata.Control.SensitivityKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.SensitivityKey, GetInt64FieldValue(Data.Models.Metadata.Control.SensitivityKey).ToString()); - if (GetStringFieldValue(Data.Models.Metadata.Control.ControlTypeKey) is not null) - SetFieldValue(Data.Models.Metadata.Control.ControlTypeKey, GetStringFieldValue(Data.Models.Metadata.Control.ControlTypeKey).AsControlType().AsStringValue()); + if (ReadLong(Data.Models.Metadata.Control.ButtonsKey) is not null) + Write(Data.Models.Metadata.Control.ButtonsKey, ReadLong(Data.Models.Metadata.Control.ButtonsKey).ToString()); + if (ReadLong(Data.Models.Metadata.Control.KeyDeltaKey) is not null) + Write(Data.Models.Metadata.Control.KeyDeltaKey, ReadLong(Data.Models.Metadata.Control.KeyDeltaKey).ToString()); + if (ReadLong(Data.Models.Metadata.Control.MaximumKey) is not null) + Write(Data.Models.Metadata.Control.MaximumKey, ReadLong(Data.Models.Metadata.Control.MaximumKey).ToString()); + if (ReadLong(Data.Models.Metadata.Control.MinimumKey) is not null) + Write(Data.Models.Metadata.Control.MinimumKey, ReadLong(Data.Models.Metadata.Control.MinimumKey).ToString()); + if (ReadLong(Data.Models.Metadata.Control.PlayerKey) is not null) + Write(Data.Models.Metadata.Control.PlayerKey, ReadLong(Data.Models.Metadata.Control.PlayerKey).ToString()); + if (ReadLong(Data.Models.Metadata.Control.ReqButtonsKey) is not null) + Write(Data.Models.Metadata.Control.ReqButtonsKey, ReadLong(Data.Models.Metadata.Control.ReqButtonsKey).ToString()); + if (ReadBool(Data.Models.Metadata.Control.ReverseKey) is not null) + Write(Data.Models.Metadata.Control.ReverseKey, ReadBool(Data.Models.Metadata.Control.ReverseKey).FromYesNo()); + if (ReadLong(Data.Models.Metadata.Control.SensitivityKey) is not null) + Write(Data.Models.Metadata.Control.SensitivityKey, ReadLong(Data.Models.Metadata.Control.SensitivityKey).ToString()); + if (ReadString(Data.Models.Metadata.Control.ControlTypeKey) is not null) + Write(Data.Models.Metadata.Control.ControlTypeKey, ReadString(Data.Models.Metadata.Control.ControlTypeKey).AsControlType().AsStringValue()); } public Control(Data.Models.Metadata.Control item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/DataArea.cs b/SabreTools.Metadata.DatItems/Formats/DataArea.cs index 1d0adfa0..1a7d5e9f 100644 --- a/SabreTools.Metadata.DatItems/Formats/DataArea.cs +++ b/SabreTools.Metadata.DatItems/Formats/DataArea.cs @@ -24,17 +24,17 @@ namespace SabreTools.Metadata.DatItems.Formats public DataArea(Data.Models.Metadata.DataArea item) : base(item) { // Process flag values - if (GetStringFieldValue(Data.Models.Metadata.DataArea.EndiannessKey) is not null) - SetFieldValue(Data.Models.Metadata.DataArea.EndiannessKey, GetStringFieldValue(Data.Models.Metadata.DataArea.EndiannessKey).AsEndianness().AsStringValue()); - if (GetInt64FieldValue(Data.Models.Metadata.DataArea.SizeKey) is not null) - SetFieldValue(Data.Models.Metadata.DataArea.SizeKey, GetInt64FieldValue(Data.Models.Metadata.DataArea.SizeKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.DataArea.WidthKey) is not null) - SetFieldValue(Data.Models.Metadata.DataArea.WidthKey, GetInt64FieldValue(Data.Models.Metadata.DataArea.WidthKey).ToString()); + if (ReadString(Data.Models.Metadata.DataArea.EndiannessKey) is not null) + Write(Data.Models.Metadata.DataArea.EndiannessKey, ReadString(Data.Models.Metadata.DataArea.EndiannessKey).AsEndianness().AsStringValue()); + if (ReadLong(Data.Models.Metadata.DataArea.SizeKey) is not null) + Write(Data.Models.Metadata.DataArea.SizeKey, ReadLong(Data.Models.Metadata.DataArea.SizeKey).ToString()); + if (ReadLong(Data.Models.Metadata.DataArea.WidthKey) is not null) + Write(Data.Models.Metadata.DataArea.WidthKey, ReadLong(Data.Models.Metadata.DataArea.WidthKey).ToString()); } public DataArea(Data.Models.Metadata.DataArea item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Device.cs b/SabreTools.Metadata.DatItems/Formats/Device.cs index 0fbecdc9..d1923e96 100644 --- a/SabreTools.Metadata.DatItems/Formats/Device.cs +++ b/SabreTools.Metadata.DatItems/Formats/Device.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var instances = GetFieldValue(Data.Models.Metadata.Device.InstanceKey); + var instances = Read(Data.Models.Metadata.Device.InstanceKey); return instances is not null && instances.Length > 0; } } @@ -31,7 +31,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var extensions = GetFieldValue(Data.Models.Metadata.Device.ExtensionKey); + var extensions = Read(Data.Models.Metadata.Device.ExtensionKey); return extensions is not null && extensions.Length > 0; } } @@ -45,27 +45,27 @@ namespace SabreTools.Metadata.DatItems.Formats public Device(Data.Models.Metadata.Device item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.Device.MandatoryKey) is not null) - SetFieldValue(Data.Models.Metadata.Device.MandatoryKey, GetBoolFieldValue(Data.Models.Metadata.Device.MandatoryKey).FromYesNo()); - if (GetStringFieldValue(Data.Models.Metadata.Device.DeviceTypeKey) is not null) - SetFieldValue(Data.Models.Metadata.Device.DeviceTypeKey, GetStringFieldValue(Data.Models.Metadata.Device.DeviceTypeKey).AsDeviceType().AsStringValue()); + if (ReadBool(Data.Models.Metadata.Device.MandatoryKey) is not null) + Write(Data.Models.Metadata.Device.MandatoryKey, ReadBool(Data.Models.Metadata.Device.MandatoryKey).FromYesNo()); + if (ReadString(Data.Models.Metadata.Device.DeviceTypeKey) is not null) + Write(Data.Models.Metadata.Device.DeviceTypeKey, ReadString(Data.Models.Metadata.Device.DeviceTypeKey).AsDeviceType().AsStringValue()); // Handle subitems var instance = item.Read(Data.Models.Metadata.Device.InstanceKey); if (instance is not null) - SetFieldValue(Data.Models.Metadata.Device.InstanceKey, new Instance(instance)); + Write(Data.Models.Metadata.Device.InstanceKey, new Instance(instance)); var extensions = item.ReadItemArray(Data.Models.Metadata.Device.ExtensionKey); if (extensions is not null) { Extension[] extensionItems = Array.ConvertAll(extensions, extension => new Extension(extension)); - SetFieldValue(Data.Models.Metadata.Device.ExtensionKey, extensionItems); + Write(Data.Models.Metadata.Device.ExtensionKey, extensionItems); } } public Device(Data.Models.Metadata.Device item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -78,11 +78,11 @@ namespace SabreTools.Metadata.DatItems.Formats { var deviceItem = base.GetInternalClone(); - var instance = GetFieldValue(Data.Models.Metadata.Device.InstanceKey); + var instance = Read(Data.Models.Metadata.Device.InstanceKey); if (instance is not null) deviceItem[Data.Models.Metadata.Device.InstanceKey] = instance.GetInternalClone(); - var extensions = GetFieldValue(Data.Models.Metadata.Device.ExtensionKey); + var extensions = Read(Data.Models.Metadata.Device.ExtensionKey); if (extensions is not null) { Data.Models.Metadata.Extension[] extensionItems = Array.ConvertAll(extensions, extension => extension.GetInternalClone()); diff --git a/SabreTools.Metadata.DatItems/Formats/DeviceRef.cs b/SabreTools.Metadata.DatItems/Formats/DeviceRef.cs index b1155cfd..071dd5be 100644 --- a/SabreTools.Metadata.DatItems/Formats/DeviceRef.cs +++ b/SabreTools.Metadata.DatItems/Formats/DeviceRef.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatItems.Formats public DeviceRef(Data.Models.Metadata.DeviceRef item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/DipLocation.cs b/SabreTools.Metadata.DatItems/Formats/DipLocation.cs index b1158abe..9d69049c 100644 --- a/SabreTools.Metadata.DatItems/Formats/DipLocation.cs +++ b/SabreTools.Metadata.DatItems/Formats/DipLocation.cs @@ -23,13 +23,13 @@ namespace SabreTools.Metadata.DatItems.Formats public DipLocation(Data.Models.Metadata.DipLocation item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.DipLocation.InvertedKey) is not null) - SetFieldValue(Data.Models.Metadata.DipLocation.InvertedKey, GetBoolFieldValue(Data.Models.Metadata.DipLocation.InvertedKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.DipLocation.InvertedKey) is not null) + Write(Data.Models.Metadata.DipLocation.InvertedKey, ReadBool(Data.Models.Metadata.DipLocation.InvertedKey).FromYesNo()); } public DipLocation(Data.Models.Metadata.DipLocation item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs b/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs index 5686713d..66941858 100644 --- a/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs +++ b/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs @@ -30,7 +30,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var conditions = GetFieldValue(Data.Models.Metadata.DipSwitch.ConditionKey); + var conditions = Read(Data.Models.Metadata.DipSwitch.ConditionKey); return conditions is not null && conditions.Length > 0; } } @@ -40,7 +40,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var locations = GetFieldValue(Data.Models.Metadata.DipSwitch.DipLocationKey); + var locations = Read(Data.Models.Metadata.DipSwitch.DipLocationKey); return locations is not null && locations.Length > 0; } } @@ -50,7 +50,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var values = GetFieldValue(Data.Models.Metadata.DipSwitch.DipValueKey); + var values = Read(Data.Models.Metadata.DipSwitch.DipValueKey); return values is not null && values.Length > 0; } } @@ -60,10 +60,10 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var part = GetFieldValue(PartKey); + var part = Read(PartKey); return part is not null && (!string.IsNullOrEmpty(part.GetName()) - || !string.IsNullOrEmpty(part.GetStringFieldValue(Data.Models.Metadata.Part.InterfaceKey))); + || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey))); } } @@ -76,32 +76,32 @@ namespace SabreTools.Metadata.DatItems.Formats public DipSwitch(Data.Models.Metadata.DipSwitch item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.DipSwitch.DefaultKey) is not null) - SetFieldValue(Data.Models.Metadata.DipSwitch.DefaultKey, GetBoolFieldValue(Data.Models.Metadata.DipSwitch.DefaultKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.DipSwitch.DefaultKey) is not null) + Write(Data.Models.Metadata.DipSwitch.DefaultKey, ReadBool(Data.Models.Metadata.DipSwitch.DefaultKey).FromYesNo()); // Handle subitems var condition = item.Read(Data.Models.Metadata.DipSwitch.ConditionKey); if (condition is not null) - SetFieldValue(Data.Models.Metadata.DipSwitch.ConditionKey, new Condition(condition)); + Write(Data.Models.Metadata.DipSwitch.ConditionKey, new Condition(condition)); var dipLocations = item.ReadItemArray(Data.Models.Metadata.DipSwitch.DipLocationKey); if (dipLocations is not null) { DipLocation[] dipLocationItems = Array.ConvertAll(dipLocations, dipLocation => new DipLocation(dipLocation)); - SetFieldValue(Data.Models.Metadata.DipSwitch.DipLocationKey, dipLocationItems); + Write(Data.Models.Metadata.DipSwitch.DipLocationKey, dipLocationItems); } var dipValues = item.ReadItemArray(Data.Models.Metadata.DipSwitch.DipValueKey); if (dipValues is not null) { DipValue[] dipValueItems = Array.ConvertAll(dipValues, dipValue => new DipValue(dipValue)); - SetFieldValue(Data.Models.Metadata.DipSwitch.DipValueKey, dipValueItems); + Write(Data.Models.Metadata.DipSwitch.DipValueKey, dipValueItems); } } public DipSwitch(Data.Models.Metadata.DipSwitch item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -114,18 +114,18 @@ namespace SabreTools.Metadata.DatItems.Formats { var dipSwitchItem = base.GetInternalClone(); - var condition = GetFieldValue(Data.Models.Metadata.DipSwitch.ConditionKey); + var condition = Read(Data.Models.Metadata.DipSwitch.ConditionKey); if (condition is not null) dipSwitchItem[Data.Models.Metadata.DipSwitch.ConditionKey] = condition.GetInternalClone(); - var dipLocations = GetFieldValue(Data.Models.Metadata.DipSwitch.DipLocationKey); + var dipLocations = Read(Data.Models.Metadata.DipSwitch.DipLocationKey); if (dipLocations is not null) { Data.Models.Metadata.DipLocation[] dipLocationItems = Array.ConvertAll(dipLocations, dipLocation => dipLocation.GetInternalClone()); dipSwitchItem[Data.Models.Metadata.DipSwitch.DipLocationKey] = dipLocationItems; } - var dipValues = GetFieldValue(Data.Models.Metadata.DipSwitch.DipValueKey); + var dipValues = Read(Data.Models.Metadata.DipSwitch.DipValueKey); if (dipValues is not null) { Data.Models.Metadata.DipValue[] dipValueItems = Array.ConvertAll(dipValues, dipValue => dipValue.GetInternalClone()); diff --git a/SabreTools.Metadata.DatItems/Formats/DipValue.cs b/SabreTools.Metadata.DatItems/Formats/DipValue.cs index 82461507..390440a8 100644 --- a/SabreTools.Metadata.DatItems/Formats/DipValue.cs +++ b/SabreTools.Metadata.DatItems/Formats/DipValue.cs @@ -19,7 +19,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var conditions = GetFieldValue(Data.Models.Metadata.DipValue.ConditionKey); + var conditions = Read(Data.Models.Metadata.DipValue.ConditionKey); return conditions is not null && conditions.Length > 0; } } @@ -33,18 +33,18 @@ namespace SabreTools.Metadata.DatItems.Formats public DipValue(Data.Models.Metadata.DipValue item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.DipValue.DefaultKey) is not null) - SetFieldValue(Data.Models.Metadata.DipValue.DefaultKey, GetBoolFieldValue(Data.Models.Metadata.DipValue.DefaultKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.DipValue.DefaultKey) is not null) + Write(Data.Models.Metadata.DipValue.DefaultKey, ReadBool(Data.Models.Metadata.DipValue.DefaultKey).FromYesNo()); // Handle subitems - var condition = GetFieldValue(Data.Models.Metadata.DipValue.ConditionKey); + var condition = Read(Data.Models.Metadata.DipValue.ConditionKey); if (condition is not null) - SetFieldValue(Data.Models.Metadata.DipValue.ConditionKey, new Condition(condition)); + Write(Data.Models.Metadata.DipValue.ConditionKey, new Condition(condition)); } public DipValue(Data.Models.Metadata.DipValue item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -58,7 +58,7 @@ namespace SabreTools.Metadata.DatItems.Formats var dipValueItem = base.GetInternalClone(); // Handle subitems - var subCondition = GetFieldValue(Data.Models.Metadata.DipValue.ConditionKey); + var subCondition = Read(Data.Models.Metadata.DipValue.ConditionKey); if (subCondition is not null) dipValueItem[Data.Models.Metadata.DipValue.ConditionKey] = subCondition.GetInternalClone(); diff --git a/SabreTools.Metadata.DatItems/Formats/Disk.cs b/SabreTools.Metadata.DatItems/Formats/Disk.cs index 13891e63..f2720345 100644 --- a/SabreTools.Metadata.DatItems/Formats/Disk.cs +++ b/SabreTools.Metadata.DatItems/Formats/Disk.cs @@ -35,7 +35,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var diskArea = GetFieldValue(DiskAreaKey); + var diskArea = Read(DiskAreaKey); return diskArea is not null && !string.IsNullOrEmpty(diskArea.GetName()); } } @@ -45,10 +45,10 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var part = GetFieldValue(PartKey); + var part = Read(PartKey); return part is not null && (!string.IsNullOrEmpty(part.GetName()) - || !string.IsNullOrEmpty(part.GetStringFieldValue(Data.Models.Metadata.Part.InterfaceKey))); + || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey))); } } @@ -58,32 +58,32 @@ namespace SabreTools.Metadata.DatItems.Formats public Disk() : base() { - SetFieldValue(DupeTypeKey, 0x00); - SetFieldValue(Data.Models.Metadata.Disk.StatusKey, ItemStatus.None.AsStringValue()); + Write(DupeTypeKey, 0x00); + Write(Data.Models.Metadata.Disk.StatusKey, ItemStatus.None.AsStringValue()); } public Disk(Data.Models.Metadata.Disk item) : base(item) { - SetFieldValue(DupeTypeKey, 0x00); + Write(DupeTypeKey, 0x00); // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.Disk.OptionalKey) is not null) - SetFieldValue(Data.Models.Metadata.Disk.OptionalKey, GetBoolFieldValue(Data.Models.Metadata.Disk.OptionalKey).FromYesNo()); - if (GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey) is not null) - SetFieldValue(Data.Models.Metadata.Disk.StatusKey, GetStringFieldValue(Data.Models.Metadata.Disk.StatusKey).AsItemStatus().AsStringValue()); - if (GetBoolFieldValue(Data.Models.Metadata.Disk.WritableKey) is not null) - SetFieldValue(Data.Models.Metadata.Disk.WritableKey, GetBoolFieldValue(Data.Models.Metadata.Disk.WritableKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Disk.OptionalKey) is not null) + Write(Data.Models.Metadata.Disk.OptionalKey, ReadBool(Data.Models.Metadata.Disk.OptionalKey).FromYesNo()); + if (ReadString(Data.Models.Metadata.Disk.StatusKey) is not null) + Write(Data.Models.Metadata.Disk.StatusKey, ReadString(Data.Models.Metadata.Disk.StatusKey).AsItemStatus().AsStringValue()); + if (ReadBool(Data.Models.Metadata.Disk.WritableKey) is not null) + Write(Data.Models.Metadata.Disk.WritableKey, ReadBool(Data.Models.Metadata.Disk.WritableKey).FromYesNo()); // Process hash values - if (GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key) is not null) - SetFieldValue(Data.Models.Metadata.Disk.MD5Key, TextHelper.NormalizeMD5(GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key))); - if (GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key) is not null) - SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, TextHelper.NormalizeSHA1(GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key))); + if (ReadString(Data.Models.Metadata.Disk.MD5Key) is not null) + Write(Data.Models.Metadata.Disk.MD5Key, TextHelper.NormalizeMD5(ReadString(Data.Models.Metadata.Disk.MD5Key))); + if (ReadString(Data.Models.Metadata.Disk.SHA1Key) is not null) + Write(Data.Models.Metadata.Disk.SHA1Key, TextHelper.NormalizeSHA1(ReadString(Data.Models.Metadata.Disk.SHA1Key))); } public Disk(Data.Models.Metadata.Disk item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -100,22 +100,22 @@ namespace SabreTools.Metadata.DatItems.Formats var rom = new Rom(_internal.ConvertToRom()!); // Create a DataArea if there was an existing DiskArea - var diskArea = GetFieldValue(DiskAreaKey); + var diskArea = Read(DiskAreaKey); if (diskArea is not null) { var dataArea = new DataArea(); - string? diskAreaName = diskArea.GetStringFieldValue(Data.Models.Metadata.DiskArea.NameKey); - dataArea.SetFieldValue(Data.Models.Metadata.DataArea.NameKey, diskAreaName); + string? diskAreaName = diskArea.ReadString(Data.Models.Metadata.DiskArea.NameKey); + dataArea.Write(Data.Models.Metadata.DataArea.NameKey, diskAreaName); - rom.SetFieldValue(Rom.DataAreaKey, dataArea); + rom.Write(Rom.DataAreaKey, dataArea); } - rom.SetFieldValue(DupeTypeKey, GetFieldValue(DupeTypeKey)); - rom.SetFieldValue(MachineKey, GetMachine()?.Clone() as Machine); - rom.SetFieldValue(Rom.PartKey, GetFieldValue(PartKey)?.Clone() as Part); - rom.SetFieldValue(RemoveKey, GetBoolFieldValue(RemoveKey)); - rom.SetFieldValue(SourceKey, GetFieldValue(SourceKey)?.Clone() as Source); + rom.Write(DupeTypeKey, Read(DupeTypeKey)); + rom.Write(MachineKey, GetMachine()?.Clone() as Machine); + rom.Write(Rom.PartKey, Read(PartKey)?.Clone() as Part); + rom.Write(RemoveKey, ReadBool(RemoveKey)); + rom.Write(SourceKey, Read(SourceKey)?.Clone() as Source); return rom; } @@ -158,11 +158,11 @@ namespace SabreTools.Metadata.DatItems.Formats switch (bucketedBy) { case ItemKey.MD5: - key = GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key); + key = ReadString(Data.Models.Metadata.Disk.MD5Key); break; case ItemKey.SHA1: - key = GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key); + key = ReadString(Data.Models.Metadata.Disk.SHA1Key); break; // Let the base handle generic stuff diff --git a/SabreTools.Metadata.DatItems/Formats/DiskArea.cs b/SabreTools.Metadata.DatItems/Formats/DiskArea.cs index 617a97a2..f93f5b84 100644 --- a/SabreTools.Metadata.DatItems/Formats/DiskArea.cs +++ b/SabreTools.Metadata.DatItems/Formats/DiskArea.cs @@ -25,7 +25,7 @@ namespace SabreTools.Metadata.DatItems.Formats public DiskArea(Data.Models.Metadata.DiskArea item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Display.cs b/SabreTools.Metadata.DatItems/Formats/Display.cs index 177d155b..5081f686 100644 --- a/SabreTools.Metadata.DatItems/Formats/Display.cs +++ b/SabreTools.Metadata.DatItems/Formats/Display.cs @@ -24,56 +24,56 @@ namespace SabreTools.Metadata.DatItems.Formats public Display(Data.Models.Metadata.Display item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.Display.FlipXKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.FlipXKey, GetBoolFieldValue(Data.Models.Metadata.Display.FlipXKey).FromYesNo()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.HBEndKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.HBEndKey, GetInt64FieldValue(Data.Models.Metadata.Display.HBEndKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.HBStartKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.HBStartKey, GetInt64FieldValue(Data.Models.Metadata.Display.HBStartKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.HeightKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.HeightKey, GetInt64FieldValue(Data.Models.Metadata.Display.HeightKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.HTotalKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.HTotalKey, GetInt64FieldValue(Data.Models.Metadata.Display.HTotalKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.PixClockKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.PixClockKey, GetInt64FieldValue(Data.Models.Metadata.Display.PixClockKey).ToString()); - if (GetDoubleFieldValue(Data.Models.Metadata.Display.RefreshKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.RefreshKey, GetDoubleFieldValue(Data.Models.Metadata.Display.RefreshKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.RotateKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.RotateKey, GetInt64FieldValue(Data.Models.Metadata.Display.RotateKey).ToString()); - if (GetStringFieldValue(Data.Models.Metadata.Display.DisplayTypeKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.DisplayTypeKey, GetStringFieldValue(Data.Models.Metadata.Display.DisplayTypeKey).AsDisplayType().AsStringValue()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.VBEndKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.VBEndKey, GetInt64FieldValue(Data.Models.Metadata.Display.VBEndKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.VBStartKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.VBStartKey, GetInt64FieldValue(Data.Models.Metadata.Display.VBStartKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.VTotalKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.VTotalKey, GetInt64FieldValue(Data.Models.Metadata.Display.VTotalKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Display.WidthKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.WidthKey, GetInt64FieldValue(Data.Models.Metadata.Display.WidthKey).ToString()); + if (ReadBool(Data.Models.Metadata.Display.FlipXKey) is not null) + Write(Data.Models.Metadata.Display.FlipXKey, ReadBool(Data.Models.Metadata.Display.FlipXKey).FromYesNo()); + if (ReadLong(Data.Models.Metadata.Display.HBEndKey) is not null) + Write(Data.Models.Metadata.Display.HBEndKey, ReadLong(Data.Models.Metadata.Display.HBEndKey).ToString()); + if (ReadLong(Data.Models.Metadata.Display.HBStartKey) is not null) + Write(Data.Models.Metadata.Display.HBStartKey, ReadLong(Data.Models.Metadata.Display.HBStartKey).ToString()); + if (ReadLong(Data.Models.Metadata.Display.HeightKey) is not null) + Write(Data.Models.Metadata.Display.HeightKey, ReadLong(Data.Models.Metadata.Display.HeightKey).ToString()); + if (ReadLong(Data.Models.Metadata.Display.HTotalKey) is not null) + Write(Data.Models.Metadata.Display.HTotalKey, ReadLong(Data.Models.Metadata.Display.HTotalKey).ToString()); + if (ReadLong(Data.Models.Metadata.Display.PixClockKey) is not null) + Write(Data.Models.Metadata.Display.PixClockKey, ReadLong(Data.Models.Metadata.Display.PixClockKey).ToString()); + if (ReadDouble(Data.Models.Metadata.Display.RefreshKey) is not null) + Write(Data.Models.Metadata.Display.RefreshKey, ReadDouble(Data.Models.Metadata.Display.RefreshKey).ToString()); + if (ReadLong(Data.Models.Metadata.Display.RotateKey) is not null) + Write(Data.Models.Metadata.Display.RotateKey, ReadLong(Data.Models.Metadata.Display.RotateKey).ToString()); + if (ReadString(Data.Models.Metadata.Display.DisplayTypeKey) is not null) + Write(Data.Models.Metadata.Display.DisplayTypeKey, ReadString(Data.Models.Metadata.Display.DisplayTypeKey).AsDisplayType().AsStringValue()); + if (ReadLong(Data.Models.Metadata.Display.VBEndKey) is not null) + Write(Data.Models.Metadata.Display.VBEndKey, ReadLong(Data.Models.Metadata.Display.VBEndKey).ToString()); + if (ReadLong(Data.Models.Metadata.Display.VBStartKey) is not null) + Write(Data.Models.Metadata.Display.VBStartKey, ReadLong(Data.Models.Metadata.Display.VBStartKey).ToString()); + if (ReadLong(Data.Models.Metadata.Display.VTotalKey) is not null) + Write(Data.Models.Metadata.Display.VTotalKey, ReadLong(Data.Models.Metadata.Display.VTotalKey).ToString()); + if (ReadLong(Data.Models.Metadata.Display.WidthKey) is not null) + Write(Data.Models.Metadata.Display.WidthKey, ReadLong(Data.Models.Metadata.Display.WidthKey).ToString()); } public Display(Data.Models.Metadata.Display item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } public Display(Data.Models.Metadata.Video item) : base() { - SetFieldValue(Data.Models.Metadata.Video.AspectXKey, NumberHelper.ConvertToInt64(item.ReadString(Data.Models.Metadata.Video.AspectXKey))); - SetFieldValue(Data.Models.Metadata.Video.AspectYKey, NumberHelper.ConvertToInt64(item.ReadString(Data.Models.Metadata.Video.AspectYKey))); - SetFieldValue(Data.Models.Metadata.Display.DisplayTypeKey, item.ReadString(Data.Models.Metadata.Video.ScreenKey).AsDisplayType().AsStringValue()); - SetFieldValue(Data.Models.Metadata.Display.HeightKey, NumberHelper.ConvertToInt64(item.ReadString(Data.Models.Metadata.Video.HeightKey))); - SetFieldValue(Data.Models.Metadata.Display.RefreshKey, NumberHelper.ConvertToDouble(item.ReadString(Data.Models.Metadata.Video.RefreshKey))); - SetFieldValue(Data.Models.Metadata.Display.WidthKey, NumberHelper.ConvertToInt64(item.ReadString(Data.Models.Metadata.Video.WidthKey))); + Write(Data.Models.Metadata.Video.AspectXKey, NumberHelper.ConvertToInt64(item.ReadString(Data.Models.Metadata.Video.AspectXKey))); + Write(Data.Models.Metadata.Video.AspectYKey, NumberHelper.ConvertToInt64(item.ReadString(Data.Models.Metadata.Video.AspectYKey))); + Write(Data.Models.Metadata.Display.DisplayTypeKey, item.ReadString(Data.Models.Metadata.Video.ScreenKey).AsDisplayType().AsStringValue()); + Write(Data.Models.Metadata.Display.HeightKey, NumberHelper.ConvertToInt64(item.ReadString(Data.Models.Metadata.Video.HeightKey))); + Write(Data.Models.Metadata.Display.RefreshKey, NumberHelper.ConvertToDouble(item.ReadString(Data.Models.Metadata.Video.RefreshKey))); + Write(Data.Models.Metadata.Display.WidthKey, NumberHelper.ConvertToInt64(item.ReadString(Data.Models.Metadata.Video.WidthKey))); switch (item.ReadString(Data.Models.Metadata.Video.OrientationKey)) { case "horizontal": - SetFieldValue(Data.Models.Metadata.Display.RotateKey, 0); + Write(Data.Models.Metadata.Display.RotateKey, 0); break; case "vertical": - SetFieldValue(Data.Models.Metadata.Display.RotateKey, 90); + Write(Data.Models.Metadata.Display.RotateKey, 90); break; default: // TODO: Log invalid values @@ -81,23 +81,23 @@ namespace SabreTools.Metadata.DatItems.Formats } // Process flag values - if (GetInt64FieldValue(Data.Models.Metadata.Video.AspectXKey) is not null) - SetFieldValue(Data.Models.Metadata.Video.AspectXKey, GetInt64FieldValue(Data.Models.Metadata.Video.AspectXKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Video.AspectYKey) is not null) - SetFieldValue(Data.Models.Metadata.Video.AspectYKey, GetInt64FieldValue(Data.Models.Metadata.Video.AspectYKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Video.HeightKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.HeightKey, GetInt64FieldValue(Data.Models.Metadata.Video.HeightKey).ToString()); - if (GetDoubleFieldValue(Data.Models.Metadata.Video.RefreshKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.RefreshKey, GetDoubleFieldValue(Data.Models.Metadata.Video.RefreshKey).ToString()); - if (GetStringFieldValue(Data.Models.Metadata.Video.ScreenKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.DisplayTypeKey, GetStringFieldValue(Data.Models.Metadata.Video.ScreenKey).AsDisplayType().AsStringValue()); - if (GetInt64FieldValue(Data.Models.Metadata.Video.WidthKey) is not null) - SetFieldValue(Data.Models.Metadata.Display.WidthKey, GetInt64FieldValue(Data.Models.Metadata.Video.WidthKey).ToString()); + if (ReadLong(Data.Models.Metadata.Video.AspectXKey) is not null) + Write(Data.Models.Metadata.Video.AspectXKey, ReadLong(Data.Models.Metadata.Video.AspectXKey).ToString()); + if (ReadLong(Data.Models.Metadata.Video.AspectYKey) is not null) + Write(Data.Models.Metadata.Video.AspectYKey, ReadLong(Data.Models.Metadata.Video.AspectYKey).ToString()); + if (ReadLong(Data.Models.Metadata.Video.HeightKey) is not null) + Write(Data.Models.Metadata.Display.HeightKey, ReadLong(Data.Models.Metadata.Video.HeightKey).ToString()); + if (ReadDouble(Data.Models.Metadata.Video.RefreshKey) is not null) + Write(Data.Models.Metadata.Display.RefreshKey, ReadDouble(Data.Models.Metadata.Video.RefreshKey).ToString()); + if (ReadString(Data.Models.Metadata.Video.ScreenKey) is not null) + Write(Data.Models.Metadata.Display.DisplayTypeKey, ReadString(Data.Models.Metadata.Video.ScreenKey).AsDisplayType().AsStringValue()); + if (ReadLong(Data.Models.Metadata.Video.WidthKey) is not null) + Write(Data.Models.Metadata.Display.WidthKey, ReadLong(Data.Models.Metadata.Video.WidthKey).ToString()); } public Display(Data.Models.Metadata.Video item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Driver.cs b/SabreTools.Metadata.DatItems/Formats/Driver.cs index 56d91963..4ab69a5c 100644 --- a/SabreTools.Metadata.DatItems/Formats/Driver.cs +++ b/SabreTools.Metadata.DatItems/Formats/Driver.cs @@ -23,33 +23,33 @@ namespace SabreTools.Metadata.DatItems.Formats public Driver(Data.Models.Metadata.Driver item) : base(item) { // Process flag values - if (GetStringFieldValue(Data.Models.Metadata.Driver.CocktailKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.CocktailKey, GetStringFieldValue(Data.Models.Metadata.Driver.CocktailKey).AsSupportStatus().AsStringValue()); - if (GetStringFieldValue(Data.Models.Metadata.Driver.ColorKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.ColorKey, GetStringFieldValue(Data.Models.Metadata.Driver.ColorKey).AsSupportStatus().AsStringValue()); - if (GetStringFieldValue(Data.Models.Metadata.Driver.EmulationKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.EmulationKey, GetStringFieldValue(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus().AsStringValue()); - if (GetBoolFieldValue(Data.Models.Metadata.Driver.IncompleteKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.IncompleteKey, GetBoolFieldValue(Data.Models.Metadata.Driver.IncompleteKey).FromYesNo()); - if (GetBoolFieldValue(Data.Models.Metadata.Driver.NoSoundHardwareKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.NoSoundHardwareKey, GetBoolFieldValue(Data.Models.Metadata.Driver.NoSoundHardwareKey).FromYesNo()); - if (GetInt64FieldValue(Data.Models.Metadata.Driver.PaletteSizeKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.PaletteSizeKey, GetInt64FieldValue(Data.Models.Metadata.Driver.PaletteSizeKey).ToString()); - if (GetBoolFieldValue(Data.Models.Metadata.Driver.RequiresArtworkKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.RequiresArtworkKey, GetBoolFieldValue(Data.Models.Metadata.Driver.RequiresArtworkKey).FromYesNo()); - if (GetStringFieldValue(Data.Models.Metadata.Driver.SaveStateKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.SaveStateKey, GetStringFieldValue(Data.Models.Metadata.Driver.SaveStateKey).AsSupported().AsStringValue(useSecond: true)); - if (GetStringFieldValue(Data.Models.Metadata.Driver.SoundKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.SoundKey, GetStringFieldValue(Data.Models.Metadata.Driver.SoundKey).AsSupportStatus().AsStringValue()); - if (GetStringFieldValue(Data.Models.Metadata.Driver.StatusKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.StatusKey, GetStringFieldValue(Data.Models.Metadata.Driver.StatusKey).AsSupportStatus().AsStringValue()); - if (GetBoolFieldValue(Data.Models.Metadata.Driver.UnofficialKey) is not null) - SetFieldValue(Data.Models.Metadata.Driver.UnofficialKey, GetBoolFieldValue(Data.Models.Metadata.Driver.UnofficialKey).FromYesNo()); + if (ReadString(Data.Models.Metadata.Driver.CocktailKey) is not null) + Write(Data.Models.Metadata.Driver.CocktailKey, ReadString(Data.Models.Metadata.Driver.CocktailKey).AsSupportStatus().AsStringValue()); + if (ReadString(Data.Models.Metadata.Driver.ColorKey) is not null) + Write(Data.Models.Metadata.Driver.ColorKey, ReadString(Data.Models.Metadata.Driver.ColorKey).AsSupportStatus().AsStringValue()); + if (ReadString(Data.Models.Metadata.Driver.EmulationKey) is not null) + Write(Data.Models.Metadata.Driver.EmulationKey, ReadString(Data.Models.Metadata.Driver.EmulationKey).AsSupportStatus().AsStringValue()); + if (ReadBool(Data.Models.Metadata.Driver.IncompleteKey) is not null) + Write(Data.Models.Metadata.Driver.IncompleteKey, ReadBool(Data.Models.Metadata.Driver.IncompleteKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Driver.NoSoundHardwareKey) is not null) + Write(Data.Models.Metadata.Driver.NoSoundHardwareKey, ReadBool(Data.Models.Metadata.Driver.NoSoundHardwareKey).FromYesNo()); + if (ReadLong(Data.Models.Metadata.Driver.PaletteSizeKey) is not null) + Write(Data.Models.Metadata.Driver.PaletteSizeKey, ReadLong(Data.Models.Metadata.Driver.PaletteSizeKey).ToString()); + if (ReadBool(Data.Models.Metadata.Driver.RequiresArtworkKey) is not null) + Write(Data.Models.Metadata.Driver.RequiresArtworkKey, ReadBool(Data.Models.Metadata.Driver.RequiresArtworkKey).FromYesNo()); + if (ReadString(Data.Models.Metadata.Driver.SaveStateKey) is not null) + Write(Data.Models.Metadata.Driver.SaveStateKey, ReadString(Data.Models.Metadata.Driver.SaveStateKey).AsSupported().AsStringValue(useSecond: true)); + if (ReadString(Data.Models.Metadata.Driver.SoundKey) is not null) + Write(Data.Models.Metadata.Driver.SoundKey, ReadString(Data.Models.Metadata.Driver.SoundKey).AsSupportStatus().AsStringValue()); + if (ReadString(Data.Models.Metadata.Driver.StatusKey) is not null) + Write(Data.Models.Metadata.Driver.StatusKey, ReadString(Data.Models.Metadata.Driver.StatusKey).AsSupportStatus().AsStringValue()); + if (ReadBool(Data.Models.Metadata.Driver.UnofficialKey) is not null) + Write(Data.Models.Metadata.Driver.UnofficialKey, ReadBool(Data.Models.Metadata.Driver.UnofficialKey).FromYesNo()); } public Driver(Data.Models.Metadata.Driver item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Extension.cs b/SabreTools.Metadata.DatItems/Formats/Extension.cs index a6db27d4..a1568d27 100644 --- a/SabreTools.Metadata.DatItems/Formats/Extension.cs +++ b/SabreTools.Metadata.DatItems/Formats/Extension.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatItems.Formats public Extension(Data.Models.Metadata.Extension item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Feature.cs b/SabreTools.Metadata.DatItems/Formats/Feature.cs index c8b22729..e0503110 100644 --- a/SabreTools.Metadata.DatItems/Formats/Feature.cs +++ b/SabreTools.Metadata.DatItems/Formats/Feature.cs @@ -23,17 +23,17 @@ namespace SabreTools.Metadata.DatItems.Formats public Feature(Data.Models.Metadata.Feature item) : base(item) { // Process flag values - if (GetStringFieldValue(Data.Models.Metadata.Feature.OverallKey) is not null) - SetFieldValue(Data.Models.Metadata.Feature.OverallKey, GetStringFieldValue(Data.Models.Metadata.Feature.OverallKey).AsFeatureStatus().AsStringValue()); - if (GetStringFieldValue(Data.Models.Metadata.Feature.StatusKey) is not null) - SetFieldValue(Data.Models.Metadata.Feature.StatusKey, GetStringFieldValue(Data.Models.Metadata.Feature.StatusKey).AsFeatureStatus().AsStringValue()); - if (GetStringFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey) is not null) - SetFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey, GetStringFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey).AsFeatureType().AsStringValue()); + if (ReadString(Data.Models.Metadata.Feature.OverallKey) is not null) + Write(Data.Models.Metadata.Feature.OverallKey, ReadString(Data.Models.Metadata.Feature.OverallKey).AsFeatureStatus().AsStringValue()); + if (ReadString(Data.Models.Metadata.Feature.StatusKey) is not null) + Write(Data.Models.Metadata.Feature.StatusKey, ReadString(Data.Models.Metadata.Feature.StatusKey).AsFeatureStatus().AsStringValue()); + if (ReadString(Data.Models.Metadata.Feature.FeatureTypeKey) is not null) + Write(Data.Models.Metadata.Feature.FeatureTypeKey, ReadString(Data.Models.Metadata.Feature.FeatureTypeKey).AsFeatureType().AsStringValue()); } public Feature(Data.Models.Metadata.Feature item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/File.cs b/SabreTools.Metadata.DatItems/Formats/File.cs index 02755dfb..33cc0ec1 100644 --- a/SabreTools.Metadata.DatItems/Formats/File.cs +++ b/SabreTools.Metadata.DatItems/Formats/File.cs @@ -102,7 +102,7 @@ namespace SabreTools.Metadata.DatItems.Formats /// public File() { - SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, ItemType); + Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); } #endregion @@ -123,10 +123,10 @@ namespace SabreTools.Metadata.DatItems.Formats _sha256 = this._sha256, Format = this.Format, }; - file.SetFieldValue(DupeTypeKey, GetFieldValue(DupeTypeKey)); - file.SetFieldValue(MachineKey, GetMachine()!.Clone() as Machine ?? new Machine()); - file.SetFieldValue(RemoveKey, GetBoolFieldValue(RemoveKey)); - file.SetFieldValue(SourceKey, GetFieldValue(SourceKey)); + file.Write(DupeTypeKey, Read(DupeTypeKey)); + file.Write(MachineKey, GetMachine()!.Clone() as Machine ?? new Machine()); + file.Write(RemoveKey, ReadBool(RemoveKey)); + file.Write(SourceKey, Read(SourceKey)); return file; } @@ -140,16 +140,16 @@ namespace SabreTools.Metadata.DatItems.Formats var rom = new Rom(); rom.SetName($"{Id}.{Extension}"); - rom.SetFieldValue(Data.Models.Metadata.Rom.SizeKey, Size); - rom.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, CRC); - rom.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, MD5); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, SHA1); - rom.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, SHA256); + rom.Write(Data.Models.Metadata.Rom.SizeKey, Size); + rom.Write(Data.Models.Metadata.Rom.CRCKey, CRC); + rom.Write(Data.Models.Metadata.Rom.MD5Key, MD5); + rom.Write(Data.Models.Metadata.Rom.SHA1Key, SHA1); + rom.Write(Data.Models.Metadata.Rom.SHA256Key, SHA256); - rom.SetFieldValue(DupeTypeKey, GetFieldValue(DupeTypeKey)); - rom.SetFieldValue(MachineKey, GetMachine()?.Clone() as Machine); - rom.SetFieldValue(RemoveKey, GetBoolFieldValue(RemoveKey)); - rom.SetFieldValue(SourceKey, GetFieldValue(SourceKey)); + rom.Write(DupeTypeKey, Read(DupeTypeKey)); + rom.Write(MachineKey, GetMachine()?.Clone() as Machine); + rom.Write(RemoveKey, ReadBool(RemoveKey)); + rom.Write(SourceKey, Read(SourceKey)); return rom; } @@ -164,7 +164,7 @@ namespace SabreTools.Metadata.DatItems.Formats bool dupefound = false; // If we don't have a file, return false - if (GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) != other?.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey)) + if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey)) return dupefound; // Otherwise, treat it as a File diff --git a/SabreTools.Metadata.DatItems/Formats/Info.cs b/SabreTools.Metadata.DatItems/Formats/Info.cs index 04f56b49..26513be4 100644 --- a/SabreTools.Metadata.DatItems/Formats/Info.cs +++ b/SabreTools.Metadata.DatItems/Formats/Info.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatItems.Formats public Info(Data.Models.Metadata.Info item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Input.cs b/SabreTools.Metadata.DatItems/Formats/Input.cs index 3bccdcd5..35f726a9 100644 --- a/SabreTools.Metadata.DatItems/Formats/Input.cs +++ b/SabreTools.Metadata.DatItems/Formats/Input.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var controls = GetFieldValue(Data.Models.Metadata.Input.ControlKey); + var controls = Read(Data.Models.Metadata.Input.ControlKey); return controls is not null && controls.Length > 0; } } @@ -35,29 +35,29 @@ namespace SabreTools.Metadata.DatItems.Formats public Input(Data.Models.Metadata.Input item) : base(item) { // Process flag values - if (GetInt64FieldValue(Data.Models.Metadata.Input.ButtonsKey) is not null) - SetFieldValue(Data.Models.Metadata.Input.ButtonsKey, GetInt64FieldValue(Data.Models.Metadata.Input.ButtonsKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Input.CoinsKey) is not null) - SetFieldValue(Data.Models.Metadata.Input.CoinsKey, GetInt64FieldValue(Data.Models.Metadata.Input.CoinsKey).ToString()); - if (GetInt64FieldValue(Data.Models.Metadata.Input.PlayersKey) is not null) - SetFieldValue(Data.Models.Metadata.Input.PlayersKey, GetInt64FieldValue(Data.Models.Metadata.Input.PlayersKey).ToString()); - if (GetBoolFieldValue(Data.Models.Metadata.Input.ServiceKey) is not null) - SetFieldValue(Data.Models.Metadata.Input.ServiceKey, GetBoolFieldValue(Data.Models.Metadata.Input.ServiceKey).FromYesNo()); - if (GetBoolFieldValue(Data.Models.Metadata.Input.TiltKey) is not null) - SetFieldValue(Data.Models.Metadata.Input.TiltKey, GetBoolFieldValue(Data.Models.Metadata.Input.TiltKey).FromYesNo()); + if (ReadLong(Data.Models.Metadata.Input.ButtonsKey) is not null) + Write(Data.Models.Metadata.Input.ButtonsKey, ReadLong(Data.Models.Metadata.Input.ButtonsKey).ToString()); + if (ReadLong(Data.Models.Metadata.Input.CoinsKey) is not null) + Write(Data.Models.Metadata.Input.CoinsKey, ReadLong(Data.Models.Metadata.Input.CoinsKey).ToString()); + if (ReadLong(Data.Models.Metadata.Input.PlayersKey) is not null) + Write(Data.Models.Metadata.Input.PlayersKey, ReadLong(Data.Models.Metadata.Input.PlayersKey).ToString()); + if (ReadBool(Data.Models.Metadata.Input.ServiceKey) is not null) + Write(Data.Models.Metadata.Input.ServiceKey, ReadBool(Data.Models.Metadata.Input.ServiceKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Input.TiltKey) is not null) + Write(Data.Models.Metadata.Input.TiltKey, ReadBool(Data.Models.Metadata.Input.TiltKey).FromYesNo()); // Handle subitems var controls = item.ReadItemArray(Data.Models.Metadata.Input.ControlKey); if (controls is not null) { Control[] controlItems = Array.ConvertAll(controls, control => new Control(control)); - SetFieldValue(Data.Models.Metadata.Input.ControlKey, controlItems); + Write(Data.Models.Metadata.Input.ControlKey, controlItems); } } public Input(Data.Models.Metadata.Input item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -70,7 +70,7 @@ namespace SabreTools.Metadata.DatItems.Formats { var inputItem = base.GetInternalClone(); - var controls = GetFieldValue(Data.Models.Metadata.Input.ControlKey); + var controls = Read(Data.Models.Metadata.Input.ControlKey); if (controls is not null) { Data.Models.Metadata.Control[] controlItems = Array.ConvertAll(controls, control => control.GetInternalClone()); diff --git a/SabreTools.Metadata.DatItems/Formats/Instance.cs b/SabreTools.Metadata.DatItems/Formats/Instance.cs index b9e691dc..0de20bf4 100644 --- a/SabreTools.Metadata.DatItems/Formats/Instance.cs +++ b/SabreTools.Metadata.DatItems/Formats/Instance.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatItems.Formats public Instance(Data.Models.Metadata.Instance item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Media.cs b/SabreTools.Metadata.DatItems/Formats/Media.cs index 32913bbb..c8e4bc27 100644 --- a/SabreTools.Metadata.DatItems/Formats/Media.cs +++ b/SabreTools.Metadata.DatItems/Formats/Media.cs @@ -22,25 +22,25 @@ namespace SabreTools.Metadata.DatItems.Formats public Media() : base() { - SetFieldValue(DupeTypeKey, 0x00); + Write(DupeTypeKey, 0x00); } public Media(Data.Models.Metadata.Media item) : base(item) { - SetFieldValue(DupeTypeKey, 0x00); + Write(DupeTypeKey, 0x00); // Process hash values - if (GetStringFieldValue(Data.Models.Metadata.Media.MD5Key) is not null) - SetFieldValue(Data.Models.Metadata.Media.MD5Key, TextHelper.NormalizeMD5(GetStringFieldValue(Data.Models.Metadata.Media.MD5Key))); - if (GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key) is not null) - SetFieldValue(Data.Models.Metadata.Media.SHA1Key, TextHelper.NormalizeSHA1(GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key))); - if (GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key) is not null) - SetFieldValue(Data.Models.Metadata.Media.SHA256Key, TextHelper.NormalizeSHA256(GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key))); + if (ReadString(Data.Models.Metadata.Media.MD5Key) is not null) + Write(Data.Models.Metadata.Media.MD5Key, TextHelper.NormalizeMD5(ReadString(Data.Models.Metadata.Media.MD5Key))); + if (ReadString(Data.Models.Metadata.Media.SHA1Key) is not null) + Write(Data.Models.Metadata.Media.SHA1Key, TextHelper.NormalizeSHA1(ReadString(Data.Models.Metadata.Media.SHA1Key))); + if (ReadString(Data.Models.Metadata.Media.SHA256Key) is not null) + Write(Data.Models.Metadata.Media.SHA256Key, TextHelper.NormalizeSHA256(ReadString(Data.Models.Metadata.Media.SHA256Key))); } public Media(Data.Models.Metadata.Media item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -56,10 +56,10 @@ namespace SabreTools.Metadata.DatItems.Formats { var rom = new Rom(_internal.ConvertToRom()!); - rom.SetFieldValue(DupeTypeKey, GetFieldValue(DupeTypeKey)); - rom.SetFieldValue(MachineKey, GetMachine()); - rom.SetFieldValue(RemoveKey, GetBoolFieldValue(RemoveKey)); - rom.SetFieldValue(SourceKey, GetFieldValue(SourceKey)); + rom.Write(DupeTypeKey, Read(DupeTypeKey)); + rom.Write(MachineKey, GetMachine()); + rom.Write(RemoveKey, ReadBool(RemoveKey)); + rom.Write(SourceKey, Read(SourceKey)); return rom; } @@ -102,19 +102,19 @@ namespace SabreTools.Metadata.DatItems.Formats switch (bucketedBy) { case ItemKey.MD5: - key = GetStringFieldValue(Data.Models.Metadata.Media.MD5Key); + key = ReadString(Data.Models.Metadata.Media.MD5Key); break; case ItemKey.SHA1: - key = GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key); + key = ReadString(Data.Models.Metadata.Media.SHA1Key); break; case ItemKey.SHA256: - key = GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key); + key = ReadString(Data.Models.Metadata.Media.SHA256Key); break; case ItemKey.SpamSum: - key = GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey); + key = ReadString(Data.Models.Metadata.Media.SpamSumKey); break; // Let the base handle generic stuff diff --git a/SabreTools.Metadata.DatItems/Formats/Part.cs b/SabreTools.Metadata.DatItems/Formats/Part.cs index 7a505ee3..a6b409e7 100644 --- a/SabreTools.Metadata.DatItems/Formats/Part.cs +++ b/SabreTools.Metadata.DatItems/Formats/Part.cs @@ -20,7 +20,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var features = GetFieldValue(Data.Models.Metadata.Part.FeatureKey); + var features = Read(Data.Models.Metadata.Part.FeatureKey); return features is not null && features.Length > 0; } } @@ -35,7 +35,7 @@ namespace SabreTools.Metadata.DatItems.Formats public Part(Data.Models.Metadata.Part item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/PartFeature.cs b/SabreTools.Metadata.DatItems/Formats/PartFeature.cs index 4db54bb7..a709f2ee 100644 --- a/SabreTools.Metadata.DatItems/Formats/PartFeature.cs +++ b/SabreTools.Metadata.DatItems/Formats/PartFeature.cs @@ -32,17 +32,17 @@ namespace SabreTools.Metadata.DatItems.Formats public PartFeature(Data.Models.Metadata.Feature item) : base(item) { // Process flag values - if (GetStringFieldValue(Data.Models.Metadata.Feature.OverallKey) is not null) - SetFieldValue(Data.Models.Metadata.Feature.OverallKey, GetStringFieldValue(Data.Models.Metadata.Feature.OverallKey).AsFeatureStatus().AsStringValue()); - if (GetStringFieldValue(Data.Models.Metadata.Feature.StatusKey) is not null) - SetFieldValue(Data.Models.Metadata.Feature.StatusKey, GetStringFieldValue(Data.Models.Metadata.Feature.StatusKey).AsFeatureStatus().AsStringValue()); - if (GetStringFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey) is not null) - SetFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey, GetStringFieldValue(Data.Models.Metadata.Feature.FeatureTypeKey).AsFeatureType().AsStringValue()); + if (ReadString(Data.Models.Metadata.Feature.OverallKey) is not null) + Write(Data.Models.Metadata.Feature.OverallKey, ReadString(Data.Models.Metadata.Feature.OverallKey).AsFeatureStatus().AsStringValue()); + if (ReadString(Data.Models.Metadata.Feature.StatusKey) is not null) + Write(Data.Models.Metadata.Feature.StatusKey, ReadString(Data.Models.Metadata.Feature.StatusKey).AsFeatureStatus().AsStringValue()); + if (ReadString(Data.Models.Metadata.Feature.FeatureTypeKey) is not null) + Write(Data.Models.Metadata.Feature.FeatureTypeKey, ReadString(Data.Models.Metadata.Feature.FeatureTypeKey).AsFeatureType().AsStringValue()); } public PartFeature(Data.Models.Metadata.Feature item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Port.cs b/SabreTools.Metadata.DatItems/Formats/Port.cs index 9f73eecc..f83bc36f 100644 --- a/SabreTools.Metadata.DatItems/Formats/Port.cs +++ b/SabreTools.Metadata.DatItems/Formats/Port.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var analogs = GetFieldValue(Data.Models.Metadata.Port.AnalogKey); + var analogs = Read(Data.Models.Metadata.Port.AnalogKey); return analogs is not null && analogs.Length > 0; } } @@ -39,13 +39,13 @@ namespace SabreTools.Metadata.DatItems.Formats if (analogs is not null) { Analog[] analogItems = Array.ConvertAll(analogs, analog => new Analog(analog)); - SetFieldValue(Data.Models.Metadata.Port.AnalogKey, analogItems); + Write(Data.Models.Metadata.Port.AnalogKey, analogItems); } } public Port(Data.Models.Metadata.Port item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -58,7 +58,7 @@ namespace SabreTools.Metadata.DatItems.Formats { var portItem = base.GetInternalClone(); - var analogs = GetFieldValue(Data.Models.Metadata.Port.AnalogKey); + var analogs = Read(Data.Models.Metadata.Port.AnalogKey); if (analogs is not null) { Data.Models.Metadata.Analog[] analogItems = Array.ConvertAll(analogs, analog => analog.GetInternalClone()); diff --git a/SabreTools.Metadata.DatItems/Formats/RamOption.cs b/SabreTools.Metadata.DatItems/Formats/RamOption.cs index 18aa3e30..3e838066 100644 --- a/SabreTools.Metadata.DatItems/Formats/RamOption.cs +++ b/SabreTools.Metadata.DatItems/Formats/RamOption.cs @@ -23,13 +23,13 @@ namespace SabreTools.Metadata.DatItems.Formats public RamOption(Data.Models.Metadata.RamOption item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.RamOption.DefaultKey) is not null) - SetFieldValue(Data.Models.Metadata.RamOption.DefaultKey, GetBoolFieldValue(Data.Models.Metadata.RamOption.DefaultKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.RamOption.DefaultKey) is not null) + Write(Data.Models.Metadata.RamOption.DefaultKey, ReadBool(Data.Models.Metadata.RamOption.DefaultKey).FromYesNo()); } public RamOption(Data.Models.Metadata.RamOption item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Release.cs b/SabreTools.Metadata.DatItems/Formats/Release.cs index e49a83b9..61aadec5 100644 --- a/SabreTools.Metadata.DatItems/Formats/Release.cs +++ b/SabreTools.Metadata.DatItems/Formats/Release.cs @@ -23,13 +23,13 @@ namespace SabreTools.Metadata.DatItems.Formats public Release(Data.Models.Metadata.Release item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.Release.DefaultKey) is not null) - SetFieldValue(Data.Models.Metadata.Release.DefaultKey, GetBoolFieldValue(Data.Models.Metadata.Release.DefaultKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Release.DefaultKey) is not null) + Write(Data.Models.Metadata.Release.DefaultKey, ReadBool(Data.Models.Metadata.Release.DefaultKey).FromYesNo()); } public Release(Data.Models.Metadata.Release item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs b/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs index c3c8445b..bbb48229 100644 --- a/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs +++ b/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs @@ -115,7 +115,7 @@ namespace SabreTools.Metadata.DatItems.Formats /// public ReleaseDetails() { - SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, ItemType); + Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); } #endregion @@ -143,11 +143,11 @@ namespace SabreTools.Metadata.DatItems.Formats Region = this.Region, Origin = this.Origin, }; - releaseDetails.SetFieldValue(DupeTypeKey, GetFieldValue(DupeTypeKey)); - releaseDetails.SetFieldValue(MachineKey, GetMachine()); - releaseDetails.SetFieldValue(RemoveKey, GetBoolFieldValue(RemoveKey)); - releaseDetails.SetFieldValue(SourceKey, GetFieldValue(SourceKey)); - releaseDetails.SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); + releaseDetails.Write(DupeTypeKey, Read(DupeTypeKey)); + releaseDetails.Write(MachineKey, GetMachine()); + releaseDetails.Write(RemoveKey, ReadBool(RemoveKey)); + releaseDetails.Write(SourceKey, Read(SourceKey)); + releaseDetails.Write(Data.Models.Metadata.DatItem.TypeKey, ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); return releaseDetails; } @@ -160,7 +160,7 @@ namespace SabreTools.Metadata.DatItems.Formats public override bool Equals(DatItem? other) { // If we don't have a Details, return false - if (GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) != other?.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey)) + if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey)) return false; // Otherwise, treat it as a Details diff --git a/SabreTools.Metadata.DatItems/Formats/Rom.cs b/SabreTools.Metadata.DatItems/Formats/Rom.cs index 149aface..a1db9cf2 100644 --- a/SabreTools.Metadata.DatItems/Formats/Rom.cs +++ b/SabreTools.Metadata.DatItems/Formats/Rom.cs @@ -35,7 +35,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var status = GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus(); + var status = ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus(); return status != ItemStatus.NULL && status != ItemStatus.None; } } @@ -45,7 +45,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var original = GetFieldValue("ORIGINAL"); + var original = Read("ORIGINAL"); return original is not null && original != default; } } @@ -55,12 +55,12 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var dataArea = GetFieldValue(DataAreaKey); + var dataArea = Read(DataAreaKey); return dataArea is not null && (!string.IsNullOrEmpty(dataArea.GetName()) - || dataArea.GetInt64FieldValue(Data.Models.Metadata.DataArea.SizeKey) is not null - || dataArea.GetInt64FieldValue(Data.Models.Metadata.DataArea.WidthKey) is not null - || dataArea.GetStringFieldValue(Data.Models.Metadata.DataArea.EndiannessKey).AsEndianness() != Endianness.NULL); + || dataArea.ReadLong(Data.Models.Metadata.DataArea.SizeKey) is not null + || dataArea.ReadLong(Data.Models.Metadata.DataArea.WidthKey) is not null + || dataArea.ReadString(Data.Models.Metadata.DataArea.EndiannessKey).AsEndianness() != Endianness.NULL); } } @@ -69,10 +69,10 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var part = GetFieldValue(PartKey); + var part = Read(PartKey); return part is not null && (!string.IsNullOrEmpty(part.GetName()) - || !string.IsNullOrEmpty(part.GetStringFieldValue(Data.Models.Metadata.Part.InterfaceKey))); + || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey))); } } @@ -82,8 +82,8 @@ namespace SabreTools.Metadata.DatItems.Formats public Rom() : base() { - SetFieldValue(DupeTypeKey, 0x00); - SetFieldValue(Data.Models.Metadata.Rom.StatusKey, ItemStatus.None.AsStringValue()); + Write(DupeTypeKey, 0x00); + Write(Data.Models.Metadata.Rom.StatusKey, ItemStatus.None.AsStringValue()); } public Rom(Data.Models.Metadata.Dump item, Machine machine, Source source, int index) @@ -114,18 +114,18 @@ namespace SabreTools.Metadata.DatItems.Formats string name = $"{machine.GetName()}_{index++}{(!string.IsNullOrEmpty(rom!.ReadString(Data.Models.Metadata.Rom.RemarkKey)) ? $" {rom.ReadString(Data.Models.Metadata.Rom.RemarkKey)}" : string.Empty)}"; SetName(name); - SetFieldValue(Data.Models.Metadata.Rom.OffsetKey, rom.ReadString(Data.Models.Metadata.Rom.StartKey)); - SetFieldValue(Data.Models.Metadata.Rom.OpenMSXMediaType, subType.AsStringValue()); - SetFieldValue(Data.Models.Metadata.Rom.OpenMSXType, rom.ReadString(Data.Models.Metadata.Rom.OpenMSXType) ?? rom.ReadString(Data.Models.Metadata.DatItem.TypeKey)); - SetFieldValue(Data.Models.Metadata.Rom.RemarkKey, rom.ReadString(Data.Models.Metadata.Rom.RemarkKey)); - SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)); - SetFieldValue(Data.Models.Metadata.Rom.StartKey, rom.ReadString(Data.Models.Metadata.Rom.StartKey)); - SetFieldValue(SourceKey, source); + Write(Data.Models.Metadata.Rom.OffsetKey, rom.ReadString(Data.Models.Metadata.Rom.StartKey)); + Write(Data.Models.Metadata.Rom.OpenMSXMediaType, subType.AsStringValue()); + Write(Data.Models.Metadata.Rom.OpenMSXType, rom.ReadString(Data.Models.Metadata.Rom.OpenMSXType) ?? rom.ReadString(Data.Models.Metadata.DatItem.TypeKey)); + Write(Data.Models.Metadata.Rom.RemarkKey, rom.ReadString(Data.Models.Metadata.Rom.RemarkKey)); + Write(Data.Models.Metadata.Rom.SHA1Key, rom.ReadString(Data.Models.Metadata.Rom.SHA1Key)); + Write(Data.Models.Metadata.Rom.StartKey, rom.ReadString(Data.Models.Metadata.Rom.StartKey)); + Write(SourceKey, source); if (item.Read(Data.Models.Metadata.Dump.OriginalKey) is not null) { var original = item.Read(Data.Models.Metadata.Dump.OriginalKey)!; - SetFieldValue("ORIGINAL", new Original + Write("ORIGINAL", new Original { Value = original.ReadBool(Data.Models.Metadata.Original.ValueKey), Content = original.ReadString(Data.Models.Metadata.Original.ContentKey), @@ -135,92 +135,92 @@ namespace SabreTools.Metadata.DatItems.Formats CopyMachineInformation(machine); // Process hash values - if (GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SizeKey, GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey).ToString()); + if (ReadLong(Data.Models.Metadata.Rom.SizeKey) is not null) + Write(Data.Models.Metadata.Rom.SizeKey, ReadLong(Data.Models.Metadata.Rom.SizeKey).ToString()); // TODO: This should be normalized to CRC-16 - if (GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, NormalizeHashData(GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key), 4)); - if (GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.CRCKey, TextHelper.NormalizeCRC32(GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey))); + if (ReadString(Data.Models.Metadata.Rom.CRC16Key) is not null) + Write(Data.Models.Metadata.Rom.CRC16Key, NormalizeHashData(ReadString(Data.Models.Metadata.Rom.CRC16Key), 4)); + if (ReadString(Data.Models.Metadata.Rom.CRCKey) is not null) + Write(Data.Models.Metadata.Rom.CRCKey, TextHelper.NormalizeCRC32(ReadString(Data.Models.Metadata.Rom.CRCKey))); // TODO: This should be normalized to CRC-64 - if (GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, NormalizeHashData(GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key), 16)); - if (GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.MD2Key, TextHelper.NormalizeMD2(GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.MD4Key, TextHelper.NormalizeMD5(GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.MD5Key, TextHelper.NormalizeMD5(GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, TextHelper.NormalizeRIPEMD128(GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, TextHelper.NormalizeRIPEMD160(GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, TextHelper.NormalizeSHA1(GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, TextHelper.NormalizeSHA256(GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, TextHelper.NormalizeSHA384(GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, TextHelper.NormalizeSHA512(GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key))); + if (ReadString(Data.Models.Metadata.Rom.CRC64Key) is not null) + Write(Data.Models.Metadata.Rom.CRC64Key, NormalizeHashData(ReadString(Data.Models.Metadata.Rom.CRC64Key), 16)); + if (ReadString(Data.Models.Metadata.Rom.MD2Key) is not null) + Write(Data.Models.Metadata.Rom.MD2Key, TextHelper.NormalizeMD2(ReadString(Data.Models.Metadata.Rom.MD2Key))); + if (ReadString(Data.Models.Metadata.Rom.MD4Key) is not null) + Write(Data.Models.Metadata.Rom.MD4Key, TextHelper.NormalizeMD5(ReadString(Data.Models.Metadata.Rom.MD4Key))); + if (ReadString(Data.Models.Metadata.Rom.MD5Key) is not null) + Write(Data.Models.Metadata.Rom.MD5Key, TextHelper.NormalizeMD5(ReadString(Data.Models.Metadata.Rom.MD5Key))); + if (ReadString(Data.Models.Metadata.Rom.RIPEMD128Key) is not null) + Write(Data.Models.Metadata.Rom.RIPEMD128Key, TextHelper.NormalizeRIPEMD128(ReadString(Data.Models.Metadata.Rom.RIPEMD128Key))); + if (ReadString(Data.Models.Metadata.Rom.RIPEMD160Key) is not null) + Write(Data.Models.Metadata.Rom.RIPEMD160Key, TextHelper.NormalizeRIPEMD160(ReadString(Data.Models.Metadata.Rom.RIPEMD160Key))); + if (ReadString(Data.Models.Metadata.Rom.SHA1Key) is not null) + Write(Data.Models.Metadata.Rom.SHA1Key, TextHelper.NormalizeSHA1(ReadString(Data.Models.Metadata.Rom.SHA1Key))); + if (ReadString(Data.Models.Metadata.Rom.SHA256Key) is not null) + Write(Data.Models.Metadata.Rom.SHA256Key, TextHelper.NormalizeSHA256(ReadString(Data.Models.Metadata.Rom.SHA256Key))); + if (ReadString(Data.Models.Metadata.Rom.SHA384Key) is not null) + Write(Data.Models.Metadata.Rom.SHA384Key, TextHelper.NormalizeSHA384(ReadString(Data.Models.Metadata.Rom.SHA384Key))); + if (ReadString(Data.Models.Metadata.Rom.SHA512Key) is not null) + Write(Data.Models.Metadata.Rom.SHA512Key, TextHelper.NormalizeSHA512(ReadString(Data.Models.Metadata.Rom.SHA512Key))); } public Rom(Data.Models.Metadata.Rom item) : base(item) { - SetFieldValue(DupeTypeKey, 0x00); + Write(DupeTypeKey, 0x00); // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.Rom.DisposeKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.DisposeKey, GetBoolFieldValue(Data.Models.Metadata.Rom.DisposeKey).FromYesNo()); - if (GetBoolFieldValue(Data.Models.Metadata.Rom.InvertedKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.InvertedKey, GetBoolFieldValue(Data.Models.Metadata.Rom.InvertedKey).FromYesNo()); - if (GetStringFieldValue(Data.Models.Metadata.Rom.LoadFlagKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.LoadFlagKey, GetStringFieldValue(Data.Models.Metadata.Rom.LoadFlagKey).AsLoadFlag().AsStringValue()); - if (GetStringFieldValue(Data.Models.Metadata.Rom.OpenMSXMediaType) is not null) - SetFieldValue(Data.Models.Metadata.Rom.OpenMSXMediaType, GetStringFieldValue(Data.Models.Metadata.Rom.OpenMSXMediaType).AsOpenMSXSubType().AsStringValue()); - if (GetBoolFieldValue(Data.Models.Metadata.Rom.MIAKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.MIAKey, GetBoolFieldValue(Data.Models.Metadata.Rom.MIAKey).FromYesNo()); - if (GetBoolFieldValue(Data.Models.Metadata.Rom.OptionalKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.OptionalKey, GetBoolFieldValue(Data.Models.Metadata.Rom.OptionalKey).FromYesNo()); - if (GetBoolFieldValue(Data.Models.Metadata.Rom.SoundOnlyKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SoundOnlyKey, GetBoolFieldValue(Data.Models.Metadata.Rom.SoundOnlyKey).FromYesNo()); - if (GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.StatusKey, GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey).AsItemStatus().AsStringValue()); + if (ReadBool(Data.Models.Metadata.Rom.DisposeKey) is not null) + Write(Data.Models.Metadata.Rom.DisposeKey, ReadBool(Data.Models.Metadata.Rom.DisposeKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Rom.InvertedKey) is not null) + Write(Data.Models.Metadata.Rom.InvertedKey, ReadBool(Data.Models.Metadata.Rom.InvertedKey).FromYesNo()); + if (ReadString(Data.Models.Metadata.Rom.LoadFlagKey) is not null) + Write(Data.Models.Metadata.Rom.LoadFlagKey, ReadString(Data.Models.Metadata.Rom.LoadFlagKey).AsLoadFlag().AsStringValue()); + if (ReadString(Data.Models.Metadata.Rom.OpenMSXMediaType) is not null) + Write(Data.Models.Metadata.Rom.OpenMSXMediaType, ReadString(Data.Models.Metadata.Rom.OpenMSXMediaType).AsOpenMSXSubType().AsStringValue()); + if (ReadBool(Data.Models.Metadata.Rom.MIAKey) is not null) + Write(Data.Models.Metadata.Rom.MIAKey, ReadBool(Data.Models.Metadata.Rom.MIAKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Rom.OptionalKey) is not null) + Write(Data.Models.Metadata.Rom.OptionalKey, ReadBool(Data.Models.Metadata.Rom.OptionalKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Rom.SoundOnlyKey) is not null) + Write(Data.Models.Metadata.Rom.SoundOnlyKey, ReadBool(Data.Models.Metadata.Rom.SoundOnlyKey).FromYesNo()); + if (ReadString(Data.Models.Metadata.Rom.StatusKey) is not null) + Write(Data.Models.Metadata.Rom.StatusKey, ReadString(Data.Models.Metadata.Rom.StatusKey).AsItemStatus().AsStringValue()); // Process hash values - if (GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SizeKey, GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey).ToString()); + if (ReadLong(Data.Models.Metadata.Rom.SizeKey) is not null) + Write(Data.Models.Metadata.Rom.SizeKey, ReadLong(Data.Models.Metadata.Rom.SizeKey).ToString()); // TODO: This should be normalized to CRC-16 - if (GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.CRC16Key, NormalizeHashData(GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key), 4)); - if (GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey) is not null) - SetFieldValue(Data.Models.Metadata.Rom.CRCKey, TextHelper.NormalizeCRC32(GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey))); + if (ReadString(Data.Models.Metadata.Rom.CRC16Key) is not null) + Write(Data.Models.Metadata.Rom.CRC16Key, NormalizeHashData(ReadString(Data.Models.Metadata.Rom.CRC16Key), 4)); + if (ReadString(Data.Models.Metadata.Rom.CRCKey) is not null) + Write(Data.Models.Metadata.Rom.CRCKey, TextHelper.NormalizeCRC32(ReadString(Data.Models.Metadata.Rom.CRCKey))); // TODO: This should be normalized to CRC-64 - if (GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.CRC64Key, NormalizeHashData(GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key), 16)); - if (GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.MD2Key, TextHelper.NormalizeMD2(GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.MD4Key, TextHelper.NormalizeMD4(GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.MD5Key, TextHelper.NormalizeMD5(GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, TextHelper.NormalizeRIPEMD128(GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, TextHelper.NormalizeRIPEMD160(GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, TextHelper.NormalizeSHA1(GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, TextHelper.NormalizeSHA256(GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, TextHelper.NormalizeSHA384(GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key))); - if (GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key) is not null) - SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, TextHelper.NormalizeSHA512(GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key))); + if (ReadString(Data.Models.Metadata.Rom.CRC64Key) is not null) + Write(Data.Models.Metadata.Rom.CRC64Key, NormalizeHashData(ReadString(Data.Models.Metadata.Rom.CRC64Key), 16)); + if (ReadString(Data.Models.Metadata.Rom.MD2Key) is not null) + Write(Data.Models.Metadata.Rom.MD2Key, TextHelper.NormalizeMD2(ReadString(Data.Models.Metadata.Rom.MD2Key))); + if (ReadString(Data.Models.Metadata.Rom.MD4Key) is not null) + Write(Data.Models.Metadata.Rom.MD4Key, TextHelper.NormalizeMD4(ReadString(Data.Models.Metadata.Rom.MD4Key))); + if (ReadString(Data.Models.Metadata.Rom.MD5Key) is not null) + Write(Data.Models.Metadata.Rom.MD5Key, TextHelper.NormalizeMD5(ReadString(Data.Models.Metadata.Rom.MD5Key))); + if (ReadString(Data.Models.Metadata.Rom.RIPEMD128Key) is not null) + Write(Data.Models.Metadata.Rom.RIPEMD128Key, TextHelper.NormalizeRIPEMD128(ReadString(Data.Models.Metadata.Rom.RIPEMD128Key))); + if (ReadString(Data.Models.Metadata.Rom.RIPEMD160Key) is not null) + Write(Data.Models.Metadata.Rom.RIPEMD160Key, TextHelper.NormalizeRIPEMD160(ReadString(Data.Models.Metadata.Rom.RIPEMD160Key))); + if (ReadString(Data.Models.Metadata.Rom.SHA1Key) is not null) + Write(Data.Models.Metadata.Rom.SHA1Key, TextHelper.NormalizeSHA1(ReadString(Data.Models.Metadata.Rom.SHA1Key))); + if (ReadString(Data.Models.Metadata.Rom.SHA256Key) is not null) + Write(Data.Models.Metadata.Rom.SHA256Key, TextHelper.NormalizeSHA256(ReadString(Data.Models.Metadata.Rom.SHA256Key))); + if (ReadString(Data.Models.Metadata.Rom.SHA384Key) is not null) + Write(Data.Models.Metadata.Rom.SHA384Key, TextHelper.NormalizeSHA384(ReadString(Data.Models.Metadata.Rom.SHA384Key))); + if (ReadString(Data.Models.Metadata.Rom.SHA512Key) is not null) + Write(Data.Models.Metadata.Rom.SHA512Key, TextHelper.NormalizeSHA512(ReadString(Data.Models.Metadata.Rom.SHA512Key))); } public Rom(Data.Models.Metadata.Rom item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -343,55 +343,55 @@ namespace SabreTools.Metadata.DatItems.Formats switch (bucketedBy) { case ItemKey.CRC16: - key = GetStringFieldValue(Data.Models.Metadata.Rom.CRC16Key); + key = ReadString(Data.Models.Metadata.Rom.CRC16Key); break; case ItemKey.CRC: - key = GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey); + key = ReadString(Data.Models.Metadata.Rom.CRCKey); break; case ItemKey.CRC64: - key = GetStringFieldValue(Data.Models.Metadata.Rom.CRC64Key); + key = ReadString(Data.Models.Metadata.Rom.CRC64Key); break; case ItemKey.MD2: - key = GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key); + key = ReadString(Data.Models.Metadata.Rom.MD2Key); break; case ItemKey.MD4: - key = GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key); + key = ReadString(Data.Models.Metadata.Rom.MD4Key); break; case ItemKey.MD5: - key = GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key); + key = ReadString(Data.Models.Metadata.Rom.MD5Key); break; case ItemKey.RIPEMD128: - key = GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key); + key = ReadString(Data.Models.Metadata.Rom.RIPEMD128Key); break; case ItemKey.RIPEMD160: - key = GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key); + key = ReadString(Data.Models.Metadata.Rom.RIPEMD160Key); break; case ItemKey.SHA1: - key = GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key); + key = ReadString(Data.Models.Metadata.Rom.SHA1Key); break; case ItemKey.SHA256: - key = GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key); + key = ReadString(Data.Models.Metadata.Rom.SHA256Key); break; case ItemKey.SHA384: - key = GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key); + key = ReadString(Data.Models.Metadata.Rom.SHA384Key); break; case ItemKey.SHA512: - key = GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key); + key = ReadString(Data.Models.Metadata.Rom.SHA512Key); break; case ItemKey.SpamSum: - key = GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey); + key = ReadString(Data.Models.Metadata.Rom.SpamSumKey); break; // Let the base handle generic stuff diff --git a/SabreTools.Metadata.DatItems/Formats/Sample.cs b/SabreTools.Metadata.DatItems/Formats/Sample.cs index fa7da685..9cb1e7a5 100644 --- a/SabreTools.Metadata.DatItems/Formats/Sample.cs +++ b/SabreTools.Metadata.DatItems/Formats/Sample.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatItems.Formats public Sample(Data.Models.Metadata.Sample item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Serials.cs b/SabreTools.Metadata.DatItems/Formats/Serials.cs index 4622250e..1b1d0cdb 100644 --- a/SabreTools.Metadata.DatItems/Formats/Serials.cs +++ b/SabreTools.Metadata.DatItems/Formats/Serials.cs @@ -108,7 +108,7 @@ namespace SabreTools.Metadata.DatItems.Formats /// public Serials() { - SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, ItemType); + Write(Data.Models.Metadata.DatItem.TypeKey, ItemType); } #endregion @@ -135,11 +135,11 @@ namespace SabreTools.Metadata.DatItems.Formats MediaStamp = this.MediaStamp, BoxBarcode = this.BoxBarcode, }; - serials.SetFieldValue(DupeTypeKey, GetFieldValue(DupeTypeKey)); - serials.SetFieldValue(MachineKey, GetMachine()); - serials.SetFieldValue(RemoveKey, GetBoolFieldValue(RemoveKey)); - serials.SetFieldValue(SourceKey, GetFieldValue(SourceKey)); - serials.SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); + serials.Write(DupeTypeKey, Read(DupeTypeKey)); + serials.Write(MachineKey, GetMachine()); + serials.Write(RemoveKey, ReadBool(RemoveKey)); + serials.Write(SourceKey, Read(SourceKey)); + serials.Write(Data.Models.Metadata.DatItem.TypeKey, ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); return serials; } @@ -152,7 +152,7 @@ namespace SabreTools.Metadata.DatItems.Formats public override bool Equals(DatItem? other) { // If we don't have a Serials, return false - if (GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) != other?.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey)) + if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey)) return false; // Otherwise, treat it as a Serials diff --git a/SabreTools.Metadata.DatItems/Formats/SharedFeat.cs b/SabreTools.Metadata.DatItems/Formats/SharedFeat.cs index 0bae9d8b..a978d966 100644 --- a/SabreTools.Metadata.DatItems/Formats/SharedFeat.cs +++ b/SabreTools.Metadata.DatItems/Formats/SharedFeat.cs @@ -24,7 +24,7 @@ namespace SabreTools.Metadata.DatItems.Formats public SharedFeat(Data.Models.Metadata.SharedFeat item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Slot.cs b/SabreTools.Metadata.DatItems/Formats/Slot.cs index 1e329ee2..7f150b21 100644 --- a/SabreTools.Metadata.DatItems/Formats/Slot.cs +++ b/SabreTools.Metadata.DatItems/Formats/Slot.cs @@ -21,7 +21,7 @@ namespace SabreTools.Metadata.DatItems.Formats { get { - var slotOptions = GetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey); + var slotOptions = Read(Data.Models.Metadata.Slot.SlotOptionKey); return slotOptions is not null && slotOptions.Length > 0; } } @@ -39,13 +39,13 @@ namespace SabreTools.Metadata.DatItems.Formats if (slotOptions is not null) { SlotOption[] slotOptionItems = Array.ConvertAll(slotOptions, slotOption => new SlotOption(slotOption)); - SetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey, slotOptionItems); + Write(Data.Models.Metadata.Slot.SlotOptionKey, slotOptionItems); } } public Slot(Data.Models.Metadata.Slot item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } @@ -58,7 +58,7 @@ namespace SabreTools.Metadata.DatItems.Formats { var slotItem = base.GetInternalClone(); - var slotOptions = GetFieldValue(Data.Models.Metadata.Slot.SlotOptionKey); + var slotOptions = Read(Data.Models.Metadata.Slot.SlotOptionKey); if (slotOptions is not null) { Data.Models.Metadata.SlotOption[] slotOptionItems = Array.ConvertAll(slotOptions, slotOption => slotOption.GetInternalClone()); diff --git a/SabreTools.Metadata.DatItems/Formats/SlotOption.cs b/SabreTools.Metadata.DatItems/Formats/SlotOption.cs index 6af8e1e0..2f8fb6b4 100644 --- a/SabreTools.Metadata.DatItems/Formats/SlotOption.cs +++ b/SabreTools.Metadata.DatItems/Formats/SlotOption.cs @@ -23,13 +23,13 @@ namespace SabreTools.Metadata.DatItems.Formats public SlotOption(Data.Models.Metadata.SlotOption item) : base(item) { // Process flag values - if (GetBoolFieldValue(Data.Models.Metadata.SlotOption.DefaultKey) is not null) - SetFieldValue(Data.Models.Metadata.SlotOption.DefaultKey, GetBoolFieldValue(Data.Models.Metadata.SlotOption.DefaultKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.SlotOption.DefaultKey) is not null) + Write(Data.Models.Metadata.SlotOption.DefaultKey, ReadBool(Data.Models.Metadata.SlotOption.DefaultKey).FromYesNo()); } public SlotOption(Data.Models.Metadata.SlotOption item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs b/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs index 55d7128d..d6684e4d 100644 --- a/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs +++ b/SabreTools.Metadata.DatItems/Formats/SoftwareList.cs @@ -23,8 +23,8 @@ namespace SabreTools.Metadata.DatItems.Formats public SoftwareList(Data.Models.Metadata.SoftwareList item) : base(item) { // Process flag values - if (GetStringFieldValue(Data.Models.Metadata.SoftwareList.StatusKey) is not null) - SetFieldValue(Data.Models.Metadata.SoftwareList.StatusKey, GetStringFieldValue(Data.Models.Metadata.SoftwareList.StatusKey).AsSoftwareListStatus().AsStringValue()); + if (ReadString(Data.Models.Metadata.SoftwareList.StatusKey) is not null) + Write(Data.Models.Metadata.SoftwareList.StatusKey, ReadString(Data.Models.Metadata.SoftwareList.StatusKey).AsSoftwareListStatus().AsStringValue()); // Handle subitems // TODO: Handle the Software subitem @@ -32,7 +32,7 @@ namespace SabreTools.Metadata.DatItems.Formats public SoftwareList(Data.Models.Metadata.SoftwareList item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/Sound.cs b/SabreTools.Metadata.DatItems/Formats/Sound.cs index 8305809e..d66055e2 100644 --- a/SabreTools.Metadata.DatItems/Formats/Sound.cs +++ b/SabreTools.Metadata.DatItems/Formats/Sound.cs @@ -23,13 +23,13 @@ namespace SabreTools.Metadata.DatItems.Formats public Sound(Data.Models.Metadata.Sound item) : base(item) { // Process flag values - if (GetInt64FieldValue(Data.Models.Metadata.Sound.ChannelsKey) is not null) - SetFieldValue(Data.Models.Metadata.Sound.ChannelsKey, GetInt64FieldValue(Data.Models.Metadata.Sound.ChannelsKey).ToString()); + if (ReadLong(Data.Models.Metadata.Sound.ChannelsKey) is not null) + Write(Data.Models.Metadata.Sound.ChannelsKey, ReadLong(Data.Models.Metadata.Sound.ChannelsKey).ToString()); } public Sound(Data.Models.Metadata.Sound item, Machine machine, Source source) : this(item) { - SetFieldValue(SourceKey, source); + Write(SourceKey, source); CopyMachineInformation(machine); } diff --git a/SabreTools.Metadata.DatItems/Formats/SourceDetails.cs b/SabreTools.Metadata.DatItems/Formats/SourceDetails.cs index 3dcf2b9d..7c0813f8 100644 --- a/SabreTools.Metadata.DatItems/Formats/SourceDetails.cs +++ b/SabreTools.Metadata.DatItems/Formats/SourceDetails.cs @@ -145,7 +145,7 @@ namespace SabreTools.Metadata.DatItems.Formats /// public SourceDetails() { - SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, ItemType.SourceDetails); + Write(Data.Models.Metadata.DatItem.TypeKey, ItemType.SourceDetails); } #endregion @@ -178,11 +178,11 @@ namespace SabreTools.Metadata.DatItems.Formats Link2 = this.Link2, Link3 = this.Link3, }; - sourceDetails.SetFieldValue(DupeTypeKey, GetFieldValue(DupeTypeKey)); - sourceDetails.SetFieldValue(MachineKey, GetMachine()); - sourceDetails.SetFieldValue(RemoveKey, GetBoolFieldValue(RemoveKey)); - sourceDetails.SetFieldValue(SourceKey, GetFieldValue(SourceKey)); - sourceDetails.SetFieldValue(Data.Models.Metadata.DatItem.TypeKey, GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); + sourceDetails.Write(DupeTypeKey, Read(DupeTypeKey)); + sourceDetails.Write(MachineKey, GetMachine()); + sourceDetails.Write(RemoveKey, ReadBool(RemoveKey)); + sourceDetails.Write(SourceKey, Read(SourceKey)); + sourceDetails.Write(Data.Models.Metadata.DatItem.TypeKey, ReadString(Data.Models.Metadata.DatItem.TypeKey).AsItemType().AsStringValue()); return sourceDetails; } @@ -195,7 +195,7 @@ namespace SabreTools.Metadata.DatItems.Formats public override bool Equals(DatItem? other) { // If we don't have a SourceDetails, return false - if (GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey) != other?.GetStringFieldValue(Data.Models.Metadata.DatItem.TypeKey)) + if (ReadString(Data.Models.Metadata.DatItem.TypeKey) != other?.ReadString(Data.Models.Metadata.DatItem.TypeKey)) return false; // Otherwise, treat it as a SourceDetails diff --git a/SabreTools.Metadata.DatItems/Machine.cs b/SabreTools.Metadata.DatItems/Machine.cs index 59e68c6c..50b78cfb 100644 --- a/SabreTools.Metadata.DatItems/Machine.cs +++ b/SabreTools.Metadata.DatItems/Machine.cs @@ -36,25 +36,25 @@ namespace SabreTools.Metadata.DatItems } // Process flag values - if (GetStringFieldValue(Data.Models.Metadata.Machine.Im1CRCKey) is not null) - SetFieldValue(Data.Models.Metadata.Machine.Im1CRCKey, TextHelper.NormalizeCRC32(GetStringFieldValue(Data.Models.Metadata.Machine.Im1CRCKey))); - if (GetStringFieldValue(Data.Models.Metadata.Machine.Im2CRCKey) is not null) - SetFieldValue(Data.Models.Metadata.Machine.Im2CRCKey, TextHelper.NormalizeCRC32(GetStringFieldValue(Data.Models.Metadata.Machine.Im2CRCKey))); - if (GetBoolFieldValue(Data.Models.Metadata.Machine.IsBiosKey) is not null) - SetFieldValue(Data.Models.Metadata.Machine.IsBiosKey, GetBoolFieldValue(Data.Models.Metadata.Machine.IsBiosKey).FromYesNo()); - if (GetBoolFieldValue(Data.Models.Metadata.Machine.IsDeviceKey) is not null) - SetFieldValue(Data.Models.Metadata.Machine.IsDeviceKey, GetBoolFieldValue(Data.Models.Metadata.Machine.IsDeviceKey).FromYesNo()); - if (GetBoolFieldValue(Data.Models.Metadata.Machine.IsMechanicalKey) is not null) - SetFieldValue(Data.Models.Metadata.Machine.IsMechanicalKey, GetBoolFieldValue(Data.Models.Metadata.Machine.IsMechanicalKey).FromYesNo()); - if (GetStringFieldValue(Data.Models.Metadata.Machine.SupportedKey) is not null) - SetFieldValue(Data.Models.Metadata.Machine.SupportedKey, GetStringFieldValue(Data.Models.Metadata.Machine.SupportedKey).AsSupported().AsStringValue()); + if (ReadString(Data.Models.Metadata.Machine.Im1CRCKey) is not null) + Write(Data.Models.Metadata.Machine.Im1CRCKey, TextHelper.NormalizeCRC32(ReadString(Data.Models.Metadata.Machine.Im1CRCKey))); + if (ReadString(Data.Models.Metadata.Machine.Im2CRCKey) is not null) + Write(Data.Models.Metadata.Machine.Im2CRCKey, TextHelper.NormalizeCRC32(ReadString(Data.Models.Metadata.Machine.Im2CRCKey))); + if (ReadBool(Data.Models.Metadata.Machine.IsBiosKey) is not null) + Write(Data.Models.Metadata.Machine.IsBiosKey, ReadBool(Data.Models.Metadata.Machine.IsBiosKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Machine.IsDeviceKey) is not null) + Write(Data.Models.Metadata.Machine.IsDeviceKey, ReadBool(Data.Models.Metadata.Machine.IsDeviceKey).FromYesNo()); + if (ReadBool(Data.Models.Metadata.Machine.IsMechanicalKey) is not null) + Write(Data.Models.Metadata.Machine.IsMechanicalKey, ReadBool(Data.Models.Metadata.Machine.IsMechanicalKey).FromYesNo()); + if (ReadString(Data.Models.Metadata.Machine.SupportedKey) is not null) + Write(Data.Models.Metadata.Machine.SupportedKey, ReadString(Data.Models.Metadata.Machine.SupportedKey).AsSupported().AsStringValue()); // Handle Trurip object, if it exists if (machine.ContainsKey(Data.Models.Metadata.Machine.TruripKey)) { var truripItem = machine.Read(Data.Models.Metadata.Machine.TruripKey); if (truripItem is not null) - SetFieldValue(Data.Models.Metadata.Machine.TruripKey, new Trurip(truripItem)); + Write(Data.Models.Metadata.Machine.TruripKey, new Trurip(truripItem)); } } diff --git a/SabreTools.Metadata.Test/ModelBackedItemTests.cs b/SabreTools.Metadata.Test/ModelBackedItemTests.cs index 463c33ea..eb86e79d 100644 --- a/SabreTools.Metadata.Test/ModelBackedItemTests.cs +++ b/SabreTools.Metadata.Test/ModelBackedItemTests.cs @@ -133,10 +133,10 @@ namespace SabreTools.Metadata.Test public void Equals_DifferentModels_False() { ModelBackedItem self = new TestModelBackedItem(); - self.SetFieldValue(TestDictionaryBase.NameKey, "self"); + self.Write(TestDictionaryBase.NameKey, "self"); ModelBackedItem? other = new TestModelBackedItem(); - other.SetFieldValue(TestDictionaryBase.NameKey, "other"); + other.Write(TestDictionaryBase.NameKey, "other"); bool actual = self.Equals(other); Assert.False(actual); @@ -146,10 +146,10 @@ namespace SabreTools.Metadata.Test public void Equals_EqualModels_True() { ModelBackedItem self = new TestModelBackedItem(); - self.SetFieldValue(TestDictionaryBase.NameKey, "name"); + self.Write(TestDictionaryBase.NameKey, "name"); ModelBackedItem? other = new TestModelBackedItem(); - other.SetFieldValue(TestDictionaryBase.NameKey, "name"); + other.Write(TestDictionaryBase.NameKey, "name"); bool actual = self.Equals(other); Assert.True(actual); @@ -157,159 +157,159 @@ namespace SabreTools.Metadata.Test #endregion - #region RemoveField + #region Remove [Fact] - public void RemoveField_NullItem_False() + public void Remove_NullItem_False() { TestModelBackedItem? modelBackedItem = null; string? fieldName = TestDictionaryBase.NameKey; - bool? actual = modelBackedItem?.RemoveField(fieldName); + bool? actual = modelBackedItem?.Remove(fieldName); Assert.Null(actual); } [Fact] - public void RemoveField_EmptyFieldName_False() + public void Remove_EmptyFieldName_False() { var modelBackedItem = new TestModelBackedItem(); string? fieldName = string.Empty; - bool actual = modelBackedItem.RemoveField(fieldName); + bool actual = modelBackedItem.Remove(fieldName); Assert.False(actual); } [Fact] - public void RemoveField_MissingKey_True() + public void Remove_MissingKey_True() { var modelBackedItem = new TestModelBackedItem(); string? fieldName = TestDictionaryBase.NameKey; - bool actual = modelBackedItem.RemoveField(fieldName); + bool actual = modelBackedItem.Remove(fieldName); Assert.True(actual); - Assert.Null(modelBackedItem.GetStringFieldValue(fieldName)); + Assert.Null(modelBackedItem.ReadString(fieldName)); } [Fact] - public void RemoveField_ValidKey_True() + public void Remove_ValidKey_True() { var modelBackedItem = new TestModelBackedItem(); - modelBackedItem.SetFieldValue(TestDictionaryBase.NameKey, "value"); + modelBackedItem.Write(TestDictionaryBase.NameKey, "value"); string? fieldName = TestDictionaryBase.NameKey; - bool actual = modelBackedItem.RemoveField(fieldName); + bool actual = modelBackedItem.Remove(fieldName); Assert.True(actual); - Assert.Null(modelBackedItem.GetStringFieldValue(fieldName)); + Assert.Null(modelBackedItem.ReadString(fieldName)); } #endregion - #region ReplaceField + #region Replace [Fact] - public void ReplaceField_NullFrom_False() + public void Replace_NullFrom_False() { TestModelBackedItem? from = null; var to = new TestModelBackedItem(); string? fieldName = TestDictionaryBase.NameKey; - bool actual = to.ReplaceField(from, fieldName); + bool actual = to.Replace(from, fieldName); Assert.False(actual); } [Fact] - public void ReplaceField_NullTo_False() + public void Replace_NullTo_False() { TestModelBackedItem? from = null; TestModelBackedItem? to = new TestModelBackedItem(); string? fieldName = TestDictionaryBase.NameKey; - bool actual = to.ReplaceField(from, fieldName); + bool actual = to.Replace(from, fieldName); Assert.False(actual); } [Fact] - public void ReplaceField_EmptyFieldName_False() + public void Replace_EmptyFieldName_False() { TestModelBackedItem? from = new TestModelBackedItem(); TestModelBackedItem? to = new TestModelBackedItem(); string? fieldName = string.Empty; - bool actual = to.ReplaceField(from, fieldName); + bool actual = to.Replace(from, fieldName); Assert.False(actual); } [Fact] - public void ReplaceField_MissingKey_False() + public void Replace_MissingKey_False() { TestModelBackedItem? from = new TestModelBackedItem(); TestModelBackedItem? to = new TestModelBackedItem(); string? fieldName = TestDictionaryBase.NameKey; - bool actual = to.ReplaceField(from, fieldName); + bool actual = to.Replace(from, fieldName); Assert.False(actual); } [Fact] - public void ReplaceField_ValidKey_True() + public void Replace_ValidKey_True() { TestModelBackedItem? from = new TestModelBackedItem(); - from.SetFieldValue(TestDictionaryBase.NameKey, "value"); + from.Write(TestDictionaryBase.NameKey, "value"); TestModelBackedItem? to = new TestModelBackedItem(); string? fieldName = TestDictionaryBase.NameKey; - bool actual = to.ReplaceField(from, fieldName); + bool actual = to.Replace(from, fieldName); Assert.True(actual); - Assert.Equal("value", to.GetStringFieldValue(TestDictionaryBase.NameKey)); + Assert.Equal("value", to.ReadString(TestDictionaryBase.NameKey)); } #endregion - #region SetField + #region WriteWithValidation [Fact] - public void SetField_NullItem_False() + public void WriteWithValidation_NullItem_False() { TestModelBackedItem? modelBackedItem = null; string? fieldName = TestDictionaryBase.NameKey; object value = "value"; - bool? actual = modelBackedItem?.SetField(fieldName, value); + bool? actual = modelBackedItem?.WriteWithValidation(fieldName, value); Assert.Null(actual); } [Fact] - public void SetField_EmptyFieldName_False() + public void WriteWithValidation_EmptyFieldName_False() { TestModelBackedItem? modelBackedItem = new TestModelBackedItem(); string? fieldName = string.Empty; object value = "value"; - bool actual = modelBackedItem.SetField(fieldName, value); + bool actual = modelBackedItem.WriteWithValidation(fieldName, value); Assert.False(actual); } [Fact] - public void SetField_MissingKey_False() + public void WriteWithValidation_MissingKey_False() { TestModelBackedItem? modelBackedItem = new TestModelBackedItem(); string? fieldName = Rom.SHA1Key; object value = "value"; - bool actual = modelBackedItem.SetField(fieldName, value); + bool actual = modelBackedItem.WriteWithValidation(fieldName, value); Assert.False(actual); } [Fact] - public void SetField_InvalidKey_True() + public void WriteWithValidation_InvalidKey_True() { TestModelBackedItem? modelBackedItem = new TestModelBackedItem(); - modelBackedItem.SetFieldValue(TestDictionaryBase.NameKey, "old"); + modelBackedItem.Write(TestDictionaryBase.NameKey, "old"); string? fieldName = "INVALID"; object value = "value"; - bool actual = modelBackedItem.SetField(fieldName, value); + bool actual = modelBackedItem.WriteWithValidation(fieldName, value); Assert.False(actual); - Assert.Null(modelBackedItem.GetStringFieldValue(fieldName)); + Assert.Null(modelBackedItem.ReadString(fieldName)); } [Fact] - public void SetField_ValidKey_True() + public void WriteWithValidation_ValidKey_True() { TestModelBackedItem? modelBackedItem = new TestModelBackedItem(); - modelBackedItem.SetFieldValue(TestDictionaryBase.NameKey, "old"); + modelBackedItem.Write(TestDictionaryBase.NameKey, "old"); string? fieldName = TestDictionaryBase.NameKey; object value = "value"; - bool actual = modelBackedItem.SetField(fieldName, value); + bool actual = modelBackedItem.WriteWithValidation(fieldName, value); Assert.True(actual); - Assert.Equal(value, modelBackedItem.GetStringFieldValue(fieldName)); + Assert.Equal(value, modelBackedItem.ReadString(fieldName)); } #endregion diff --git a/SabreTools.Metadata/ModelBackedItemT.cs b/SabreTools.Metadata/ModelBackedItemT.cs index 2931a0d2..cd7fd26f 100644 --- a/SabreTools.Metadata/ModelBackedItemT.cs +++ b/SabreTools.Metadata/ModelBackedItemT.cs @@ -1,7 +1,6 @@ using System; using System.Xml.Serialization; using Newtonsoft.Json; -using SabreTools.Text.Extensions; namespace SabreTools.Metadata { @@ -33,102 +32,48 @@ namespace SabreTools.Metadata /// Type of the value to get from the internal model /// Field to retrieve /// Value from the field, if possible - public U? GetFieldValue(string fieldName) - { - // Invalid field cannot be processed - if (!_internal.ContainsKey(fieldName)) - return default; - - // Get the value based on the type - return _internal.Read(fieldName); - } + public U? Read(string fieldName) + => _internal.Read(fieldName); /// /// Get the value from a field based on the type provided /// /// Field to retrieve /// Value from the field, if possible - public bool? GetBoolFieldValue(string fieldName) - { - // Invalid field cannot be processed - if (!_internal.ContainsKey(fieldName)) - return default; - - // Get the value based on the type - return _internal.ReadBool(fieldName); - } + public bool? ReadBool(string fieldName) + => _internal.ReadBool(fieldName); /// /// Get the value from a field based on the type provided /// /// Field to retrieve /// Value from the field, if possible - public double? GetDoubleFieldValue(string fieldName) - { - // Invalid field cannot be processed - if (!_internal.ContainsKey(fieldName)) - return default; - - // Try to parse directly - double? doubleValue = _internal.ReadDouble(fieldName); - if (doubleValue is not null) - return doubleValue; - - // Try to parse from the string - string? stringValue = _internal.ReadString(fieldName); - return NumberHelper.ConvertToDouble(stringValue); - } + public double? ReadDouble(string fieldName) + => _internal.ReadDouble(fieldName); /// /// Get the value from a field based on the type provided /// /// Field to retrieve /// Value from the field, if possible - public long? GetInt64FieldValue(string fieldName) - { - // Invalid field cannot be processed - if (!_internal.ContainsKey(fieldName)) - return default; - - // Try to parse directly - long? longValue = _internal.ReadLong(fieldName); - if (longValue is not null) - return longValue; - - // Try to parse from the string - string? stringValue = _internal.ReadString(fieldName); - return NumberHelper.ConvertToInt64(stringValue); - } + public long? ReadLong(string fieldName) + => _internal.ReadLong(fieldName); /// /// Get the value from a field based on the type provided /// /// Field to retrieve /// Value from the field, if possible - public string? GetStringFieldValue(string fieldName) - { - // Invalid field cannot be processed - if (!_internal.ContainsKey(fieldName)) - return default; - - // Get the value based on the type - return _internal.ReadString(fieldName); - } + public string? ReadString(string fieldName) + => _internal.ReadString(fieldName); /// /// Get the value from a field based on the type provided /// /// Field to retrieve /// Value from the field, if possible - public string[]? GetStringArrayFieldValue(string fieldName) - { - // Invalid field cannot be processed - if (!_internal.ContainsKey(fieldName)) - return default; - - // Get the value based on the type - return _internal.ReadStringArray(fieldName); - } + public string[]? ReadStringArray(string fieldName) + => _internal.ReadStringArray(fieldName); /// /// Set the value from a field based on the type provided @@ -137,72 +82,14 @@ namespace SabreTools.Metadata /// Field to set /// Value to set /// True if the value was set, false otherwise - public bool SetFieldValue(string fieldName, U? value) - { - // Invalid field cannot be processed - if (fieldName is null) - return false; - - // Set the value based on the type - _internal[fieldName] = value; - return true; - } - - #endregion - - #region Comparision Methods - - /// - public abstract bool Equals(ModelBackedItem? other); - - #endregion - - #region Manipulation + public bool Write(string fieldName, U? value) + => _internal.Write(fieldName, value); /// - /// Remove a field from the backing item + /// Set a field from the backing item validating the field is expected /// - public bool RemoveField(string fieldName) - { - // If the item or field name are missing, we can't do anything - if (string.IsNullOrEmpty(fieldName)) - return false; - - // If the key doesn't exist, then it's already removed - if (!_internal.ContainsKey(fieldName!)) - return true; - - // Remove the key - _internal.Remove(fieldName!); - return true; - } - - /// - /// Replace a field from another ModelBackedItem - /// - public bool ReplaceField(ModelBackedItem? from, string fieldName) - { - // If the items or field name are missing, we can't do anything - if (from?._internal is null || string.IsNullOrEmpty(fieldName)) - return false; - - // If the types of the items are not the same, we can't do anything - if (from._internal.GetType() != _internal.GetType()) - return false; - - // If the key doesn't exist in the source, we can't do anything - if (!from._internal.ContainsKey(fieldName!)) - return false; - - // Set the key - _internal[fieldName!] = from._internal[fieldName!]; - return true; - } - - /// - /// Set a field from the backing item - /// - public bool SetField(string fieldName, object value) + /// TODO: Figure out how to add this to DictionaryBase + public bool WriteWithValidation(string fieldName, object value) { // If the item or field name are missing, we can't do anything if (string.IsNullOrEmpty(fieldName)) @@ -219,10 +106,32 @@ namespace SabreTools.Metadata return false; // Set the field with the new value - _internal[realField] = value; - return true; + return _internal.Write(realField, value); } #endregion + + #region Comparision Methods + + /// + public abstract bool Equals(ModelBackedItem? other); + + #endregion + + #region Manipulation + + /// + /// Remove a field from the backing item + /// + public bool Remove(string fieldName) + => _internal.Remove(fieldName); + + /// + /// Replace a field from another ModelBackedItem + /// + public bool Replace(ModelBackedItem? from, string fieldName) + => _internal.Replace(from?._internal, fieldName); + + #endregion } }