mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
Make Machine inherent to DatItem instead of passing through
This commit is contained in:
@@ -25,7 +25,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem datItem = new Rom();
|
||||
datItem.SetName("rom.bin");
|
||||
datItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
datItem.Write(DatItem.MachineKey, machine);
|
||||
datItem.Machine = machine;
|
||||
datItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -53,7 +53,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem datItem = new Rom();
|
||||
datItem.SetName("rom.bin");
|
||||
datItem.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
datItem.Write(DatItem.MachineKey, machine);
|
||||
datItem.Machine = machine;
|
||||
datItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -83,7 +83,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
machine.Description = "description";
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Write(DatItem.MachineKey, machine);
|
||||
datItem.Machine = machine;
|
||||
datItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -93,7 +93,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
// The name of the bucket is not expected to change
|
||||
DatItem actual = Assert.Single(datFile.GetItemsForBucket("machine"));
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Machine? actualMachine = actual.Machine;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("description", actualMachine.Name);
|
||||
Assert.Equal("description", actualMachine.Description);
|
||||
@@ -130,12 +130,12 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("rom.bin");
|
||||
rom.Write(DatItem.MachineKey, machine);
|
||||
rom.Machine = machine;
|
||||
rom.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem disk = new Disk();
|
||||
disk.SetName("disk");
|
||||
disk.Write(DatItem.MachineKey, machine);
|
||||
disk.Machine = machine;
|
||||
disk.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -149,12 +149,12 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(2, actualDatItems.Count);
|
||||
|
||||
DatItem actualRom = Assert.Single(actualDatItems.FindAll(i => i is Rom));
|
||||
Machine? actualRomMachine = actualRom.GetMachine();
|
||||
Machine? actualRomMachine = actualRom.Machine;
|
||||
Assert.NotNull(actualRomMachine);
|
||||
Assert.Equal("machine/rom", actualRomMachine.Name);
|
||||
|
||||
DatItem actualDisk = Assert.Single(actualDatItems.FindAll(i => i is Disk));
|
||||
Machine? actualDiskMachine = actualDisk.GetMachine();
|
||||
Machine? actualDiskMachine = actualDisk.Machine;
|
||||
Assert.NotNull(actualDiskMachine);
|
||||
Assert.Equal("machine/disk", actualDiskMachine.Name);
|
||||
}
|
||||
@@ -212,11 +212,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
DatItem nowhereRom = new Rom();
|
||||
nowhereRom.SetName("rom.bin");
|
||||
nowhereRom.Write(DatItem.MachineKey, nowhereMachine);
|
||||
nowhereRom.Machine = nowhereMachine;
|
||||
|
||||
DatItem worldRom = new Rom();
|
||||
worldRom.SetName("rom.nib");
|
||||
worldRom.Write(DatItem.MachineKey, worldMachine);
|
||||
worldRom.Machine = worldMachine;
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.AddItem(nowhereRom, statsOnly: false);
|
||||
@@ -229,7 +229,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
var actualDatItems = datFile.GetItemsForBucket("machine (world)");
|
||||
DatItem actualWorldRom = Assert.Single(actualDatItems);
|
||||
Machine? actualWorldMachine = actualWorldRom.GetMachine();
|
||||
Machine? actualWorldMachine = actualWorldRom.Machine;
|
||||
Assert.NotNull(actualWorldMachine);
|
||||
Assert.Equal("machine (World)", actualWorldMachine.Name);
|
||||
}
|
||||
@@ -269,7 +269,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
machine.Name = "10.10.10-machine-name";
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Write(DatItem.MachineKey, machine);
|
||||
datItem.Machine = machine;
|
||||
datItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -279,7 +279,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
// The name of the bucket is not expected to change
|
||||
DatItem actual = Assert.Single(datFile.GetItemsForBucket("10.10.10-machine-name"));
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Machine? actualMachine = actual.Machine;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("machine-name", actualMachine.Name);
|
||||
}
|
||||
|
||||
@@ -26,21 +26,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -71,21 +71,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -116,21 +116,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -164,21 +164,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -216,21 +216,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -261,21 +261,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -317,29 +317,29 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
DatItem deviceItem = new Sample();
|
||||
deviceItem.SetName("device_item");
|
||||
deviceItem.Write(DatItem.MachineKey, deviceMachine);
|
||||
deviceItem.Machine = deviceMachine;
|
||||
deviceItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem slotOptionItem = new Sample();
|
||||
slotOptionItem.SetName("slot_option_item");
|
||||
slotOptionItem.Write(DatItem.MachineKey, slotOptionMachine);
|
||||
slotOptionItem.Machine = slotOptionMachine;
|
||||
slotOptionItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.SetName("rom");
|
||||
datItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
datItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
datItem.Write(DatItem.MachineKey, itemMachine);
|
||||
datItem.Machine = itemMachine;
|
||||
datItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem deviceRef = new DeviceRef();
|
||||
deviceRef.SetName("device");
|
||||
deviceRef.Write(DatItem.MachineKey, itemMachine);
|
||||
deviceRef.Machine = itemMachine;
|
||||
deviceRef.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem slotOption = new SlotOption();
|
||||
slotOption.SetName("slotoption");
|
||||
slotOption.Write(DatItem.MachineKey, itemMachine);
|
||||
slotOption.Machine = itemMachine;
|
||||
slotOption.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -429,21 +429,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -474,21 +474,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -523,11 +523,11 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
deviceMachine.IsDevice = true;
|
||||
|
||||
DatItem biosItem = new Rom();
|
||||
biosItem.Write(DatItem.MachineKey, biosMachine);
|
||||
biosItem.Machine = biosMachine;
|
||||
biosItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem deviceItem = new Rom();
|
||||
deviceItem.Write(DatItem.MachineKey, deviceMachine);
|
||||
deviceItem.Machine = deviceMachine;
|
||||
deviceItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -591,21 +591,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -618,7 +618,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
Assert.Single(datFile.GetItemsForBucket("parent"));
|
||||
DatItem actual = Assert.Single(datFile.GetItemsForBucket("child"));
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Machine? actualMachine = actual.Machine;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("child", actualMachine.Name);
|
||||
Assert.Equal("romof", actualMachine.ReadString(Data.Models.Metadata.Machine.RomOfKey));
|
||||
@@ -641,21 +641,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -698,21 +698,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -725,7 +725,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
Assert.Single(datFile.GetItemsForBucket("parent"));
|
||||
DatItem actual = Assert.Single(datFile.GetItemsForBucket("child"));
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Machine? actualMachine = actual.Machine;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("child", actualMachine.Name);
|
||||
}
|
||||
@@ -747,21 +747,21 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
parentItem.SetName("parent_rom");
|
||||
parentItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
parentItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
parentItem.Write(DatItem.MachineKey, parentMachine);
|
||||
parentItem.Machine = parentMachine;
|
||||
parentItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem matchChildItem = new Rom();
|
||||
matchChildItem.SetName("match_child_rom");
|
||||
matchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
matchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
matchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
matchChildItem.Machine = childMachine;
|
||||
matchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatItem noMatchChildItem = new Rom();
|
||||
noMatchChildItem.SetName("no_match_child_rom");
|
||||
noMatchChildItem.Write<long>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
noMatchChildItem.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "beefdead");
|
||||
noMatchChildItem.Write(DatItem.MachineKey, childMachine);
|
||||
noMatchChildItem.Machine = childMachine;
|
||||
noMatchChildItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -798,7 +798,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
machine.Write<string?>(Data.Models.Metadata.Machine.SampleOfKey, "XXXXXX");
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Write(DatItem.MachineKey, machine);
|
||||
datItem.Machine = machine;
|
||||
datItem.Write(DatItem.SourceKey, source);
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
@@ -808,7 +808,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
datFile.RemoveMachineRelationshipTags();
|
||||
|
||||
DatItem actualItem = Assert.Single(datFile.GetItemsForBucket("machine"));
|
||||
Machine? actual = actualItem.GetMachine();
|
||||
Machine? actual = actualItem.Machine;
|
||||
Assert.NotNull(actual);
|
||||
Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.CloneOfKey));
|
||||
Assert.Null(actual.ReadString(Data.Models.Metadata.Machine.RomOfKey));
|
||||
|
||||
@@ -37,7 +37,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
rom.SetName("rom");
|
||||
rom.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
rom.Write(DatItem.SourceKey, source);
|
||||
rom.Write(DatItem.MachineKey, machine);
|
||||
rom.Machine = machine;
|
||||
|
||||
DatFile? datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.Header.Name = "name";
|
||||
@@ -77,7 +77,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.Write<Source?>(DatItem.SourceKey, source);
|
||||
datItem.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
datItem.Machine = machine;
|
||||
|
||||
DatFile datFile = new Logiqx(datFile: null, useGame: false);
|
||||
datFile.AddItem(datItem, statsOnly: false);
|
||||
@@ -1960,7 +1960,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
romA.SetName("name");
|
||||
romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
List<DatItem> datItems = [romA];
|
||||
@@ -1988,14 +1988,14 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
romA.SetName("romA");
|
||||
romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
Rom romB = new Rom();
|
||||
romB.SetName("romB");
|
||||
romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456);
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2");
|
||||
romB.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
List<DatItem> datItems = [romA, romB];
|
||||
@@ -2030,14 +2030,14 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
romA.SetName("rom");
|
||||
romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
Rom romB = new Rom();
|
||||
romB.SetName("rom");
|
||||
romB.Write(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romB.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
List<DatItem> datItems = [romA, romB];
|
||||
@@ -2065,14 +2065,14 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
romA.SetName("rom");
|
||||
romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
Rom romB = new Rom();
|
||||
romB.SetName("rom");
|
||||
romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456);
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2");
|
||||
romB.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
List<DatItem> datItems = [romA, romB];
|
||||
@@ -2122,7 +2122,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
romA.SetName("name");
|
||||
romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
List<KeyValuePair<long, DatItem>> mappings =
|
||||
@@ -2152,14 +2152,14 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
romA.SetName("romA");
|
||||
romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
Rom romB = new Rom();
|
||||
romB.SetName("romB");
|
||||
romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456);
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2");
|
||||
romB.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
List<KeyValuePair<long, DatItem>> mappings =
|
||||
@@ -2236,14 +2236,14 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
romA.SetName("rom");
|
||||
romA.Write(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
romA.Write(Data.Models.Metadata.Rom.CRCKey, "crc");
|
||||
romA.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romA.Machine = (Machine)machine.Clone();
|
||||
romA.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
Rom romB = new Rom();
|
||||
romB.SetName("rom");
|
||||
romB.Write(Data.Models.Metadata.Rom.SizeKey, 23456);
|
||||
romB.Write(Data.Models.Metadata.Rom.CRCKey, "crc2");
|
||||
romB.Write(DatItem.MachineKey, (Machine)machine.Clone());
|
||||
romB.Machine = (Machine)machine.Clone();
|
||||
romB.Write(DatItem.SourceKey, (Source)source.Clone());
|
||||
|
||||
List<KeyValuePair<long, DatItem>> mappings =
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
disk.SetName("item");
|
||||
disk.Write<string?>(Data.Models.Metadata.Disk.SHA1Key, "deadbeef");
|
||||
disk.Write<Source?>(DatItem.SourceKey, source);
|
||||
disk.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
disk.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(disk, statsOnly: false);
|
||||
@@ -40,7 +40,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem disk = new Disk();
|
||||
disk.SetName("item");
|
||||
disk.Write<Source?>(DatItem.SourceKey, source);
|
||||
disk.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
disk.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(disk, statsOnly: false);
|
||||
@@ -61,7 +61,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
file.SetName("item");
|
||||
file.SHA1 = "deadbeef";
|
||||
file.Write<Source?>(DatItem.SourceKey, source);
|
||||
file.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
file.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(file, statsOnly: false);
|
||||
@@ -80,7 +80,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem file = new File();
|
||||
file.SetName("item");
|
||||
file.Write<Source?>(DatItem.SourceKey, source);
|
||||
file.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
file.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(file, statsOnly: false);
|
||||
@@ -100,7 +100,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
media.SetName("item");
|
||||
media.Write<string?>(Data.Models.Metadata.Media.SHA1Key, "deadbeef");
|
||||
media.Write<Source?>(DatItem.SourceKey, source);
|
||||
media.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
media.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(media, statsOnly: false);
|
||||
@@ -119,7 +119,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem media = new Media();
|
||||
media.SetName("item");
|
||||
media.Write<Source?>(DatItem.SourceKey, source);
|
||||
media.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
media.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(media, statsOnly: false);
|
||||
@@ -140,7 +140,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
rom.Write<long?>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "deadbeef");
|
||||
rom.Write<Source?>(DatItem.SourceKey, source);
|
||||
rom.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
rom.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(rom, statsOnly: false);
|
||||
@@ -163,7 +163,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
rom.SetName("item");
|
||||
rom.Write<long?>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
rom.Write<Source?>(DatItem.SourceKey, source);
|
||||
rom.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
rom.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(rom, statsOnly: false);
|
||||
@@ -186,7 +186,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
rom.SetName("item");
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA1Key, "deadbeef");
|
||||
rom.Write<Source?>(DatItem.SourceKey, source);
|
||||
rom.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
rom.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(rom, statsOnly: false);
|
||||
@@ -208,7 +208,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem rom = new Rom();
|
||||
rom.SetName("item");
|
||||
rom.Write<Source?>(DatItem.SourceKey, source);
|
||||
rom.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
rom.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(rom, statsOnly: false);
|
||||
@@ -230,7 +230,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem item = new Rom();
|
||||
item.SetName("item");
|
||||
item.Write<Source?>(DatItem.SourceKey, source);
|
||||
item.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
item.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: true);
|
||||
@@ -247,7 +247,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem item = new Rom();
|
||||
item.SetName("item");
|
||||
item.Write<Source?>(DatItem.SourceKey, source);
|
||||
item.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
item.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -306,7 +306,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.Write<Source?>(DatItem.SourceKey, source);
|
||||
item.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
item.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -326,7 +326,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.Write<Source?>(DatItem.SourceKey, source);
|
||||
item.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
item.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -347,7 +347,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem item = new Rom();
|
||||
item.Write<bool?>(DatItem.RemoveKey, true);
|
||||
item.Write<Source?>(DatItem.SourceKey, source);
|
||||
item.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
item.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -368,7 +368,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
DatItem item = new Rom();
|
||||
item.Write<bool?>(DatItem.RemoveKey, true);
|
||||
item.Write<Source?>(DatItem.SourceKey, source);
|
||||
item.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
item.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -388,7 +388,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
|
||||
DatItem item = new Rom();
|
||||
item.Write<Source?>(DatItem.SourceKey, source);
|
||||
item.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
item.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
@@ -797,7 +797,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
item.Write<long?>(Data.Models.Metadata.Rom.SizeKey, 12345);
|
||||
item.Write<string?>(Data.Models.Metadata.Rom.CRCKey, "deadbeef");
|
||||
item.Write<Source?>(DatItem.SourceKey, source);
|
||||
item.Write<Machine?>(DatItem.MachineKey, machine);
|
||||
item.Machine = machine;
|
||||
|
||||
var dict = new ItemDictionary();
|
||||
_ = dict.AddItem(item, statsOnly: false);
|
||||
|
||||
@@ -119,7 +119,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
// Get the current machine
|
||||
var machine = item.GetMachine();
|
||||
var machine = item.Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
@@ -326,7 +326,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
DatItem item = GetItemsForBucket(key)[0];
|
||||
|
||||
// Get machine information
|
||||
Machine? machine = item.GetMachine();
|
||||
Machine? machine = item.Machine;
|
||||
string? machineName = machine?.Name?.ToLowerInvariant();
|
||||
if (machine is null || machineName is null)
|
||||
continue;
|
||||
@@ -514,7 +514,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
return;
|
||||
|
||||
// Get the current machine
|
||||
var machine = datItem.GetMachine();
|
||||
var machine = datItem.Machine;
|
||||
if (machine is null)
|
||||
return;
|
||||
|
||||
@@ -522,7 +522,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
machine = (Machine)machine.Clone();
|
||||
|
||||
// Reassign the item to the new machine
|
||||
datItem.Write(DatItem.MachineKey, machine);
|
||||
datItem.Machine = machine;
|
||||
|
||||
// Remove extensions from File and Rom items
|
||||
if (datItem is DatItems.Formats.File || datItem is Rom)
|
||||
@@ -646,7 +646,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
// Get the current machine
|
||||
var machine = item.GetMachine();
|
||||
var machine = item.Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
@@ -655,10 +655,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
string? machineDesc = machine.Description;
|
||||
|
||||
if (machineName is not null && Regex.IsMatch(machineName, SceneNamePattern))
|
||||
item.GetMachine()!.Name = Regex.Replace(machineName, SceneNamePattern, "$2");
|
||||
item.Machine!.Name = Regex.Replace(machineName, SceneNamePattern, "$2");
|
||||
|
||||
if (machineDesc is not null && Regex.IsMatch(machineDesc, SceneNamePattern))
|
||||
item.GetMachine()!.Description = Regex.Replace(machineDesc, SceneNamePattern, "$2");
|
||||
item.Machine!.Description = Regex.Replace(machineDesc, SceneNamePattern, "$2");
|
||||
}
|
||||
#if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER
|
||||
});
|
||||
@@ -727,7 +727,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
// Get the current machine
|
||||
var machine = item.GetMachine();
|
||||
var machine = item.Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
|
||||
@@ -268,7 +268,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the machine
|
||||
var machine = items[0].GetMachine();
|
||||
var machine = items[0].Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
@@ -283,8 +283,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
if (parentItems.Count == 0)
|
||||
{
|
||||
copyFrom = new Rom();
|
||||
copyFrom.GetMachine()!.Name = cloneOf;
|
||||
copyFrom.GetMachine()!.Description = cloneOf;
|
||||
copyFrom.Machine!.Name = cloneOf;
|
||||
copyFrom.Machine!.Description = cloneOf;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -350,7 +350,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
.Contains(mergeTag))
|
||||
{
|
||||
if (subfolder)
|
||||
rom.Name = $"{rom.GetMachine()!.Name}\\{rom.Name}";
|
||||
rom.Name = $"{rom.Machine!.Name}\\{rom.Name}";
|
||||
|
||||
rom.CopyMachineInformation(copyFrom);
|
||||
AddItem(rom, statsOnly: false);
|
||||
@@ -360,7 +360,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
else if (!GetItemsForBucket(cloneOf).Exists(i => i.Equals(item)) || skipDedup)
|
||||
{
|
||||
if (subfolder)
|
||||
rom.Name = $"{item.GetMachine()!.Name}\\{rom.Name}";
|
||||
rom.Name = $"{item.Machine!.Name}\\{rom.Name}";
|
||||
|
||||
rom.CopyMachineInformation(copyFrom);
|
||||
AddItem(rom, statsOnly: false);
|
||||
@@ -371,7 +371,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
else if (!GetItemsForBucket(cloneOf).Exists(i => i.Equals(item)))
|
||||
{
|
||||
if (subfolder)
|
||||
item.SetName($"{item.GetMachine()!.Name}\\{item.GetName()}");
|
||||
item.SetName($"{item.Machine!.Name}\\{item.GetName()}");
|
||||
|
||||
item.CopyMachineInformation(copyFrom);
|
||||
AddItem(item, statsOnly: false);
|
||||
@@ -537,7 +537,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the machine
|
||||
var machine = items[0].GetMachine();
|
||||
var machine = items[0].Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
@@ -562,10 +562,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Now we want to get the parent romof tag and put it in each of the items
|
||||
items = GetItemsForBucket(bucket);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].GetMachine()!.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
item.GetMachine()!.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
item.Machine!.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -659,7 +659,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// If the machine (is/is not) a device, we want to continue
|
||||
if (deviceOnly ^ (datItems[0].GetMachine()!.IsDevice == true))
|
||||
if (deviceOnly ^ (datItems[0].Machine!.IsDevice == true))
|
||||
continue;
|
||||
|
||||
// Get the first item from the bucket
|
||||
@@ -976,7 +976,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the machine
|
||||
var machine = items[0].GetMachine();
|
||||
var machine = items[0].Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
@@ -1069,7 +1069,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
#endif
|
||||
|
||||
// Get the machine
|
||||
var machine = items[0].GetMachine();
|
||||
var machine = items[0].Machine;
|
||||
if (machine is null)
|
||||
#if NET40_OR_GREATER || NETCOREAPP || NETSTANDARD2_0_OR_GREATER
|
||||
return;
|
||||
@@ -1158,7 +1158,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the machine
|
||||
var machine = items[0].GetMachine();
|
||||
var machine = items[0].Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
@@ -1186,10 +1186,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
|
||||
// Now we want to get the parent romof tag and put it in each of the remaining items
|
||||
items = GetItemsForBucket(bucket);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].GetMachine()!.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
string? romof = GetItemsForBucket(cloneOf)[0].Machine!.ReadString(Data.Models.Metadata.Machine.RomOfKey);
|
||||
foreach (DatItem item in items)
|
||||
{
|
||||
item.GetMachine()!.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
item.Machine!.Write<string?>(Data.Models.Metadata.Machine.RomOfKey, romof);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1268,7 +1268,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the machine
|
||||
var machine = items[0].GetMachine();
|
||||
var machine = items[0].Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
@@ -1366,7 +1366,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
item.Remove(Data.Models.Metadata.Rom.MergeKey);
|
||||
|
||||
// Get the machine
|
||||
var machine = item.GetMachine();
|
||||
var machine = item.Machine;
|
||||
if (machine is null)
|
||||
continue;
|
||||
|
||||
|
||||
@@ -76,7 +76,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Create a machine to hold everything
|
||||
var machine = items[0].GetMachine()!.GetInternalClone();
|
||||
var machine = items[0].Machine!.GetInternalClone();
|
||||
|
||||
// Handle Trurip object, if it exists
|
||||
if (machine.ContainsKey(Data.Models.Metadata.Machine.TruripKey))
|
||||
|
||||
@@ -1176,8 +1176,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
|
||||
// If machine names don't match
|
||||
string? xMachineName = x.GetMachine()?.Name;
|
||||
string? yMachineName = y.GetMachine()?.Name;
|
||||
string? xMachineName = x.Machine?.Name;
|
||||
string? yMachineName = y.Machine?.Name;
|
||||
if (xMachineName != yMachineName)
|
||||
return nc.Compare(xMachineName, yMachineName);
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
WriteDatItem(sw, datItem, lastgame);
|
||||
|
||||
// Set the new data to compare against
|
||||
lastgame = datItem.GetMachine()!.Name;
|
||||
lastgame = datItem.Machine!.Name;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -174,7 +174,7 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
/// <param name="lastgame">The name of the last game to be output</param>
|
||||
private void WriteDatItem(StreamWriter sw, DatItem datItem, string? lastgame)
|
||||
{
|
||||
var machine = datItem.GetMachine();
|
||||
var machine = datItem.Machine;
|
||||
WriteDatItemImpl(sw, datItem, machine!, lastgame);
|
||||
}
|
||||
|
||||
|
||||
@@ -458,11 +458,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
DatItem datItem = datItems[index];
|
||||
|
||||
// If we have a different game and we're not at the start of the list, output the end of last item
|
||||
if (lastgame is not null && !string.Equals(lastgame, datItem.GetMachine()!.Name, StringComparison.OrdinalIgnoreCase))
|
||||
if (lastgame is not null && !string.Equals(lastgame, datItem.Machine!.Name, StringComparison.OrdinalIgnoreCase))
|
||||
WriteEndGame(jtw);
|
||||
|
||||
// If we have a new game, output the beginning of the new item
|
||||
if (lastgame is null || !string.Equals(lastgame, datItem.GetMachine()!.Name, StringComparison.OrdinalIgnoreCase))
|
||||
if (lastgame is null || !string.Equals(lastgame, datItem.Machine!.Name, StringComparison.OrdinalIgnoreCase))
|
||||
WriteStartGame(jtw, datItem);
|
||||
|
||||
// Check for a "null" item
|
||||
@@ -473,7 +473,7 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
WriteDatItem(jtw, datItem);
|
||||
|
||||
// Set the new data to compare against
|
||||
lastgame = datItem.GetMachine()!.Name;
|
||||
lastgame = datItem.Machine!.Name;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -601,8 +601,8 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
private static void WriteStartGame(JsonTextWriter jtw, DatItem datItem)
|
||||
{
|
||||
// No game should start with a path separator
|
||||
if (!string.IsNullOrEmpty(datItem.GetMachine()!.Name))
|
||||
datItem.GetMachine()!.Name = datItem.GetMachine()!.Name!.TrimStart(Path.DirectorySeparatorChar);
|
||||
if (!string.IsNullOrEmpty(datItem.Machine!.Name))
|
||||
datItem.Machine!.Name = datItem.Machine!.Name!.TrimStart(Path.DirectorySeparatorChar);
|
||||
|
||||
// Build the state
|
||||
jtw.WriteStartObject();
|
||||
@@ -610,7 +610,7 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
// Write the Machine
|
||||
jtw.WritePropertyName("machine");
|
||||
JsonSerializer js = new() { Formatting = Formatting.Indented };
|
||||
js.Serialize(jtw, datItem.GetMachine()!);
|
||||
js.Serialize(jtw, datItem.Machine!);
|
||||
|
||||
jtw.WritePropertyName("items");
|
||||
jtw.WriteStartArray();
|
||||
@@ -641,7 +641,7 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
private void WriteDatItem(JsonTextWriter jtw, DatItem datItem)
|
||||
{
|
||||
// Get the machine for the item
|
||||
var machine = datItem.GetMachine();
|
||||
var machine = datItem.Machine;
|
||||
|
||||
// Pre-process the item name
|
||||
ProcessItemName(datItem, machine, forceRemoveQuotes: true, forceRomName: false);
|
||||
|
||||
@@ -282,11 +282,11 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
DatItem datItem = datItems[index];
|
||||
|
||||
// If we have a different game and we're not at the start of the list, output the end of last item
|
||||
if (lastgame is not null && !string.Equals(lastgame, datItem.GetMachine()!.Name, StringComparison.OrdinalIgnoreCase))
|
||||
if (lastgame is not null && !string.Equals(lastgame, datItem.Machine!.Name, StringComparison.OrdinalIgnoreCase))
|
||||
WriteEndGame(xtw);
|
||||
|
||||
// If we have a new game, output the beginning of the new item
|
||||
if (lastgame is null || !string.Equals(lastgame, datItem.GetMachine()!.Name, StringComparison.OrdinalIgnoreCase))
|
||||
if (lastgame is null || !string.Equals(lastgame, datItem.Machine!.Name, StringComparison.OrdinalIgnoreCase))
|
||||
WriteStartGame(xtw, datItem);
|
||||
|
||||
// Check for a "null" item
|
||||
@@ -297,7 +297,7 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
WriteDatItem(xtw, datItem);
|
||||
|
||||
// Set the new data to compare against
|
||||
lastgame = datItem.GetMachine()!.Name;
|
||||
lastgame = datItem.Machine!.Name;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -429,14 +429,14 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
private static void WriteStartGame(XmlTextWriter xtw, DatItem datItem)
|
||||
{
|
||||
// No game should start with a path separator
|
||||
datItem.GetMachine()!.Name = datItem.GetMachine()!.Name?.TrimStart(Path.DirectorySeparatorChar) ?? string.Empty;
|
||||
datItem.Machine!.Name = datItem.Machine!.Name?.TrimStart(Path.DirectorySeparatorChar) ?? string.Empty;
|
||||
|
||||
// Write the machine
|
||||
xtw.WriteStartElement("directory");
|
||||
XmlSerializer xs = new(typeof(Machine));
|
||||
XmlSerializerNamespaces ns = new();
|
||||
ns.Add("", "");
|
||||
xs.Serialize(xtw, datItem.GetMachine(), ns);
|
||||
xs.Serialize(xtw, datItem.Machine, ns);
|
||||
|
||||
xtw.WriteStartElement("files");
|
||||
|
||||
@@ -466,7 +466,7 @@ namespace SabreTools.Metadata.DatFiles.Formats
|
||||
private void WriteDatItem(XmlTextWriter xtw, DatItem datItem)
|
||||
{
|
||||
// Get the machine for the item
|
||||
var machine = datItem.GetMachine();
|
||||
var machine = datItem.Machine;
|
||||
|
||||
// Pre-process the item name
|
||||
ProcessItemName(datItem, machine, forceRemoveQuotes: true, forceRomName: false);
|
||||
|
||||
@@ -437,9 +437,9 @@ namespace SabreTools.Metadata.DatFiles
|
||||
var lastSource = last.Read<Source?>(DatItem.SourceKey);
|
||||
|
||||
// Get the machines for comparison
|
||||
var selfMachine = self.GetMachine();
|
||||
var selfMachine = self.Machine;
|
||||
string? selfMachineName = selfMachine?.Name;
|
||||
var lastMachine = last.GetMachine();
|
||||
var lastMachine = last.Machine;
|
||||
string? lastMachineName = lastMachine?.Name;
|
||||
|
||||
// If the duplicate is external already
|
||||
@@ -546,8 +546,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
var itemSource = datItem.Read<Source?>(DatItem.SourceKey);
|
||||
|
||||
// Get the machines associated with the items
|
||||
var savedMachine = savedItem.GetMachine();
|
||||
var itemMachine = datItem.GetMachine();
|
||||
var savedMachine = savedItem.Machine;
|
||||
var itemMachine = datItem.Machine;
|
||||
|
||||
// If the current source has a lower ID than the saved, use the saved source
|
||||
if (itemSource?.Index < savedSource?.Index)
|
||||
@@ -732,7 +732,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
bucketBy = ItemKey.Machine;
|
||||
|
||||
// Get the machine and source
|
||||
var machine = datItem.GetMachine();
|
||||
var machine = datItem.Machine;
|
||||
var source = datItem.Read<Source?>(DatItem.SourceKey);
|
||||
|
||||
// Get the bucket key
|
||||
@@ -771,7 +771,7 @@ namespace SabreTools.Metadata.DatFiles
|
||||
continue;
|
||||
|
||||
// Get the machine and source
|
||||
var machine = item.GetMachine();
|
||||
var machine = item.Machine;
|
||||
var source = item.Read<Source?>(DatItem.SourceKey);
|
||||
|
||||
// We want to get the key most appropriate for the given sorting type
|
||||
@@ -852,8 +852,8 @@ namespace SabreTools.Metadata.DatFiles
|
||||
}
|
||||
|
||||
// Get the machines
|
||||
Machine? xMachine = x.GetMachine();
|
||||
Machine? yMachine = y.GetMachine();
|
||||
Machine? xMachine = x.Machine;
|
||||
Machine? yMachine = y.Machine;
|
||||
|
||||
// If machine names don't match
|
||||
string? xMachineName = xMachine?.Name;
|
||||
|
||||
@@ -59,10 +59,10 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
var romA = new Rom();
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Remove(DatItem.MachineKey);
|
||||
romB.Machine = null;
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.GetMachine();
|
||||
var actualMachineA = romA.Machine;
|
||||
Assert.NotNull(actualMachineA);
|
||||
Assert.Null(actualMachineA.Name);
|
||||
}
|
||||
@@ -74,13 +74,13 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
machineA.Name = "machineA";
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Write(DatItem.MachineKey, machineA);
|
||||
romA.Machine = machineA;
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Remove(DatItem.MachineKey);
|
||||
romB.Machine = null;
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.GetMachine();
|
||||
var actualMachineA = romA.Machine;
|
||||
Assert.NotNull(actualMachineA);
|
||||
Assert.Equal("machineA", actualMachineA.Name);
|
||||
}
|
||||
@@ -94,13 +94,13 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
Machine? machineB = null;
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Write(DatItem.MachineKey, machineA);
|
||||
romA.Machine = machineA;
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Write(DatItem.MachineKey, machineB);
|
||||
romB.Machine = machineB;
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.GetMachine();
|
||||
var actualMachineA = romA.Machine;
|
||||
Assert.NotNull(actualMachineA);
|
||||
Assert.Equal("machineA", actualMachineA.Name);
|
||||
}
|
||||
@@ -114,13 +114,13 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
Machine? machineB = new Machine();
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Write(DatItem.MachineKey, machineA);
|
||||
romA.Machine = machineA;
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Write(DatItem.MachineKey, machineB);
|
||||
romB.Machine = machineB;
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.GetMachine();
|
||||
var actualMachineA = romA.Machine;
|
||||
Assert.NotNull(actualMachineA);
|
||||
Assert.Null(actualMachineA.Name);
|
||||
}
|
||||
@@ -135,13 +135,13 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
machineB.Name = "machineB";
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Write(DatItem.MachineKey, machineA);
|
||||
romA.Machine = machineA;
|
||||
|
||||
var romB = new Rom();
|
||||
romB.Write(DatItem.MachineKey, machineB);
|
||||
romB.Machine = machineB;
|
||||
|
||||
romA.CopyMachineInformation(romB);
|
||||
var actualMachineA = romA.GetMachine();
|
||||
var actualMachineA = romA.Machine;
|
||||
Assert.NotNull(actualMachineA);
|
||||
Assert.Equal("machineB", actualMachineA.Name);
|
||||
}
|
||||
@@ -156,13 +156,13 @@ namespace SabreTools.Metadata.DatItems.Test
|
||||
machineB.Name = "machineB";
|
||||
|
||||
var romA = new Rom();
|
||||
romA.Write(DatItem.MachineKey, machineA);
|
||||
romA.Machine = machineA;
|
||||
|
||||
var diskB = new Disk();
|
||||
diskB.Write(DatItem.MachineKey, machineB);
|
||||
diskB.Machine = machineB;
|
||||
|
||||
romA.CopyMachineInformation(diskB);
|
||||
var actualMachineA = romA.GetMachine();
|
||||
var actualMachineA = romA.Machine;
|
||||
Assert.NotNull(actualMachineA);
|
||||
Assert.Equal("machineB", actualMachineA.Name);
|
||||
}
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
disk.Write(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString);
|
||||
disk.Write(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString);
|
||||
disk.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External);
|
||||
disk.Write(DatItem.MachineKey, machine);
|
||||
disk.Machine = machine;
|
||||
disk.Write(Disk.PartKey, part);
|
||||
disk.Write(DatItem.RemoveKey, (bool?)false);
|
||||
disk.Write(DatItem.SourceKey, source);
|
||||
@@ -51,7 +51,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
Assert.NotNull(actualDataArea);
|
||||
Assert.Equal("name", actualDataArea.Name);
|
||||
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Machine? actualMachine = actual.Machine;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("name", actualMachine.Name);
|
||||
|
||||
|
||||
@@ -27,10 +27,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
Format = "XXXXXX"
|
||||
};
|
||||
file.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External);
|
||||
file.Write(DatItem.MachineKey, machine);
|
||||
file.Machine = machine;
|
||||
file.Write(DatItem.RemoveKey, (bool?)false);
|
||||
file.Write(DatItem.SourceKey, source);
|
||||
file.Write(DatItem.MachineKey, machine);
|
||||
file.Machine = machine;
|
||||
file.Write(DatItem.SourceKey, source);
|
||||
|
||||
Rom actual = file.ConvertToRom();
|
||||
@@ -43,7 +43,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
Assert.Equal("00000000000000000000000000000000000000000000000000000000deadbeef", actual.ReadString(Data.Models.Metadata.Rom.SHA256Key));
|
||||
Assert.Equal(DupeType.All | DupeType.External, actual.Read<DupeType>(DatItem.DupeTypeKey));
|
||||
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Machine? actualMachine = actual.Machine;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("name", actualMachine.GetName());
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
media.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString);
|
||||
media.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString);
|
||||
media.Write(DatItem.DupeTypeKey, DupeType.All | DupeType.External);
|
||||
media.Write(DatItem.MachineKey, machine);
|
||||
media.Machine = machine;
|
||||
media.Write(DatItem.RemoveKey, (bool?)false);
|
||||
media.Write(DatItem.SourceKey, source);
|
||||
|
||||
@@ -35,7 +35,7 @@ namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
Assert.Equal(HashType.SpamSum.ZeroString, actual.ReadString(Data.Models.Metadata.Rom.SpamSumKey));
|
||||
Assert.Equal(DupeType.All | DupeType.External, actual.Read<DupeType>(DatItem.DupeTypeKey));
|
||||
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Machine? actualMachine = actual.Machine;
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("name", actualMachine.Name);
|
||||
|
||||
|
||||
@@ -63,11 +63,6 @@ namespace SabreTools.Metadata.DatItems
|
||||
/// </summary>
|
||||
public const string DupeTypeKey = "DUPETYPE";
|
||||
|
||||
/// <summary>
|
||||
/// Machine associated with the item
|
||||
/// </summary>
|
||||
public const string MachineKey = "MACHINE";
|
||||
|
||||
/// <summary>
|
||||
/// Flag if item should be removed
|
||||
/// </summary>
|
||||
@@ -87,6 +82,11 @@ namespace SabreTools.Metadata.DatItems
|
||||
/// </summary>
|
||||
public abstract Data.Models.Metadata.ItemType ItemType { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Get the machine for a DatItem
|
||||
/// </summary>
|
||||
public Machine? Machine { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
#region Logging
|
||||
@@ -101,13 +101,6 @@ namespace SabreTools.Metadata.DatItems
|
||||
|
||||
#region Accessors
|
||||
|
||||
/// <summary>
|
||||
/// Get the machine for a DatItem
|
||||
/// </summary>
|
||||
/// <returns>Machine if available, null otherwise</returns>
|
||||
/// <remarks>Relies on <see cref="MachineKey"/></remarks>
|
||||
public Machine? GetMachine() => Read<Machine>(MachineKey);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the name to use for a DatItem
|
||||
/// </summary>
|
||||
@@ -137,11 +130,10 @@ namespace SabreTools.Metadata.DatItems
|
||||
public void CopyMachineInformation(DatItem item)
|
||||
{
|
||||
// If there is no machine
|
||||
if (!item._internal.ContainsKey(MachineKey))
|
||||
if (item.Machine is null)
|
||||
return;
|
||||
|
||||
var machine = item.GetMachine();
|
||||
CopyMachineInformation(machine);
|
||||
CopyMachineInformation(item.Machine);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -154,7 +146,7 @@ namespace SabreTools.Metadata.DatItems
|
||||
return;
|
||||
|
||||
if (machine.Clone() is Machine cloned)
|
||||
Write(MachineKey, cloned);
|
||||
Machine = cloned;
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -245,7 +237,7 @@ namespace SabreTools.Metadata.DatItems
|
||||
/// <returns>True if the item and its machine passes the filter, false otherwise</returns>
|
||||
public bool PassesFilter(FilterRunner filterRunner)
|
||||
{
|
||||
var machine = GetMachine();
|
||||
var machine = Machine;
|
||||
if (machine is not null && !machine.PassesFilter(filterRunner))
|
||||
return false;
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace SabreTools.Metadata.DatItems
|
||||
_internal = new T();
|
||||
|
||||
SetName(string.Empty);
|
||||
Write(MachineKey, new Machine());
|
||||
Machine = new Machine();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -35,7 +35,7 @@ namespace SabreTools.Metadata.DatItems
|
||||
{
|
||||
_internal = item;
|
||||
|
||||
Write(MachineKey, new Machine());
|
||||
Machine = new Machine();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
@@ -130,7 +130,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
}
|
||||
|
||||
rom.Write(DupeTypeKey, Read<DupeType>(DupeTypeKey));
|
||||
rom.Write(MachineKey, GetMachine()?.Clone() as Machine);
|
||||
rom.Machine = Machine?.Clone() as Machine;
|
||||
rom.Write(Rom.PartKey, Read<Part>(PartKey)?.Clone() as Part);
|
||||
rom.Write(RemoveKey, ReadBool(RemoveKey));
|
||||
rom.Write<Source?>(SourceKey, Read<Source?>(SourceKey)?.Clone() as Source);
|
||||
|
||||
@@ -121,7 +121,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
Format = this.Format,
|
||||
};
|
||||
file.Write(DupeTypeKey, Read<DupeType>(DupeTypeKey));
|
||||
file.Write(MachineKey, GetMachine()!.Clone() as Machine ?? new Machine());
|
||||
file.Machine = Machine!.Clone() as Machine ?? new Machine();
|
||||
file.Write(RemoveKey, ReadBool(RemoveKey));
|
||||
file.Write<Source?>(SourceKey, Read<Source?>(SourceKey));
|
||||
|
||||
@@ -144,7 +144,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
rom.Write<string?>(Data.Models.Metadata.Rom.SHA256Key, SHA256);
|
||||
|
||||
rom.Write(DupeTypeKey, Read<DupeType>(DupeTypeKey));
|
||||
rom.Write(MachineKey, GetMachine()?.Clone() as Machine);
|
||||
rom.Machine = Machine?.Clone() as Machine;
|
||||
rom.Write(RemoveKey, ReadBool(RemoveKey));
|
||||
rom.Write<Source?>(SourceKey, Read<Source?>(SourceKey));
|
||||
|
||||
|
||||
@@ -68,7 +68,7 @@ namespace SabreTools.Metadata.DatItems.Formats
|
||||
var rom = new Rom(_internal.ConvertToRom()!);
|
||||
|
||||
rom.Write(DupeTypeKey, Read<DupeType>(DupeTypeKey));
|
||||
rom.Write(MachineKey, GetMachine());
|
||||
rom.Machine = Machine?.Clone() as Machine;
|
||||
rom.Write(RemoveKey, ReadBool(RemoveKey));
|
||||
rom.Write<Source?>(SourceKey, Read<Source?>(SourceKey));
|
||||
|
||||
|
||||
Reference in New Issue
Block a user