mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-23 23:35:09 +00:00
Fill in a few more string properties
This commit is contained in:
@@ -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)
|
||||
{
|
||||
|
||||
@@ -11,6 +11,10 @@ namespace SabreTools.Data.Models.Metadata
|
||||
/// <remarks>(unknown|cartridge|floppydisk|harddisk|cylinder|cassette|punchcard|punchtape|printout|serial|parallel|snapshot|quickload|memcard|cdrom|magtape|romimage|midiin|midiout|picture|vidfile)</remarks>
|
||||
public DeviceType? DeviceType { get; set; }
|
||||
|
||||
public string? FixedImage { get; set; }
|
||||
|
||||
public string? Interface { get; set; }
|
||||
|
||||
/// <remarks>(0|1) "0"</remarks>
|
||||
public bool? Mandatory { get; set; }
|
||||
|
||||
@@ -24,16 +28,10 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[NoFilter]
|
||||
public const string ExtensionKey = "extension";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string FixedImageKey = "fixed_image";
|
||||
|
||||
/// <remarks>Instance</remarks>
|
||||
[NoFilter]
|
||||
public const string InstanceKey = "instance";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string InterfaceKey = "interface";
|
||||
|
||||
#endregion
|
||||
|
||||
public Device() => ItemType = ItemType.Device;
|
||||
|
||||
@@ -8,17 +8,12 @@ namespace SabreTools.Data.Models.Metadata
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public string? BriefName { get; set; }
|
||||
|
||||
public string? Name { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Keys
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string BriefNameKey = "briefname";
|
||||
|
||||
#endregion
|
||||
|
||||
public Instance() => ItemType = ItemType.Instance;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,10 +6,13 @@ namespace SabreTools.Data.Models.Metadata
|
||||
[JsonObject("original"), XmlRoot("original")]
|
||||
public class Original : DatItem
|
||||
{
|
||||
#region Keys
|
||||
#region Properties
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ContentKey = "content";
|
||||
public string? Content { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Keys
|
||||
|
||||
/// <remarks>bool</remarks>
|
||||
public const string ValueKey = "value";
|
||||
|
||||
@@ -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";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string InterfaceKey = "interface";
|
||||
|
||||
#endregion
|
||||
|
||||
public Part() => ItemType = ItemType.Part;
|
||||
|
||||
@@ -8,6 +8,8 @@ namespace SabreTools.Data.Models.Metadata
|
||||
{
|
||||
#region Properties
|
||||
|
||||
public string? Content { get; set; }
|
||||
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
public bool? Default { get; set; }
|
||||
|
||||
@@ -15,13 +17,6 @@ namespace SabreTools.Data.Models.Metadata
|
||||
|
||||
#endregion
|
||||
|
||||
#region Keys
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string ContentKey = "content";
|
||||
|
||||
#endregion
|
||||
|
||||
public RamOption() => ItemType = ItemType.RamOption;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,17 +11,12 @@ namespace SabreTools.Data.Models.Metadata
|
||||
/// <remarks>(yes|no) "no"</remarks>
|
||||
public bool? Default { get; set; }
|
||||
|
||||
public string? DevName { get; set; }
|
||||
|
||||
public string? Name { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Keys
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string DevNameKey = "devname";
|
||||
|
||||
#endregion
|
||||
|
||||
public SlotOption() => ItemType = ItemType.SlotOption;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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.DataArea>(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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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,
|
||||
]));
|
||||
|
||||
@@ -679,7 +679,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
.ConvertAll(i => i as Slot)
|
||||
.FindAll(s => s!.SlotOptionsSpecified)
|
||||
.SelectMany(s => s!.Read<SlotOption[]?>(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<SlotOption[]?>(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<string?>(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<SlotOption[]?>(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<SlotOption[]?>(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<string?>(Data.Models.Metadata.SlotOption.DevNameKey, slotOption);
|
||||
slotOptionItem.DevName = slotOption;
|
||||
|
||||
var slotItem = new Slot();
|
||||
slotItem.Write<SlotOption[]?>(Data.Models.Metadata.Slot.SlotOptionKey, [slotOptionItem]);
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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<Part?>(DipSwitch.PartKey)!.Name))
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
|
||||
if (string.IsNullOrEmpty(dipSwitch.Read<Part?>(DipSwitch.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey)))
|
||||
missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
|
||||
if (string.IsNullOrEmpty(dipSwitch.Read<Part?>(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<Part?>(Disk.PartKey)!.Name))
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
|
||||
if (string.IsNullOrEmpty(disk.Read<Part?>(Disk.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey)))
|
||||
missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
|
||||
if (string.IsNullOrEmpty(disk.Read<Part?>(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<Part?>(Rom.PartKey)!.Name))
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Part.Name));
|
||||
if (string.IsNullOrEmpty(rom.Read<Part?>(Rom.PartKey)!.ReadString(Data.Models.Metadata.Part.InterfaceKey)))
|
||||
missingFields.Add(Data.Models.Metadata.Part.InterfaceKey);
|
||||
if (string.IsNullOrEmpty(rom.Read<Part?>(Rom.PartKey)!.Interface))
|
||||
missingFields.Add(nameof(Data.Models.Metadata.Part.Interface));
|
||||
}
|
||||
|
||||
if (!rom.DataAreaSpecified)
|
||||
|
||||
@@ -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<Extension[]?>(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<Extension[]?>(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<Instance?>(Data.Models.Metadata.Device.InstanceKey);
|
||||
if (instance is not null)
|
||||
deviceItem[Data.Models.Metadata.Device.InstanceKey] = instance.GetInternalClone();
|
||||
|
||||
@@ -79,7 +79,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
var part = Read<Part?>(PartKey);
|
||||
return part is not null
|
||||
&& (!string.IsNullOrEmpty(part.Name)
|
||||
|| !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey)));
|
||||
|| !string.IsNullOrEmpty(part.Interface));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -58,7 +58,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
var part = Read<Part?>(PartKey);
|
||||
return part is not null
|
||||
&& (!string.IsNullOrEmpty(part.Name)
|
||||
|| !string.IsNullOrEmpty(part.ReadString(Data.Models.Metadata.Part.InterfaceKey)));
|
||||
|| !string.IsNullOrEmpty(part.Interface));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -108,7 +108,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
var part = Read<Part?>(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?>("ORIGINAL", new Original
|
||||
{
|
||||
Value = original.ReadBool(Data.Models.Metadata.Original.ValueKey),
|
||||
Content = original.ReadString(Data.Models.Metadata.Original.ContentKey),
|
||||
Content = original.Content,
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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.Instance>(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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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.Feature[]>(Data.Models.Metadata.Part.FeatureKey);
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user