diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs index 7cf31e86..448ad49c 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Filtering.cs @@ -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); } diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs index 19149563..3ea66952 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.Splitting.cs @@ -26,21 +26,21 @@ namespace SabreTools.Metadata.DatFiles.Test parentItem.SetName("parent_rom"); parentItem.Write(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); datItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); parentItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); matchChildItem.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); noMatchChildItem.Write(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(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)); diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs index 191d23ad..9b4f54b8 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs @@ -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(DatItem.SourceKey, source); - datItem.Write(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 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 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 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 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> 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> 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> mappings = diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs index d84aafe7..95c8d893 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs @@ -20,7 +20,7 @@ namespace SabreTools.Metadata.DatFiles.Test disk.SetName("item"); disk.Write(Data.Models.Metadata.Disk.SHA1Key, "deadbeef"); disk.Write(DatItem.SourceKey, source); - disk.Write(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(DatItem.SourceKey, source); - disk.Write(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(DatItem.SourceKey, source); - file.Write(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(DatItem.SourceKey, source); - file.Write(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(Data.Models.Metadata.Media.SHA1Key, "deadbeef"); media.Write(DatItem.SourceKey, source); - media.Write(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(DatItem.SourceKey, source); - media.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); rom.Write(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); rom.Write(DatItem.SourceKey, source); - rom.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); rom.Write(DatItem.SourceKey, source); - rom.Write(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(Data.Models.Metadata.Rom.SHA1Key, "deadbeef"); rom.Write(DatItem.SourceKey, source); - rom.Write(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(DatItem.SourceKey, source); - rom.Write(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(DatItem.SourceKey, source); - item.Write(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(DatItem.SourceKey, source); - item.Write(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(DatItem.SourceKey, source); - item.Write(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(DatItem.SourceKey, source); - item.Write(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(DatItem.RemoveKey, true); item.Write(DatItem.SourceKey, source); - item.Write(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(DatItem.RemoveKey, true); item.Write(DatItem.SourceKey, source); - item.Write(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(DatItem.SourceKey, source); - item.Write(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(Data.Models.Metadata.Rom.SizeKey, 12345); item.Write(Data.Models.Metadata.Rom.CRCKey, "deadbeef"); item.Write(DatItem.SourceKey, source); - item.Write(DatItem.MachineKey, machine); + item.Machine = machine; var dict = new ItemDictionary(); _ = dict.AddItem(item, statsOnly: false); diff --git a/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs b/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs index 7f5369fc..5ae6b63c 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.Filtering.cs @@ -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; diff --git a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs index fcf958b2..7ab48799 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.Splitting.cs @@ -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(Data.Models.Metadata.Machine.RomOfKey, romof); + item.Machine!.Write(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(Data.Models.Metadata.Machine.RomOfKey, romof); + item.Machine!.Write(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; diff --git a/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs b/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs index cb461899..0e3dcd98 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.ToMetadata.cs @@ -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)) diff --git a/SabreTools.Metadata.DatFiles/DatFile.cs b/SabreTools.Metadata.DatFiles/DatFile.cs index 280554a3..4d887946 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.cs @@ -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); diff --git a/SabreTools.Metadata.DatFiles/Formats/Missfile.cs b/SabreTools.Metadata.DatFiles/Formats/Missfile.cs index 4e23cbdd..ae3a250d 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Missfile.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Missfile.cs @@ -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 /// The name of the last game to be output private void WriteDatItem(StreamWriter sw, DatItem datItem, string? lastgame) { - var machine = datItem.GetMachine(); + var machine = datItem.Machine; WriteDatItemImpl(sw, datItem, machine!, lastgame); } diff --git a/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs b/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs index 5ef5ce89..e39f9fa2 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SabreJSON.cs @@ -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); diff --git a/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs b/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs index 1c5ac52b..d4215183 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SabreXML.cs @@ -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); diff --git a/SabreTools.Metadata.DatFiles/ItemDictionary.cs b/SabreTools.Metadata.DatFiles/ItemDictionary.cs index 2fe1068e..17756f62 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionary.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionary.cs @@ -437,9 +437,9 @@ namespace SabreTools.Metadata.DatFiles var lastSource = last.Read(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(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(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(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; diff --git a/SabreTools.Metadata.DatItems.Test/DatItemTests.cs b/SabreTools.Metadata.DatItems.Test/DatItemTests.cs index cd63bf0d..4f785f16 100644 --- a/SabreTools.Metadata.DatItems.Test/DatItemTests.cs +++ b/SabreTools.Metadata.DatItems.Test/DatItemTests.cs @@ -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); } diff --git a/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs index c416af2b..4f5c1f4c 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs @@ -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); diff --git a/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs index e461f1ad..8d2d4d41 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs @@ -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(DatItem.DupeTypeKey)); - Machine? actualMachine = actual.GetMachine(); + Machine? actualMachine = actual.Machine; Assert.NotNull(actualMachine); Assert.Equal("name", actualMachine.GetName()); diff --git a/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs index b584e038..5d7f127c 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs @@ -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(DatItem.DupeTypeKey)); - Machine? actualMachine = actual.GetMachine(); + Machine? actualMachine = actual.Machine; Assert.NotNull(actualMachine); Assert.Equal("name", actualMachine.Name); diff --git a/SabreTools.Metadata.DatItems/DatItem.cs b/SabreTools.Metadata.DatItems/DatItem.cs index c61ef588..7642613e 100644 --- a/SabreTools.Metadata.DatItems/DatItem.cs +++ b/SabreTools.Metadata.DatItems/DatItem.cs @@ -63,11 +63,6 @@ namespace SabreTools.Metadata.DatItems /// public const string DupeTypeKey = "DUPETYPE"; - /// - /// Machine associated with the item - /// - public const string MachineKey = "MACHINE"; - /// /// Flag if item should be removed /// @@ -87,6 +82,11 @@ namespace SabreTools.Metadata.DatItems /// public abstract Data.Models.Metadata.ItemType ItemType { get; } + /// + /// Get the machine for a DatItem + /// + public Machine? Machine { get; set; } + #endregion #region Logging @@ -101,13 +101,6 @@ namespace SabreTools.Metadata.DatItems #region Accessors - /// - /// Get the machine for a DatItem - /// - /// Machine if available, null otherwise - /// Relies on - public Machine? GetMachine() => Read(MachineKey); - /// /// Gets the name to use for a DatItem /// @@ -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); } /// @@ -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 /// True if the item and its machine passes the filter, false otherwise public bool PassesFilter(FilterRunner filterRunner) { - var machine = GetMachine(); + var machine = Machine; if (machine is not null && !machine.PassesFilter(filterRunner)) return false; diff --git a/SabreTools.Metadata.DatItems/DatItemT.cs b/SabreTools.Metadata.DatItems/DatItemT.cs index 79354958..3671404c 100644 --- a/SabreTools.Metadata.DatItems/DatItemT.cs +++ b/SabreTools.Metadata.DatItems/DatItemT.cs @@ -25,7 +25,7 @@ namespace SabreTools.Metadata.DatItems _internal = new T(); SetName(string.Empty); - Write(MachineKey, new Machine()); + Machine = new Machine(); } /// @@ -35,7 +35,7 @@ namespace SabreTools.Metadata.DatItems { _internal = item; - Write(MachineKey, new Machine()); + Machine = new Machine(); } #endregion diff --git a/SabreTools.Metadata.DatItems/Formats/Disk.cs b/SabreTools.Metadata.DatItems/Formats/Disk.cs index c3ddb732..5599c355 100644 --- a/SabreTools.Metadata.DatItems/Formats/Disk.cs +++ b/SabreTools.Metadata.DatItems/Formats/Disk.cs @@ -130,7 +130,7 @@ namespace SabreTools.Metadata.DatItems.Formats } rom.Write(DupeTypeKey, Read(DupeTypeKey)); - rom.Write(MachineKey, GetMachine()?.Clone() as Machine); + rom.Machine = Machine?.Clone() as Machine; rom.Write(Rom.PartKey, Read(PartKey)?.Clone() as Part); rom.Write(RemoveKey, ReadBool(RemoveKey)); rom.Write(SourceKey, Read(SourceKey)?.Clone() as Source); diff --git a/SabreTools.Metadata.DatItems/Formats/File.cs b/SabreTools.Metadata.DatItems/Formats/File.cs index 4acc452b..9ea0049e 100644 --- a/SabreTools.Metadata.DatItems/Formats/File.cs +++ b/SabreTools.Metadata.DatItems/Formats/File.cs @@ -121,7 +121,7 @@ namespace SabreTools.Metadata.DatItems.Formats Format = this.Format, }; file.Write(DupeTypeKey, Read(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(SourceKey, Read(SourceKey)); @@ -144,7 +144,7 @@ namespace SabreTools.Metadata.DatItems.Formats rom.Write(Data.Models.Metadata.Rom.SHA256Key, SHA256); rom.Write(DupeTypeKey, Read(DupeTypeKey)); - rom.Write(MachineKey, GetMachine()?.Clone() as Machine); + rom.Machine = Machine?.Clone() as Machine; rom.Write(RemoveKey, ReadBool(RemoveKey)); rom.Write(SourceKey, Read(SourceKey)); diff --git a/SabreTools.Metadata.DatItems/Formats/Media.cs b/SabreTools.Metadata.DatItems/Formats/Media.cs index 9435426f..c10c4852 100644 --- a/SabreTools.Metadata.DatItems/Formats/Media.cs +++ b/SabreTools.Metadata.DatItems/Formats/Media.cs @@ -68,7 +68,7 @@ namespace SabreTools.Metadata.DatItems.Formats var rom = new Rom(_internal.ConvertToRom()!); rom.Write(DupeTypeKey, Read(DupeTypeKey)); - rom.Write(MachineKey, GetMachine()); + rom.Machine = Machine?.Clone() as Machine; rom.Write(RemoveKey, ReadBool(RemoveKey)); rom.Write(SourceKey, Read(SourceKey));