diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs index 175b3b99..c6ba3fa1 100644 --- a/SabreTools.Data.Extensions/MetadataExtensions.cs +++ b/SabreTools.Data.Extensions/MetadataExtensions.cs @@ -203,6 +203,8 @@ namespace SabreTools.Data.Extensions else if (self is Device selfDevice && clone is Device cloneDevice) { cloneDevice.DeviceType = selfDevice.DeviceType; + cloneDevice.FixedImage = selfDevice.FixedImage; + cloneDevice.Interface = selfDevice.Interface; cloneDevice.Mandatory = selfDevice.Mandatory; cloneDevice.Tag = selfDevice.Tag; } @@ -278,6 +280,10 @@ namespace SabreTools.Data.Extensions cloneInput.Service = selfInput.Service; cloneInput.Tilt = selfInput.Tilt; } + else if (self is Instance selfInstance && clone is Instance cloneInstance) + { + cloneInstance.BriefName = selfInstance.BriefName; + } else if (self is Machine selfMachine && clone is Machine cloneMachine) { cloneMachine.Description = selfMachine.Description; @@ -287,12 +293,21 @@ namespace SabreTools.Data.Extensions cloneMachine.Runnable = selfMachine.Runnable; cloneMachine.Supported = selfMachine.Supported; } + else if (self is Original selfOriginal && clone is Original cloneOriginal) + { + cloneOriginal.Content = selfOriginal.Content; + } + else if (self is Part selfPart && clone is Part clonePart) + { + clonePart.Interface = selfPart.Interface; + } else if (self is Port selfPort && clone is Port clonePort) { clonePort.Tag = selfPort.Tag; } else if (self is RamOption selfRamOption && clone is RamOption cloneRamOption) { + cloneRamOption.Content = selfRamOption.Content; cloneRamOption.Default = selfRamOption.Default; } else if (self is Release selfRelease && clone is Release cloneRelease) @@ -319,6 +334,7 @@ namespace SabreTools.Data.Extensions else if (self is SlotOption selfSlotOption && clone is SlotOption cloneSlotOption) { cloneSlotOption.Default = selfSlotOption.Default; + cloneSlotOption.DevName = selfSlotOption.DevName; } else if (self is Software selfSoftware && clone is Software cloneSoftware) { diff --git a/SabreTools.Data.Models/Metadata/Device.cs b/SabreTools.Data.Models/Metadata/Device.cs index affebcc2..6bcc0ce0 100644 --- a/SabreTools.Data.Models/Metadata/Device.cs +++ b/SabreTools.Data.Models/Metadata/Device.cs @@ -11,6 +11,10 @@ namespace SabreTools.Data.Models.Metadata /// (unknown|cartridge|floppydisk|harddisk|cylinder|cassette|punchcard|punchtape|printout|serial|parallel|snapshot|quickload|memcard|cdrom|magtape|romimage|midiin|midiout|picture|vidfile) public DeviceType? DeviceType { get; set; } + public string? FixedImage { get; set; } + + public string? Interface { get; set; } + /// (0|1) "0" public bool? Mandatory { get; set; } @@ -24,16 +28,10 @@ namespace SabreTools.Data.Models.Metadata [NoFilter] public const string ExtensionKey = "extension"; - /// string - public const string FixedImageKey = "fixed_image"; - /// Instance [NoFilter] public const string InstanceKey = "instance"; - /// string - public const string InterfaceKey = "interface"; - #endregion public Device() => ItemType = ItemType.Device; diff --git a/SabreTools.Data.Models/Metadata/Instance.cs b/SabreTools.Data.Models/Metadata/Instance.cs index 2d07298a..c5fb42f4 100644 --- a/SabreTools.Data.Models/Metadata/Instance.cs +++ b/SabreTools.Data.Models/Metadata/Instance.cs @@ -8,17 +8,12 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + public string? BriefName { get; set; } + public string? Name { get; set; } #endregion - #region Keys - - /// string - public const string BriefNameKey = "briefname"; - - #endregion - public Instance() => ItemType = ItemType.Instance; } } diff --git a/SabreTools.Data.Models/Metadata/Original.cs b/SabreTools.Data.Models/Metadata/Original.cs index fbf46886..01bd3243 100644 --- a/SabreTools.Data.Models/Metadata/Original.cs +++ b/SabreTools.Data.Models/Metadata/Original.cs @@ -6,10 +6,13 @@ namespace SabreTools.Data.Models.Metadata [JsonObject("original"), XmlRoot("original")] public class Original : DatItem { - #region Keys + #region Properties - /// string - public const string ContentKey = "content"; + public string? Content { get; set; } + + #endregion + + #region Keys /// bool public const string ValueKey = "value"; diff --git a/SabreTools.Data.Models/Metadata/Part.cs b/SabreTools.Data.Models/Metadata/Part.cs index 49dd52fd..eb093999 100644 --- a/SabreTools.Data.Models/Metadata/Part.cs +++ b/SabreTools.Data.Models/Metadata/Part.cs @@ -8,6 +8,8 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + public string? Interface { get; set; } + public string? Name { get; set; } #endregion @@ -30,9 +32,6 @@ namespace SabreTools.Data.Models.Metadata [NoFilter] public const string FeatureKey = "feature"; - /// string - public const string InterfaceKey = "interface"; - #endregion public Part() => ItemType = ItemType.Part; diff --git a/SabreTools.Data.Models/Metadata/RamOption.cs b/SabreTools.Data.Models/Metadata/RamOption.cs index a8f2092b..345ff641 100644 --- a/SabreTools.Data.Models/Metadata/RamOption.cs +++ b/SabreTools.Data.Models/Metadata/RamOption.cs @@ -8,6 +8,8 @@ namespace SabreTools.Data.Models.Metadata { #region Properties + public string? Content { get; set; } + /// (yes|no) "no" public bool? Default { get; set; } @@ -15,13 +17,6 @@ namespace SabreTools.Data.Models.Metadata #endregion - #region Keys - - /// string - public const string ContentKey = "content"; - - #endregion - public RamOption() => ItemType = ItemType.RamOption; } } diff --git a/SabreTools.Data.Models/Metadata/SlotOption.cs b/SabreTools.Data.Models/Metadata/SlotOption.cs index 1e205bf6..18059ea3 100644 --- a/SabreTools.Data.Models/Metadata/SlotOption.cs +++ b/SabreTools.Data.Models/Metadata/SlotOption.cs @@ -11,17 +11,12 @@ namespace SabreTools.Data.Models.Metadata /// (yes|no) "no" public bool? Default { get; set; } + public string? DevName { get; set; } + public string? Name { get; set; } #endregion - #region Keys - - /// string - public const string DevNameKey = "devname"; - - #endregion - public SlotOption() => ItemType = ItemType.SlotOption; } } diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs index 40049bc1..74f5a646 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs @@ -482,9 +482,9 @@ namespace SabreTools.Metadata.DatFiles.Test return new Data.Models.Metadata.Device { [Data.Models.Metadata.Device.ExtensionKey] = new Data.Models.Metadata.Extension[] { CreateMetadataExtension() }, - [Data.Models.Metadata.Device.FixedImageKey] = "fixedimage", + FixedImage = "fixedimage", [Data.Models.Metadata.Device.InstanceKey] = CreateMetadataInstance(), - [Data.Models.Metadata.Device.InterfaceKey] = "interface", + Interface = "interface", Mandatory = true, Tag = "tag", DeviceType = Data.Models.Metadata.DeviceType.PunchTape, @@ -673,7 +673,7 @@ namespace SabreTools.Metadata.DatFiles.Test { return new Data.Models.Metadata.Instance { - [Data.Models.Metadata.Instance.BriefNameKey] = "briefname", + BriefName = "briefname", Name = "name", }; } @@ -694,7 +694,7 @@ namespace SabreTools.Metadata.DatFiles.Test { return new Data.Models.Metadata.Original { - [Data.Models.Metadata.Original.ContentKey] = "content", + Content = "content", [Data.Models.Metadata.Original.ValueKey] = true, }; } @@ -707,7 +707,7 @@ namespace SabreTools.Metadata.DatFiles.Test [Data.Models.Metadata.Part.DiskAreaKey] = new Data.Models.Metadata.DiskArea[] { CreateMetadataDiskArea() }, [Data.Models.Metadata.Part.DipSwitchKey] = new Data.Models.Metadata.DipSwitch[] { [] }, [Data.Models.Metadata.Part.FeatureKey] = new Data.Models.Metadata.Feature[] { CreateMetadataFeature() }, - [Data.Models.Metadata.Part.InterfaceKey] = "interface", + Interface = "interface", Name = "name", }; } @@ -725,7 +725,7 @@ namespace SabreTools.Metadata.DatFiles.Test { return new Data.Models.Metadata.RamOption { - [Data.Models.Metadata.RamOption.ContentKey] = "content", + Content = "content", Default = true, Name = "name", }; @@ -921,7 +921,7 @@ namespace SabreTools.Metadata.DatFiles.Test return new Data.Models.Metadata.SlotOption { Default = true, - [Data.Models.Metadata.SlotOption.DevNameKey] = "devname", + DevName = "devname", Name = "name", }; } @@ -1260,8 +1260,8 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateDevice(Device? device) { Assert.NotNull(device); - Assert.Equal("fixedimage", device.ReadString(Data.Models.Metadata.Device.FixedImageKey)); - Assert.Equal("interface", device.ReadString(Data.Models.Metadata.Device.InterfaceKey)); + Assert.Equal("fixedimage", device.FixedImage); + Assert.Equal("interface", device.Interface); Assert.Equal(true, device.Mandatory); Assert.Equal("tag", device.Tag); Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.DeviceType); @@ -1424,7 +1424,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateInstance(Instance? instance) { Assert.NotNull(instance); - Assert.Equal("briefname", instance.ReadString(Data.Models.Metadata.Instance.BriefNameKey)); + Assert.Equal("briefname", instance.BriefName); Assert.Equal("name", instance.Name); } @@ -1441,7 +1441,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidatePart(Part? part) { Assert.NotNull(part); - Assert.Equal("interface", part.ReadString(Data.Models.Metadata.Part.InterfaceKey)); + Assert.Equal("interface", part.Interface); Assert.Equal("name", part.Name); } @@ -1472,7 +1472,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateRamOption(RamOption? ramOption) { Assert.NotNull(ramOption); - Assert.Equal("content", ramOption.ReadString(Data.Models.Metadata.RamOption.ContentKey)); + Assert.Equal("content", ramOption.Content); Assert.True(ramOption.Default); Assert.Equal("name", ramOption.Name); } @@ -1616,7 +1616,7 @@ namespace SabreTools.Metadata.DatFiles.Test { Assert.NotNull(slotOption); Assert.True(slotOption.Default); - Assert.Equal("devname", slotOption.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)); + Assert.Equal("devname", slotOption.DevName); Assert.Equal("name", slotOption.Name); } diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs index 8b1a63a1..edc3c678 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs @@ -772,8 +772,8 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMetadataDevice(Data.Models.Metadata.Device? device) { Assert.NotNull(device); - Assert.Equal("fixedimage", device.ReadString(Data.Models.Metadata.Device.FixedImageKey)); - Assert.Equal("interface", device.ReadString(Data.Models.Metadata.Device.InterfaceKey)); + Assert.Equal("fixedimage", device.FixedImage); + Assert.Equal("interface", device.Interface); Assert.Equal(true, device.Mandatory); Assert.Equal("tag", device.Tag); Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.DeviceType); @@ -941,7 +941,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMetadataInstance(Data.Models.Metadata.Instance? instance) { Assert.NotNull(instance); - Assert.Equal("briefname", instance.ReadString(Data.Models.Metadata.Instance.BriefNameKey)); + Assert.Equal("briefname", instance.BriefName); Assert.Equal("name", instance.Name); } @@ -958,7 +958,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMetadataPart(Data.Models.Metadata.Part? part) { Assert.NotNull(part); - Assert.Equal("interface", part.ReadString(Data.Models.Metadata.Part.InterfaceKey)); + Assert.Equal("interface", part.Interface); Assert.Equal("name", part.Name); Data.Models.Metadata.DataArea[]? dataAreas = part.ReadArray(Data.Models.Metadata.Part.DataAreaKey); @@ -996,7 +996,7 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMetadataRamOption(Data.Models.Metadata.RamOption? ramOption) { Assert.NotNull(ramOption); - Assert.Equal("content", ramOption.ReadString(Data.Models.Metadata.RamOption.ContentKey)); + Assert.Equal("content", ramOption.Content); Assert.True(ramOption.Default); Assert.Equal("name", ramOption.Name); } @@ -1180,7 +1180,7 @@ namespace SabreTools.Metadata.DatFiles.Test { Assert.NotNull(slotOption); Assert.True(slotOption.Default); - Assert.Equal("devname", slotOption.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)); + Assert.Equal("devname", slotOption.DevName); Assert.Equal("name", slotOption.Name); } diff --git a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs index d1aa5ba8..35439552 100644 --- a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs @@ -1572,7 +1572,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Part.Name), - Data.Models.Metadata.Part.InterfaceKey, + nameof(Data.Models.Metadata.Part.Interface), nameof(Data.Models.Metadata.DipSwitch.Name), nameof(Data.Models.Metadata.DipSwitch.Tag), nameof(Data.Models.Metadata.DipSwitch.Mask), @@ -1590,7 +1590,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Part.Name), - Data.Models.Metadata.Part.InterfaceKey, + nameof(Data.Models.Metadata.Part.Interface), nameof(Data.Models.Metadata.DiskArea.Name), nameof(Data.Models.Metadata.Disk.Name), ])); @@ -1621,7 +1621,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Part.Name), - Data.Models.Metadata.Part.InterfaceKey, + nameof(Data.Models.Metadata.Part.Interface), nameof(Data.Models.Metadata.DataArea.Name), Data.Models.Metadata.DataArea.SizeKey, ])); diff --git a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs index 5af2882f..fcf958b2 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs @@ -679,7 +679,7 @@ namespace SabreTools.Metadata.DatFiles .ConvertAll(i => i as Slot) .FindAll(s => s!.SlotOptionsSpecified) .SelectMany(s => s!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!) - .Select(so => so.ReadString(Data.Models.Metadata.SlotOption.DevNameKey))); + .Select(so => so.DevName)); // If we're checking device references if (deviceReferences.Count > 0) @@ -745,7 +745,7 @@ namespace SabreTools.Metadata.DatFiles .FindAll(i => i is Slot) .FindAll(s => (s as Slot)!.SlotOptionsSpecified) .SelectMany(s => (s as Slot)!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!) - .Select(o => o.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)!)); + .Select(o => o.DevName!)); // Set new machine information and add to the current machine foreach (DatItem item in slotItems) @@ -773,7 +773,7 @@ namespace SabreTools.Metadata.DatFiles slotOptions.Add(slotOption); var slotOptionItem = new SlotOption(); - slotOptionItem.Write(Data.Models.Metadata.SlotOption.DevNameKey, slotOption); + slotOptionItem.DevName = slotOption; slotOptionItem.CopyMachineInformation(copyFrom); var slotItem = new Slot(); @@ -836,7 +836,7 @@ namespace SabreTools.Metadata.DatFiles .Select(i => i as Slot) .Where(s => s!.SlotOptionsSpecified) .SelectMany(s => s!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!) - .Select(so => so.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)) + .Select(so => so.DevName) .Distinct() .ToList(); @@ -915,7 +915,7 @@ namespace SabreTools.Metadata.DatFiles .Where(i => i is Slot) .Where(s => (s as Slot)!.SlotOptionsSpecified) .SelectMany(s => (s as Slot)!.Read(Data.Models.Metadata.Slot.SlotOptionKey)!) - .Select(o => o.ReadString(Data.Models.Metadata.SlotOption.DevNameKey)!)); + .Select(o => o.DevName!)); // Set new machine information and add to the current machine var copyFrom = GetMachineForItemDB(GetItemsForBucketDB(bucket).First().Key); @@ -944,7 +944,7 @@ namespace SabreTools.Metadata.DatFiles if (!slotOptions.Contains(slotOption)) { var slotOptionItem = new SlotOption(); - slotOptionItem.Write(Data.Models.Metadata.SlotOption.DevNameKey, slotOption); + slotOptionItem.DevName = slotOption; var slotItem = new Slot(); slotItem.Write(Data.Models.Metadata.Slot.SlotOptionKey, [slotOptionItem]); diff --git a/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs b/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs index 723739b0..cb461899 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs @@ -325,8 +325,8 @@ namespace SabreTools.Metadata.DatFiles // Copy over string values partItems[partName].Name = partName; - if (!partItems[partName].ContainsKey(Data.Models.Metadata.Part.InterfaceKey)) - partItems[partName][Data.Models.Metadata.Part.InterfaceKey] = partItem.ReadString(Data.Models.Metadata.Part.InterfaceKey); + if (partItems[partName].Interface == null) + partItems[partName].Interface = partItem.Interface; // Clear any empty fields ClearEmptyKeys(partItems[partName]); @@ -751,8 +751,8 @@ namespace SabreTools.Metadata.DatFiles // Copy over string values partItems[partName].Name = partName; - if (!partItems[partName].ContainsKey(Data.Models.Metadata.Part.InterfaceKey)) - partItems[partName][Data.Models.Metadata.Part.InterfaceKey] = partItem.ReadString(Data.Models.Metadata.Part.InterfaceKey); + if (partItems[partName].Interface == null) + partItems[partName].Interface = partItem.Interface; // Clear any empty fields ClearEmptyKeys(partItems[partName]); @@ -998,7 +998,7 @@ namespace SabreTools.Metadata.DatFiles var newOriginal = new Data.Models.Metadata.Original { [Data.Models.Metadata.Original.ValueKey] = romOriginal.Value.FromYesNo(), - [Data.Models.Metadata.Original.ContentKey] = romOriginal.Content, + Content = romOriginal.Content, }; dumpRom[Data.Models.Metadata.Dump.OriginalKey] = newOriginal; } @@ -1026,7 +1026,7 @@ namespace SabreTools.Metadata.DatFiles var newOriginal = new Data.Models.Metadata.Original { [Data.Models.Metadata.Original.ValueKey] = megaRomOriginal.Value.FromYesNo(), - [Data.Models.Metadata.Original.ContentKey] = megaRomOriginal.Content, + Content = megaRomOriginal.Content, }; dumpMegaRom[Data.Models.Metadata.Dump.OriginalKey] = newOriginal; } @@ -1054,7 +1054,7 @@ namespace SabreTools.Metadata.DatFiles var newOriginal = new Data.Models.Metadata.Original { [Data.Models.Metadata.Original.ValueKey] = sccPlusCartOriginal.Value.FromYesNo(), - [Data.Models.Metadata.Original.ContentKey] = sccPlusCartOriginal.Content, + Content = sccPlusCartOriginal.Content, }; dumpSccPlusCart[Data.Models.Metadata.Dump.OriginalKey] = newOriginal; } diff --git a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs index 0f474162..40b0ec09 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SoftwareList.cs @@ -110,14 +110,14 @@ namespace SabreTools.Metadata.DatFiles.Formats if (!dipSwitch.PartSpecified) { missingFields.Add(nameof(Data.Models.Metadata.Part.Name)); - missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); + missingFields.Add(nameof(Data.Models.Metadata.Part.Interface)); } else { if (string.IsNullOrEmpty(dipSwitch.Read(DipSwitch.PartKey)!.Name)) missingFields.Add(nameof(Data.Models.Metadata.Part.Name)); - if (string.IsNullOrEmpty(dipSwitch.Read(DipSwitch.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey))) - missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); + if (string.IsNullOrEmpty(dipSwitch.Read(DipSwitch.PartKey)!.Interface)) + missingFields.Add(nameof(Data.Models.Metadata.Part.Interface)); } if (string.IsNullOrEmpty(dipSwitch.Name)) @@ -141,14 +141,14 @@ namespace SabreTools.Metadata.DatFiles.Formats if (!disk.PartSpecified) { missingFields.Add(nameof(Data.Models.Metadata.Part.Name)); - missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); + missingFields.Add(nameof(Data.Models.Metadata.Part.Interface)); } else { if (string.IsNullOrEmpty(disk.Read(Disk.PartKey)!.Name)) missingFields.Add(nameof(Data.Models.Metadata.Part.Name)); - if (string.IsNullOrEmpty(disk.Read(Disk.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey))) - missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); + if (string.IsNullOrEmpty(disk.Read(Disk.PartKey)!.Interface)) + missingFields.Add(nameof(Data.Models.Metadata.Part.Interface)); } if (!disk.DiskAreaSpecified) @@ -174,14 +174,14 @@ namespace SabreTools.Metadata.DatFiles.Formats if (!rom.PartSpecified) { missingFields.Add(nameof(Data.Models.Metadata.Part.Name)); - missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); + missingFields.Add(nameof(Data.Models.Metadata.Part.Interface)); } else { if (string.IsNullOrEmpty(rom.Read(Rom.PartKey)!.Name)) missingFields.Add(nameof(Data.Models.Metadata.Part.Name)); - if (string.IsNullOrEmpty(rom.Read(Rom.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey))) - missingFields.Add(Data.Models.Metadata.Part.InterfaceKey); + if (string.IsNullOrEmpty(rom.Read(Rom.PartKey)!.Interface)) + missingFields.Add(nameof(Data.Models.Metadata.Part.Interface)); } if (!rom.DataAreaSpecified) diff --git a/SabreTools.Metadata.DatItems/Formats/Device.cs b/SabreTools.Metadata.DatItems/Formats/Device.cs index fd24980b..cba73862 100644 --- a/SabreTools.Metadata.DatItems/Formats/Device.cs +++ b/SabreTools.Metadata.DatItems/Formats/Device.cs @@ -19,6 +19,22 @@ namespace SabreTools.Metadata.DatItems.Formats set => (_internal as Data.Models.Metadata.Device)?.DeviceType = value; } + [JsonIgnore] + public bool ExtensionsSpecified + { + get + { + var extensions = Read(Data.Models.Metadata.Device.ExtensionKey); + return extensions is not null && extensions.Length > 0; + } + } + + public string? FixedImage + { + get => (_internal as Data.Models.Metadata.Device)?.FixedImage; + set => (_internal as Data.Models.Metadata.Device)?.FixedImage = value; + } + [JsonIgnore] public bool InstancesSpecified { @@ -29,14 +45,10 @@ namespace SabreTools.Metadata.DatItems.Formats } } - [JsonIgnore] - public bool ExtensionsSpecified + public string? Interface { - get - { - var extensions = Read(Data.Models.Metadata.Device.ExtensionKey); - return extensions is not null && extensions.Length > 0; - } + get => (_internal as Data.Models.Metadata.Device)?.Interface; + set => (_internal as Data.Models.Metadata.Device)?.Interface = value; } public bool? Mandatory @@ -90,6 +102,12 @@ namespace SabreTools.Metadata.DatItems.Formats { var deviceItem = base.GetInternalClone(); + deviceItem.DeviceType = DeviceType; + deviceItem.FixedImage = FixedImage; + deviceItem.Interface = Interface; + deviceItem.Mandatory = Mandatory; + deviceItem.Tag = Tag; + var instance = Read(Data.Models.Metadata.Device.InstanceKey); if (instance is not null) deviceItem[Data.Models.Metadata.Device.InstanceKey] = instance.GetInternalClone(); diff --git a/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs b/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs index 2f7c6592..d6b2924d 100644 --- a/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs +++ b/SabreTools.Metadata.DatItems/Formats/DipSwitch.cs @@ -79,7 +79,7 @@ namespace SabreTools.Metadata.DatItems.Formats var part = Read(PartKey); return part is not null && (!string.IsNullOrEmpty(part.Name) - || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey))); + || !string.IsNullOrEmpty(part.Interface)); } } diff --git a/SabreTools.Metadata.DatItems/Formats/Disk.cs b/SabreTools.Metadata.DatItems/Formats/Disk.cs index f204ba44..0af6c769 100644 --- a/SabreTools.Metadata.DatItems/Formats/Disk.cs +++ b/SabreTools.Metadata.DatItems/Formats/Disk.cs @@ -58,7 +58,7 @@ namespace SabreTools.Metadata.DatItems.Formats var part = Read(PartKey); return part is not null && (!string.IsNullOrEmpty(part.Name) - || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey))); + || !string.IsNullOrEmpty(part.Interface)); } } diff --git a/SabreTools.Metadata.DatItems/Formats/Instance.cs b/SabreTools.Metadata.DatItems/Formats/Instance.cs index ce7d382a..873ed79a 100644 --- a/SabreTools.Metadata.DatItems/Formats/Instance.cs +++ b/SabreTools.Metadata.DatItems/Formats/Instance.cs @@ -12,6 +12,12 @@ namespace SabreTools.Metadata.DatItems.Formats { #region Fields + public string? BriefName + { + get => (_internal as Data.Models.Metadata.Instance)?.BriefName; + set => (_internal as Data.Models.Metadata.Instance)?.BriefName = value; + } + public string? Name { get => (_internal as Data.Models.Metadata.Instance)?.Name; diff --git a/SabreTools.Metadata.DatItems/Formats/Original.cs b/SabreTools.Metadata.DatItems/Formats/Original.cs index 9504719e..2239723a 100644 --- a/SabreTools.Metadata.DatItems/Formats/Original.cs +++ b/SabreTools.Metadata.DatItems/Formats/Original.cs @@ -19,8 +19,8 @@ namespace SabreTools.Metadata.DatItems.Formats [JsonProperty("content"), XmlElement("content")] public string? Content { - get => _internal.ReadString(Data.Models.Metadata.Original.ContentKey); - set => _internal[Data.Models.Metadata.Original.ContentKey] = value; + get => _internal.Content; + set => _internal.Content = value; } /// diff --git a/SabreTools.Metadata.DatItems/Formats/Part.cs b/SabreTools.Metadata.DatItems/Formats/Part.cs index 1aed4ec8..ef2151fe 100644 --- a/SabreTools.Metadata.DatItems/Formats/Part.cs +++ b/SabreTools.Metadata.DatItems/Formats/Part.cs @@ -23,6 +23,12 @@ namespace SabreTools.Metadata.DatItems.Formats } } + public string? Interface + { + get => (_internal as Data.Models.Metadata.Part)?.Interface; + set => (_internal as Data.Models.Metadata.Part)?.Interface = value; + } + public string? Name { get => (_internal as Data.Models.Metadata.Part)?.Name; diff --git a/SabreTools.Metadata.DatItems/Formats/RamOption.cs b/SabreTools.Metadata.DatItems/Formats/RamOption.cs index d39d3aff..09de128b 100644 --- a/SabreTools.Metadata.DatItems/Formats/RamOption.cs +++ b/SabreTools.Metadata.DatItems/Formats/RamOption.cs @@ -12,6 +12,12 @@ namespace SabreTools.Metadata.DatItems.Formats { #region Properties + public string? Content + { + get => (_internal as Data.Models.Metadata.RamOption)?.Content; + set => (_internal as Data.Models.Metadata.RamOption)?.Content = value; + } + public bool? Default { get => (_internal as Data.Models.Metadata.RamOption)?.Default; diff --git a/SabreTools.Metadata.DatItems/Formats/Rom.cs b/SabreTools.Metadata.DatItems/Formats/Rom.cs index b4c9e47f..ca1e56df 100644 --- a/SabreTools.Metadata.DatItems/Formats/Rom.cs +++ b/SabreTools.Metadata.DatItems/Formats/Rom.cs @@ -108,7 +108,7 @@ namespace SabreTools.Metadata.DatItems.Formats var part = Read(PartKey); return part is not null && (!string.IsNullOrEmpty(part.Name) - || !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey))); + || !string.IsNullOrEmpty(part.Interface)); } } @@ -183,7 +183,7 @@ namespace SabreTools.Metadata.DatItems.Formats Write("ORIGINAL", new Original { Value = original.ReadBool(Data.Models.Metadata.Original.ValueKey), - Content = original.ReadString(Data.Models.Metadata.Original.ContentKey), + Content = original.Content, }); } diff --git a/SabreTools.Metadata.DatItems/Formats/SlotOption.cs b/SabreTools.Metadata.DatItems/Formats/SlotOption.cs index 10e8b7e6..f3f64e47 100644 --- a/SabreTools.Metadata.DatItems/Formats/SlotOption.cs +++ b/SabreTools.Metadata.DatItems/Formats/SlotOption.cs @@ -18,6 +18,12 @@ namespace SabreTools.Metadata.DatItems.Formats set => (_internal as Data.Models.Metadata.SlotOption)?.Default = value; } + public string? DevName + { + get => (_internal as Data.Models.Metadata.SlotOption)?.DevName; + set => (_internal as Data.Models.Metadata.SlotOption)?.DevName = value; + } + public string? Name { get => (_internal as Data.Models.Metadata.SlotOption)?.Name; diff --git a/SabreTools.Metadata.Filter/FilterObject.cs b/SabreTools.Metadata.Filter/FilterObject.cs index b9635d99..49f54193 100644 --- a/SabreTools.Metadata.Filter/FilterObject.cs +++ b/SabreTools.Metadata.Filter/FilterObject.cs @@ -422,6 +422,12 @@ namespace SabreTools.Metadata.Filter case Device item when fieldName == "type": checkValue = item.DeviceType?.AsStringValue(); return true; + case Device item when fieldName == "fixedimage": + checkValue = item.FixedImage; + return true; + case Device item when fieldName == "interface": + checkValue = item.Interface; + return true; case Device item when fieldName == "mandatory": checkValue = item.Mandatory.FromYesNo(); return true; @@ -588,10 +594,21 @@ namespace SabreTools.Metadata.Filter checkValue = item.Supported?.AsStringValue(); return true; + case Original item when fieldName == "content": + checkValue = item.Content; + return true; + + case Part item when fieldName == "interface": + checkValue = item.Interface; + return true; + case Port item when fieldName == "tag": checkValue = item.Tag; return true; + case RamOption item when fieldName == "content": + checkValue = item.Content; + return true; case RamOption item when fieldName == "default": checkValue = item.Default.FromYesNo(); return true; @@ -638,6 +655,9 @@ namespace SabreTools.Metadata.Filter case SlotOption item when fieldName == "default": checkValue = item.Default.FromYesNo(); return true; + case SlotOption item when fieldName == "devname": + checkValue = item.DevName; + return true; case Software item when fieldName == "description": checkValue = item.Description; diff --git a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs index 6588d508..3783410d 100644 --- a/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/ListxmlTests.cs @@ -280,7 +280,7 @@ namespace SabreTools.Serialization.CrossModel.Test var instance = new Data.Models.Listxml.Instance { Name = "name", - BriefName = "XXXXXX", + BriefName = "briefname", }; var extension = new Data.Models.Listxml.Extension @@ -292,9 +292,9 @@ namespace SabreTools.Serialization.CrossModel.Test { Type = Data.Models.Metadata.DeviceType.PunchTape, Tag = "tag", - FixedImage = "XXXXXX", + FixedImage = "fixedimage", Mandatory = true, - Interface = "XXXXXX", + Interface = "interface", Instance = instance, Extension = [extension], }; @@ -302,7 +302,7 @@ namespace SabreTools.Serialization.CrossModel.Test var slotOption = new Data.Models.Listxml.SlotOption { Name = "name", - DevName = "XXXXXX", + DevName = "devname", Default = true, }; @@ -324,7 +324,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "name", Default = true, - Content = "XXXXXX", + Content = "content", }; Data.Models.Listxml.GameBase gameBase = game @@ -799,9 +799,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(device); Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type); Assert.Equal("tag", device.Tag); - Assert.Equal("XXXXXX", device.FixedImage); + Assert.Equal("fixedimage", device.FixedImage); Assert.Equal(true, device.Mandatory); - Assert.Equal("XXXXXX", device.Interface); + Assert.Equal("interface", device.Interface); Validate(device.Instance); Assert.NotNull(device.Extension); @@ -816,7 +816,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(instance); Assert.Equal("name", instance.Name); - Assert.Equal("XXXXXX", instance.BriefName); + Assert.Equal("briefname", instance.BriefName); } /// @@ -848,7 +848,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(slotoption); Assert.Equal("name", slotoption.Name); - Assert.Equal("XXXXXX", slotoption.DevName); + Assert.Equal("devname", slotoption.DevName); Assert.Equal(true, slotoption.Default); } @@ -872,7 +872,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(ramoption); Assert.Equal("name", ramoption.Name); Assert.Equal(true, ramoption.Default); - Assert.Equal("XXXXXX", ramoption.Content); + Assert.Equal("content", ramoption.Content); } } } diff --git a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs index c5655a48..4bd22fb2 100644 --- a/SabreTools.Serialization.CrossModel.Test/M1Tests.cs +++ b/SabreTools.Serialization.CrossModel.Test/M1Tests.cs @@ -276,7 +276,7 @@ namespace SabreTools.Serialization.CrossModel.Test var instance = new Data.Models.Listxml.Instance { Name = "name", - BriefName = "XXXXXX", + BriefName = "briefname", }; var extension = new Data.Models.Listxml.Extension @@ -288,9 +288,9 @@ namespace SabreTools.Serialization.CrossModel.Test { Type = Data.Models.Metadata.DeviceType.PunchTape, Tag = "tag", - FixedImage = "XXXXXX", + FixedImage = "fixedimage", Mandatory = true, - Interface = "XXXXXX", + Interface = "interface", Instance = instance, Extension = [extension], }; @@ -298,7 +298,7 @@ namespace SabreTools.Serialization.CrossModel.Test var slotOption = new Data.Models.Listxml.SlotOption { Name = "name", - DevName = "XXXXXX", + DevName = "devname", Default = true, }; @@ -320,7 +320,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "name", Default = true, - Content = "XXXXXX", + Content = "content", }; Data.Models.Listxml.GameBase gameBase = game @@ -793,9 +793,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(device); Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type); Assert.Equal("tag", device.Tag); - Assert.Equal("XXXXXX", device.FixedImage); + Assert.Equal("fixedimage", device.FixedImage); Assert.Equal(true, device.Mandatory); - Assert.Equal("XXXXXX", device.Interface); + Assert.Equal("interface", device.Interface); Validate(device.Instance); Assert.NotNull(device.Extension); @@ -810,7 +810,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(instance); Assert.Equal("name", instance.Name); - Assert.Equal("XXXXXX", instance.BriefName); + Assert.Equal("briefname", instance.BriefName); } /// @@ -842,7 +842,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(slotoption); Assert.Equal("name", slotoption.Name); - Assert.Equal("XXXXXX", slotoption.DevName); + Assert.Equal("devname", slotoption.DevName); Assert.Equal(true, slotoption.Default); } @@ -866,7 +866,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(ramoption); Assert.Equal("name", ramoption.Name); Assert.Equal(true, ramoption.Default); - Assert.Equal("XXXXXX", ramoption.Content); + Assert.Equal("content", ramoption.Content); } } } diff --git a/SabreTools.Serialization.CrossModel.Test/MessTests.cs b/SabreTools.Serialization.CrossModel.Test/MessTests.cs index e009a1ec..e0f8517d 100644 --- a/SabreTools.Serialization.CrossModel.Test/MessTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/MessTests.cs @@ -276,7 +276,7 @@ namespace SabreTools.Serialization.CrossModel.Test var instance = new Data.Models.Listxml.Instance { Name = "name", - BriefName = "XXXXXX", + BriefName = "briefname", }; var extension = new Data.Models.Listxml.Extension @@ -288,9 +288,9 @@ namespace SabreTools.Serialization.CrossModel.Test { Type = Data.Models.Metadata.DeviceType.PunchTape, Tag = "tag", - FixedImage = "XXXXXX", + FixedImage = "fixedimage", Mandatory = true, - Interface = "XXXXXX", + Interface = "interface", Instance = instance, Extension = [extension], }; @@ -298,7 +298,7 @@ namespace SabreTools.Serialization.CrossModel.Test var slotOption = new Data.Models.Listxml.SlotOption { Name = "name", - DevName = "XXXXXX", + DevName = "devname", Default = true, }; @@ -320,7 +320,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Name = "name", Default = true, - Content = "XXXXXX", + Content = "content", }; Data.Models.Listxml.GameBase gameBase = game @@ -793,9 +793,9 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(device); Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type); Assert.Equal("tag", device.Tag); - Assert.Equal("XXXXXX", device.FixedImage); + Assert.Equal("fixedimage", device.FixedImage); Assert.Equal(true, device.Mandatory); - Assert.Equal("XXXXXX", device.Interface); + Assert.Equal("interface", device.Interface); Validate(device.Instance); Assert.NotNull(device.Extension); @@ -810,7 +810,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(instance); Assert.Equal("name", instance.Name); - Assert.Equal("XXXXXX", instance.BriefName); + Assert.Equal("briefname", instance.BriefName); } /// @@ -842,7 +842,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(slotoption); Assert.Equal("name", slotoption.Name); - Assert.Equal("XXXXXX", slotoption.DevName); + Assert.Equal("devname", slotoption.DevName); Assert.Equal(true, slotoption.Default); } @@ -866,7 +866,7 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.NotNull(ramoption); Assert.Equal("name", ramoption.Name); Assert.Equal(true, ramoption.Default); - Assert.Equal("XXXXXX", ramoption.Content); + Assert.Equal("content", ramoption.Content); } } } diff --git a/SabreTools.Serialization.CrossModel.Test/OpenMSXTests.cs b/SabreTools.Serialization.CrossModel.Test/OpenMSXTests.cs index 10bb6445..eef7cc22 100644 --- a/SabreTools.Serialization.CrossModel.Test/OpenMSXTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/OpenMSXTests.cs @@ -37,7 +37,7 @@ namespace SabreTools.Serialization.CrossModel.Test var original = new Data.Models.OpenMSX.Original { Value = "value", - Content = "XXXXXX", + Content = "content", }; var rom = new Data.Models.OpenMSX.Rom @@ -138,7 +138,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(original); Assert.Equal("value", original.Value); - Assert.Equal("XXXXXX", original.Content); + Assert.Equal("content", original.Content); } /// diff --git a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs index 18dc28b6..0106999e 100644 --- a/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/SoftwareListTests.cs @@ -109,7 +109,7 @@ namespace SabreTools.Serialization.CrossModel.Test var part = new Data.Models.SoftwareList.Part { Name = "name", - Interface = "XXXXXX", + Interface = "interface", Feature = [feature], DataArea = [dataarea], DiskArea = [diskarea], @@ -193,7 +193,7 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(part); Assert.Equal("name", part.Name); - Assert.Equal("XXXXXX", part.Interface); + Assert.Equal("interface", part.Interface); Assert.NotNull(part.Feature); var feature = Assert.Single(part.Feature); diff --git a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs index 3ff69276..9cab05a1 100644 --- a/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/Listxml.Deserializer.cs @@ -308,9 +308,9 @@ namespace SabreTools.Serialization.CrossModel { Type = item.DeviceType, Tag = item.Tag, - FixedImage = item.ReadString(Data.Models.Metadata.Device.FixedImageKey), + FixedImage = item.FixedImage, Mandatory = item.Mandatory, - Interface = item.ReadString(Data.Models.Metadata.Device.InterfaceKey), + Interface = item.Interface, }; var instance = item.Read(Data.Models.Metadata.Device.InstanceKey); @@ -522,7 +522,7 @@ namespace SabreTools.Serialization.CrossModel var instance = new Instance { Name = item.Name, - BriefName = item.ReadString(Data.Models.Metadata.Instance.BriefNameKey), + BriefName = item.BriefName, }; return instance; } @@ -553,7 +553,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, Default = item.Default, - Content = item.ReadString(Data.Models.Metadata.RamOption.ContentKey), + Content = item.Content, }; return ramOption; } @@ -618,7 +618,7 @@ namespace SabreTools.Serialization.CrossModel var slotOption = new SlotOption { Name = item.Name, - DevName = item.ReadString(Data.Models.Metadata.SlotOption.DevNameKey), + DevName = item.DevName, Default = item.Default, }; return slotOption; diff --git a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs index f58abe2b..d15be86f 100644 --- a/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Listxml.Serializer.cs @@ -343,9 +343,9 @@ namespace SabreTools.Serialization.CrossModel { DeviceType = item.Type, Tag = item.Tag, - [Data.Models.Metadata.Device.FixedImageKey] = item.FixedImage, + FixedImage = item.FixedImage, Mandatory = item.Mandatory, - [Data.Models.Metadata.Device.InterfaceKey] = item.Interface, + Interface = item.Interface, }; if (item.Instance is not null) @@ -559,7 +559,7 @@ namespace SabreTools.Serialization.CrossModel var instance = new Data.Models.Metadata.Instance { Name = item.Name, - [Data.Models.Metadata.Instance.BriefNameKey] = item.BriefName, + BriefName = item.BriefName, }; return instance; } @@ -592,7 +592,7 @@ namespace SabreTools.Serialization.CrossModel { Name = item.Name, Default = item.Default, - [Data.Models.Metadata.RamOption.ContentKey] = item.Content, + Content = item.Content, }; return ramOption; } @@ -659,7 +659,7 @@ namespace SabreTools.Serialization.CrossModel var slotOption = new Data.Models.Metadata.SlotOption { Name = item.Name, - [Data.Models.Metadata.SlotOption.DevNameKey] = item.DevName, + DevName = item.DevName, Default = item.Default, }; return slotOption; diff --git a/SabreTools.Serialization.CrossModel/OpenMSX.Deserializer.cs b/SabreTools.Serialization.CrossModel/OpenMSX.Deserializer.cs index 0fd48c22..bbfc7d76 100644 --- a/SabreTools.Serialization.CrossModel/OpenMSX.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/OpenMSX.Deserializer.cs @@ -104,7 +104,7 @@ namespace SabreTools.Serialization.CrossModel var original = new Original { Value = item.ReadString(Data.Models.Metadata.Original.ValueKey), - Content = item.ReadString(Data.Models.Metadata.Original.ContentKey), + Content = item.Content, }; return original; } diff --git a/SabreTools.Serialization.CrossModel/OpenMSX.Serializer.cs b/SabreTools.Serialization.CrossModel/OpenMSX.Serializer.cs index e77396d4..d621cadb 100644 --- a/SabreTools.Serialization.CrossModel/OpenMSX.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/OpenMSX.Serializer.cs @@ -104,7 +104,7 @@ namespace SabreTools.Serialization.CrossModel var original = new Data.Models.Metadata.Original { [Data.Models.Metadata.Original.ValueKey] = item.Value, - [Data.Models.Metadata.Original.ContentKey] = item.Content, + Content = item.Content, }; return original; } diff --git a/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs b/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs index 94a8a2be..0ecfc247 100644 --- a/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/SoftwareList.Deserializer.cs @@ -186,7 +186,7 @@ namespace SabreTools.Serialization.CrossModel var part = new Part { Name = item.Name, - Interface = item.ReadString(Data.Models.Metadata.Part.InterfaceKey), + Interface = item.Interface, }; var features = item.Read(Data.Models.Metadata.Part.FeatureKey); diff --git a/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs b/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs index 5fe9a284..6645f2aa 100644 --- a/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/SoftwareList.Serializer.cs @@ -184,7 +184,7 @@ namespace SabreTools.Serialization.CrossModel var part = new Data.Models.Metadata.Part { Name = item.Name, - [Data.Models.Metadata.Part.InterfaceKey] = item.Interface, + Interface = item.Interface, }; if (item.Feature is not null && item.Feature.Length > 0) diff --git a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs index 5b14375e..c317c05c 100644 --- a/SabreTools.Serialization.Readers.Test/ListxmlTests.cs +++ b/SabreTools.Serialization.Readers.Test/ListxmlTests.cs @@ -347,7 +347,7 @@ namespace SabreTools.Serialization.Readers.Test var instance = new Data.Models.Listxml.Instance { Name = "name", - BriefName = "XXXXXX", + BriefName = "briefname", }; var extension = new Data.Models.Listxml.Extension @@ -359,9 +359,9 @@ namespace SabreTools.Serialization.Readers.Test { Type = Data.Models.Metadata.DeviceType.PunchTape, Tag = "tag", - FixedImage = "XXXXXX", + FixedImage = "fixedimage", Mandatory = true, - Interface = "XXXXXX", + Interface = "interface", Instance = instance, Extension = [extension], }; @@ -369,7 +369,7 @@ namespace SabreTools.Serialization.Readers.Test var slotOption = new Data.Models.Listxml.SlotOption { Name = "name", - DevName = "XXXXXX", + DevName = "devname", Default = true, }; @@ -391,7 +391,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "name", Default = true, - Content = "XXXXXX", + Content = "content", }; Data.Models.Listxml.GameBase gameBase = game @@ -866,9 +866,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(device); Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type); Assert.Equal("tag", device.Tag); - Assert.Equal("XXXXXX", device.FixedImage); + Assert.Equal("fixedimage", device.FixedImage); Assert.Equal(true, device.Mandatory); - Assert.Equal("XXXXXX", device.Interface); + Assert.Equal("interface", device.Interface); Validate(device.Instance); Assert.NotNull(device.Extension); @@ -883,7 +883,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(instance); Assert.Equal("name", instance.Name); - Assert.Equal("XXXXXX", instance.BriefName); + Assert.Equal("briefname", instance.BriefName); } /// @@ -915,7 +915,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(slotoption); Assert.Equal("name", slotoption.Name); - Assert.Equal("XXXXXX", slotoption.DevName); + Assert.Equal("devname", slotoption.DevName); Assert.Equal(true, slotoption.Default); } @@ -939,7 +939,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(ramoption); Assert.Equal("name", ramoption.Name); Assert.Equal(true, ramoption.Default); - Assert.Equal("XXXXXX", ramoption.Content); + Assert.Equal("content", ramoption.Content); } } } diff --git a/SabreTools.Serialization.Readers.Test/M1Tests.cs b/SabreTools.Serialization.Readers.Test/M1Tests.cs index efa904f0..21c4a6eb 100644 --- a/SabreTools.Serialization.Readers.Test/M1Tests.cs +++ b/SabreTools.Serialization.Readers.Test/M1Tests.cs @@ -343,7 +343,7 @@ namespace SabreTools.Serialization.Readers.Test var instance = new Data.Models.Listxml.Instance { Name = "name", - BriefName = "XXXXXX", + BriefName = "briefname", }; var extension = new Data.Models.Listxml.Extension @@ -355,9 +355,9 @@ namespace SabreTools.Serialization.Readers.Test { Type = Data.Models.Metadata.DeviceType.PunchTape, Tag = "tag", - FixedImage = "XXXXXX", + FixedImage = "fixedimage", Mandatory = true, - Interface = "XXXXXX", + Interface = "interface", Instance = instance, Extension = [extension], }; @@ -365,7 +365,7 @@ namespace SabreTools.Serialization.Readers.Test var slotOption = new Data.Models.Listxml.SlotOption { Name = "name", - DevName = "XXXXXX", + DevName = "devname", Default = true, }; @@ -387,7 +387,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "name", Default = true, - Content = "XXXXXX", + Content = "content", }; Data.Models.Listxml.GameBase gameBase = game @@ -860,9 +860,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(device); Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type); Assert.Equal("tag", device.Tag); - Assert.Equal("XXXXXX", device.FixedImage); + Assert.Equal("fixedimage", device.FixedImage); Assert.Equal(true, device.Mandatory); - Assert.Equal("XXXXXX", device.Interface); + Assert.Equal("interface", device.Interface); Validate(device.Instance); Assert.NotNull(device.Extension); @@ -877,7 +877,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(instance); Assert.Equal("name", instance.Name); - Assert.Equal("XXXXXX", instance.BriefName); + Assert.Equal("briefname", instance.BriefName); } /// @@ -909,7 +909,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(slotoption); Assert.Equal("name", slotoption.Name); - Assert.Equal("XXXXXX", slotoption.DevName); + Assert.Equal("devname", slotoption.DevName); Assert.Equal(true, slotoption.Default); } @@ -933,7 +933,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(ramoption); Assert.Equal("name", ramoption.Name); Assert.Equal(true, ramoption.Default); - Assert.Equal("XXXXXX", ramoption.Content); + Assert.Equal("content", ramoption.Content); } } } diff --git a/SabreTools.Serialization.Readers.Test/MessTests.cs b/SabreTools.Serialization.Readers.Test/MessTests.cs index 29ef44eb..6e6d0895 100644 --- a/SabreTools.Serialization.Readers.Test/MessTests.cs +++ b/SabreTools.Serialization.Readers.Test/MessTests.cs @@ -343,7 +343,7 @@ namespace SabreTools.Serialization.Readers.Test var instance = new Data.Models.Listxml.Instance { Name = "name", - BriefName = "XXXXXX", + BriefName = "briefname", }; var extension = new Data.Models.Listxml.Extension @@ -355,9 +355,9 @@ namespace SabreTools.Serialization.Readers.Test { Type = Data.Models.Metadata.DeviceType.PunchTape, Tag = "tag", - FixedImage = "XXXXXX", + FixedImage = "fixedimage", Mandatory = true, - Interface = "XXXXXX", + Interface = "interface", Instance = instance, Extension = [extension], }; @@ -365,7 +365,7 @@ namespace SabreTools.Serialization.Readers.Test var slotOption = new Data.Models.Listxml.SlotOption { Name = "name", - DevName = "XXXXXX", + DevName = "devname", Default = true, }; @@ -387,7 +387,7 @@ namespace SabreTools.Serialization.Readers.Test { Name = "name", Default = true, - Content = "XXXXXX", + Content = "content", }; Data.Models.Listxml.GameBase gameBase = game @@ -860,9 +860,9 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(device); Assert.Equal(Data.Models.Metadata.DeviceType.PunchTape, device.Type); Assert.Equal("tag", device.Tag); - Assert.Equal("XXXXXX", device.FixedImage); + Assert.Equal("fixedimage", device.FixedImage); Assert.Equal(true, device.Mandatory); - Assert.Equal("XXXXXX", device.Interface); + Assert.Equal("interface", device.Interface); Validate(device.Instance); Assert.NotNull(device.Extension); @@ -877,7 +877,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(instance); Assert.Equal("name", instance.Name); - Assert.Equal("XXXXXX", instance.BriefName); + Assert.Equal("briefname", instance.BriefName); } /// @@ -909,7 +909,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(slotoption); Assert.Equal("name", slotoption.Name); - Assert.Equal("XXXXXX", slotoption.DevName); + Assert.Equal("devname", slotoption.DevName); Assert.Equal(true, slotoption.Default); } @@ -933,7 +933,7 @@ namespace SabreTools.Serialization.Readers.Test Assert.NotNull(ramoption); Assert.Equal("name", ramoption.Name); Assert.Equal(true, ramoption.Default); - Assert.Equal("XXXXXX", ramoption.Content); + Assert.Equal("content", ramoption.Content); } } } diff --git a/SabreTools.Serialization.Readers.Test/OpenMSXTests.cs b/SabreTools.Serialization.Readers.Test/OpenMSXTests.cs index 7b16e33a..c80c6616 100644 --- a/SabreTools.Serialization.Readers.Test/OpenMSXTests.cs +++ b/SabreTools.Serialization.Readers.Test/OpenMSXTests.cs @@ -103,7 +103,7 @@ namespace SabreTools.Serialization.Readers.Test var original = new Data.Models.OpenMSX.Original { Value = "value", - Content = "XXXXXX", + Content = "content", }; var rom = new Data.Models.OpenMSX.Rom @@ -204,7 +204,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(original); Assert.Equal("value", original.Value); - Assert.Equal("XXXXXX", original.Content); + Assert.Equal("content", original.Content); } /// diff --git a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs index 7f59bae9..bcac0896 100644 --- a/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs +++ b/SabreTools.Serialization.Readers.Test/SoftwareListTests.cs @@ -182,7 +182,7 @@ namespace SabreTools.Serialization.Readers.Test var part = new Data.Models.SoftwareList.Part { Name = "name", - Interface = "XXXXXX", + Interface = "interface", Feature = [feature], DataArea = [dataarea], DiskArea = [diskarea], @@ -266,7 +266,7 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(part); Assert.Equal("name", part.Name); - Assert.Equal("XXXXXX", part.Interface); + Assert.Equal("interface", part.Interface); Assert.NotNull(part.Feature); var feature = Assert.Single(part.Feature);