Make Machine inherent to DatItem instead of passing through

This commit is contained in:
Matt Nadareski
2026-04-02 16:23:16 -04:00
parent ca95e96402
commit 355aa4b94c
21 changed files with 182 additions and 190 deletions

View File

@@ -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);
}

View File

@@ -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));

View File

@@ -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 =

View File

@@ -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);