Move machine to same name model as DatItem

This commit is contained in:
Matt Nadareski
2025-05-02 16:05:08 -04:00
parent 90a7917ebe
commit 7754ca5bd7
34 changed files with 247 additions and 230 deletions

View File

@@ -95,7 +95,7 @@ namespace SabreTools.DatFiles.Test
DatItem actual = Assert.Single(datFile.GetItemsForBucket("machine"));
Machine? actualMachine = actual.GetFieldValue<Machine?>(DatItem.MachineKey);
Assert.NotNull(actualMachine);
Assert.Equal("description", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("description", actualMachine.GetName());
Assert.Equal("description", actualMachine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey));
}
@@ -112,7 +112,7 @@ namespace SabreTools.DatFiles.Test
datFile.MachineDescriptionToName();
Machine actualMachine = Assert.Single(datFile.GetMachinesDB()).Value;
Assert.Equal("description", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("description", actualMachine.GetName());
Assert.Equal("description", actualMachine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey));
}
@@ -151,12 +151,12 @@ namespace SabreTools.DatFiles.Test
DatItem actualRom = Assert.Single(actualDatItems.FindAll(i => i is Rom));
Machine? actualRomMachine = actualRom.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualRomMachine);
Assert.Equal("machine/rom", actualRomMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machine/rom", actualRomMachine.GetName());
DatItem actualDisk = Assert.Single(actualDatItems.FindAll(i => i is Disk));
Machine? actualDiskMachine = actualDisk.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualDiskMachine);
Assert.Equal("machine/disk", actualDiskMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machine/disk", actualDiskMachine.GetName());
}
[Fact]
@@ -188,12 +188,12 @@ namespace SabreTools.DatFiles.Test
var actualRom = Assert.Single(actualDatItems, i => i.Value is Rom);
var actualRomMachine = datFile.GetMachineForItemDB(actualRom.Key);
Assert.NotNull(actualRomMachine.Value);
Assert.Equal("machine/rom", actualRomMachine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machine/rom", actualRomMachine.Value.GetName());
var actualDisk = Assert.Single(actualDatItems, i => i.Value is Disk);
var actualDiskMachine = datFile.GetMachineForItemDB(actualDisk.Key);
Assert.NotNull(actualDiskMachine.Value);
Assert.Equal("machine/disk", actualDiskMachine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machine/disk", actualDiskMachine.Value.GetName());
}
#endregion
@@ -231,7 +231,7 @@ namespace SabreTools.DatFiles.Test
DatItem actualWorldRom = Assert.Single(actualDatItems);
Machine? actualWorldMachine = actualWorldRom.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualWorldMachine);
Assert.Equal("machine (World)", actualWorldMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machine (World)", actualWorldMachine.GetName());
}
[Fact]
@@ -253,7 +253,7 @@ namespace SabreTools.DatFiles.Test
var actualWorldMachine = Assert.Single(datFile.GetMachinesDB());
Assert.NotNull(actualWorldMachine.Value);
Assert.Equal("machine (World)", actualWorldMachine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machine (World)", actualWorldMachine.Value.GetName());
}
#endregion
@@ -281,7 +281,7 @@ namespace SabreTools.DatFiles.Test
DatItem actual = Assert.Single(datFile.GetItemsForBucket("10.10.10-machine-name"));
Machine? actualMachine = actual.GetFieldValue<Machine?>(DatItem.MachineKey);
Assert.NotNull(actualMachine);
Assert.Equal("machine-name", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machine-name", actualMachine.GetName());
}
[Fact]
@@ -296,7 +296,7 @@ namespace SabreTools.DatFiles.Test
datFile.StripSceneDatesFromItems();
Machine actualMachine = Assert.Single(datFile.GetMachinesDB()).Value;
Assert.Equal("machine-name", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machine-name", actualMachine.GetName());
}
#endregion

View File

@@ -1004,7 +1004,7 @@ namespace SabreTools.DatFiles.Test
Assert.Equal("language", machine.GetStringFieldValue(Models.Metadata.Machine.LanguageKey));
Assert.Equal("location", machine.GetStringFieldValue(Models.Metadata.Machine.LocationKey));
Assert.Equal("manufacturer", machine.GetStringFieldValue(Models.Metadata.Machine.ManufacturerKey));
Assert.Equal("name", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("name", machine.GetName());
Assert.Equal("notes", machine.GetStringFieldValue(Models.Metadata.Machine.NotesKey));
Assert.Equal("playedcount", machine.GetStringFieldValue(Models.Metadata.Machine.PlayedCountKey));
Assert.Equal("playedtime", machine.GetStringFieldValue(Models.Metadata.Machine.PlayedTimeKey));

View File

@@ -15,10 +15,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -60,10 +60,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -105,10 +105,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -153,10 +153,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -205,10 +205,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -250,10 +250,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -306,14 +306,14 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine deviceMachine = new Machine();
deviceMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "device");
deviceMachine.SetName("device");
deviceMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsDeviceKey, true);
Machine slotOptionMachine = new Machine();
slotOptionMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "slotoption");
slotOptionMachine.SetName("slotoption");
Machine itemMachine = new Machine();
itemMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
itemMachine.SetName("machine");
DatItem deviceItem = new Sample();
deviceItem.SetName("device_item");
@@ -365,14 +365,14 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine deviceMachine = new Machine();
deviceMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "device");
deviceMachine.SetName("device");
deviceMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsDeviceKey, true);
Machine slotOptionMachine = new Machine();
slotOptionMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "slotoption");
slotOptionMachine.SetName("slotoption");
Machine itemMachine = new Machine();
itemMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
itemMachine.SetName("machine");
DatItem deviceItem = new Sample();
deviceItem.SetName("device_item");
@@ -418,10 +418,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.RomOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -463,10 +463,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.RomOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -515,11 +515,11 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine biosMachine = new Machine();
biosMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "bios");
biosMachine.SetName("bios");
biosMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
Machine deviceMachine = new Machine();
deviceMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "device");
deviceMachine.SetName("device");
deviceMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsDeviceKey, true);
DatItem biosItem = new Rom();
@@ -547,11 +547,11 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine biosMachine = new Machine();
biosMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "bios");
biosMachine.SetName("bios");
biosMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
Machine deviceMachine = new Machine();
deviceMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "device");
deviceMachine.SetName("device");
deviceMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsDeviceKey, true);
DatItem biosItem = new Rom();
@@ -580,11 +580,11 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.RomOfKey, "romof");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "parent");
DatItem parentItem = new Rom();
@@ -620,7 +620,7 @@ namespace SabreTools.DatFiles.Test
DatItem actual = Assert.Single(datFile.GetItemsForBucket("child"));
Machine? actualMachine = actual.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualMachine);
Assert.Equal("child", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("child", actualMachine.GetName());
Assert.Equal("romof", actualMachine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey));
}
@@ -630,11 +630,11 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.RomOfKey, "romof");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "parent");
DatItem parentItem = new Rom();
@@ -673,7 +673,7 @@ namespace SabreTools.DatFiles.Test
long actual = Assert.Single(datFile.GetItemsForBucketDB("child")).Key;
Machine? actualMachine = datFile.GetMachineForItemDB(actual).Value;
Assert.NotNull(actualMachine);
Assert.Equal("child", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("child", actualMachine.GetName());
Assert.Equal("romof", actualMachine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey));
}
@@ -687,10 +687,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.RomOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -727,7 +727,7 @@ namespace SabreTools.DatFiles.Test
DatItem actual = Assert.Single(datFile.GetItemsForBucket("child"));
Machine? actualMachine = actual.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualMachine);
Assert.Equal("child", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("child", actualMachine.GetName());
}
[Fact]
@@ -736,10 +736,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine parentMachine = new Machine();
parentMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "parent");
parentMachine.SetName("parent");
Machine childMachine = new Machine();
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "child");
childMachine.SetName("child");
childMachine.SetFieldValue<string?>(Models.Metadata.Machine.RomOfKey, "parent");
childMachine.SetFieldValue<bool>(Models.Metadata.Machine.IsBiosKey, true);
@@ -779,7 +779,7 @@ namespace SabreTools.DatFiles.Test
long actual = Assert.Single(datFile.GetItemsForBucketDB("child")).Key;
Machine? actualMachine = datFile.GetMachineForItemDB(actual).Value;
Assert.NotNull(actualMachine);
Assert.Equal("child", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("child", actualMachine.GetName());
}
#endregion
@@ -792,7 +792,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
machine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "XXXXXX");
machine.SetFieldValue<string?>(Models.Metadata.Machine.RomOfKey, "XXXXXX");
machine.SetFieldValue<string?>(Models.Metadata.Machine.SampleOfKey, "XXXXXX");
@@ -821,7 +821,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
machine.SetFieldValue<string?>(Models.Metadata.Machine.CloneOfKey, "XXXXXX");
machine.SetFieldValue<string?>(Models.Metadata.Machine.RomOfKey, "XXXXXX");
machine.SetFieldValue<string?>(Models.Metadata.Machine.SampleOfKey, "XXXXXX");

View File

@@ -31,7 +31,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "key");
machine.SetName("key");
DatItem rom = new Rom();
rom.SetName("rom");
@@ -73,7 +73,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem datItem = new Rom();
datItem.SetFieldValue<Source?>(DatItem.SourceKey, source);
@@ -92,7 +92,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem datItem = new Rom();

View File

@@ -290,7 +290,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -329,7 +329,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
@@ -349,7 +349,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
@@ -369,7 +369,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetFieldValue<bool?>(DatItem.RemoveKey, true);
@@ -390,7 +390,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetFieldValue<bool?>(DatItem.RemoveKey, true);
@@ -411,7 +411,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
@@ -527,7 +527,7 @@ namespace SabreTools.DatFiles.Test
var actual = dict.GetMachineForItem(itemIndex);
Assert.Equal(1, actual.Key);
Assert.NotNull(actual.Value);
Assert.Equal("new", actual.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("new", actual.Value.GetName());
}
#endregion
@@ -540,7 +540,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem datItem = new Rom();
datItem.SetName("rom-1");
@@ -568,7 +568,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem datItem = new Rom();
datItem.SetName("rom-1");
@@ -617,10 +617,10 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine1 = new Machine();
machine1.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine1.SetName("game-1");
Machine machine2 = new Machine();
machine2.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-2");
machine2.SetName("game-2");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -671,7 +671,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -707,7 +707,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -749,7 +749,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -788,7 +788,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetName("rom");

View File

@@ -258,7 +258,7 @@ namespace SabreTools.DatFiles.Test
{
// Setup the items
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -296,7 +296,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetFieldValue<Source?>(DatItem.SourceKey, source);
@@ -316,7 +316,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetFieldValue<Source?>(DatItem.SourceKey, source);
@@ -336,7 +336,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetFieldValue<bool?>(DatItem.RemoveKey, true);
@@ -357,7 +357,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetFieldValue<bool?>(DatItem.RemoveKey, true);
@@ -378,7 +378,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetFieldValue<Source?>(DatItem.SourceKey, source);
@@ -400,7 +400,7 @@ namespace SabreTools.DatFiles.Test
public void RemoveBucketTest()
{
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem datItem = new Rom();
datItem.SetName("rom-1");
@@ -426,7 +426,7 @@ namespace SabreTools.DatFiles.Test
public void RemoveItemTest()
{
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem datItem = new Rom();
datItem.SetName("rom-1");
@@ -457,10 +457,10 @@ namespace SabreTools.DatFiles.Test
{
// Setup the items
Machine machine1 = new Machine();
machine1.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine1.SetName("game-1");
Machine machine2 = new Machine();
machine2.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-2");
machine2.SetName("game-2");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -510,7 +510,7 @@ namespace SabreTools.DatFiles.Test
{
// Setup the items
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -544,7 +544,7 @@ namespace SabreTools.DatFiles.Test
{
// Setup the items
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -585,7 +585,7 @@ namespace SabreTools.DatFiles.Test
{
// Setup the items
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "game-1");
machine.SetName("game-1");
DatItem rom1 = new Rom();
rom1.SetName("rom-1");
@@ -625,7 +625,7 @@ namespace SabreTools.DatFiles.Test
Source source = new Source(0, source: null);
Machine machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machine");
machine.SetName("machine");
DatItem item = new Rom();
item.SetName("rom");

View File

@@ -125,7 +125,7 @@ namespace SabreTools.DatFiles
continue;
// Get the values to check against
string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? machineName = machine.GetName();
string? machineDesc = machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey);
if (machineName == null || machineDesc == null)
continue;
@@ -166,7 +166,7 @@ namespace SabreTools.DatFiles
continue;
// Get the values to check against
string? machineName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? machineName = machine.Value.GetName();
string? machineDesc = machine.Value.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey);
if (machineName == null || machineDesc == null)
continue;
@@ -332,7 +332,7 @@ namespace SabreTools.DatFiles
// Get machine information
Machine? machine = item.GetFieldValue<Machine>(DatItem.MachineKey);
string? machineName = machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey)?.ToLowerInvariant();
string? machineName = machine?.GetName()?.ToLowerInvariant();
if (machine == null || machineName == null)
continue;
@@ -411,7 +411,7 @@ namespace SabreTools.DatFiles
// Get machine information
Machine? machineObj = machine.Value;
string? machineName = machineObj?.GetStringFieldValue(Models.Metadata.Machine.NameKey)?.ToLowerInvariant();
string? machineName = machineObj?.GetName()?.ToLowerInvariant();
if (machineObj == null || machineName == null)
continue;
@@ -535,19 +535,19 @@ namespace SabreTools.DatFiles
if (datItem is DatItems.Formats.File || datItem is Rom)
{
string[] splitname = itemName.Split('.');
itemName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey)
itemName = machine.GetName()
+ $"/{string.Join(".", splitname, 0, splitname.Length > 1 ? splitname.Length - 1 : 1)}";
}
else
{
itemName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey) + $"/{itemName}";
itemName = machine.GetName() + $"/{itemName}";
}
// Strip off "Default" prefix only for ORPG
if (itemName.StartsWith("Default"))
itemName = itemName.Substring("Default".Length + 1);
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, itemName);
machine.SetName(itemName);
datItem.SetName(Path.GetFileName(datItem.GetName()));
}
@@ -615,19 +615,19 @@ namespace SabreTools.DatFiles
if (datItem.Value is DatItems.Formats.File || datItem.Value is Rom)
{
string[] splitname = itemName.Split('.');
itemName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey)
itemName = machine.Value.GetName()
+ $"/{string.Join(".", splitname, 0, splitname.Length > 1 ? splitname.Length - 1 : 1)}";
}
else
{
itemName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey) + $"/{itemName}";
itemName = machine.Value.GetName() + $"/{itemName}";
}
// Strip off "Default" prefix only for ORPG
if (itemName.StartsWith("Default"))
itemName = itemName.Substring("Default".Length + 1);
machine.Value.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, itemName);
machine.Value.SetName(itemName);
datItem.Value.SetName(Path.GetFileName(datItem.Value.GetName()));
}
@@ -662,11 +662,11 @@ namespace SabreTools.DatFiles
continue;
// Get the values to check against
string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? machineName = machine.GetName();
string? machineDesc = machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey);
if (machineName != null && Regex.IsMatch(machineName, SceneNamePattern))
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, Regex.Replace(machineName, SceneNamePattern, "$2"));
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(Regex.Replace(machineName, SceneNamePattern, "$2"));
if (machineDesc != null && Regex.IsMatch(machineDesc, SceneNamePattern))
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, Regex.Replace(machineDesc, SceneNamePattern, "$2"));
@@ -702,11 +702,11 @@ namespace SabreTools.DatFiles
#endif
// Get the values to check against
string? machineName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? machineName = machine.Value.GetName();
string? machineDesc = machine.Value.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey);
if (machineName != null && Regex.IsMatch(machineName, SceneNamePattern))
machine.Value.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, Regex.Replace(machineName, SceneNamePattern, "$2"));
machine.Value.SetName(Regex.Replace(machineName, SceneNamePattern, "$2"));
if (machineDesc != null && Regex.IsMatch(machineDesc, SceneNamePattern))
machine.Value.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, Regex.Replace(machineDesc, SceneNamePattern, "$2"));
@@ -747,14 +747,14 @@ namespace SabreTools.DatFiles
continue;
// Get the values to check against
string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? machineName = machine.GetName();
string? cloneOf = machine.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey);
string? romOf = machine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey);
string? sampleOf = machine.GetStringFieldValue(Models.Metadata.Machine.SampleOfKey);
// Update machine name
if (machineName != null && mapping.ContainsKey(machineName))
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, mapping[machineName]);
machine.SetName(mapping[machineName]);
// Update cloneof
if (cloneOf != null && mapping.ContainsKey(cloneOf))
@@ -788,14 +788,14 @@ namespace SabreTools.DatFiles
continue;
// Get the values to check against
string? machineName = machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? machineName = machine.Value.GetName();
string? cloneOf = machine.Value.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey);
string? romOf = machine.Value.GetStringFieldValue(Models.Metadata.Machine.RomOfKey);
string? sampleOf = machine.Value.GetStringFieldValue(Models.Metadata.Machine.SampleOfKey);
// Update machine name
if (machineName != null && mapping.ContainsKey(machineName))
machine.Value.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, mapping[machineName]);
machine.Value.SetName(mapping[machineName]);
// Update cloneof
if (cloneOf != null && mapping.ContainsKey(cloneOf))

View File

@@ -264,7 +264,7 @@ namespace SabreTools.DatFiles
if (item.ContainsKey(Models.Metadata.Machine.DumpKey))
{
var items = item.ReadItemArray<Models.Metadata.Dump>(Models.Metadata.Machine.DumpKey);
string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? machineName = machine.GetName();
ProcessItems(items, machine, machineIndex: 0, source, sourceIndex, statsOnly, machineName);
}
if (item.ContainsKey(Models.Metadata.Machine.FeatureKey))

View File

@@ -263,7 +263,7 @@ namespace SabreTools.DatFiles
if (parentItems.Count == 0)
{
copyFrom = new Rom();
copyFrom.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, cloneOf);
copyFrom.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(cloneOf);
copyFrom.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, cloneOf);
}
else
@@ -325,7 +325,7 @@ namespace SabreTools.DatFiles
.Contains(rom.GetStringFieldValue(Models.Metadata.Rom.MergeKey)))
{
if (subfolder)
rom.SetName($"{rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)}\\{rom.GetName()}");
rom.SetName($"{rom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName()}\\{rom.GetName()}");
rom.CopyMachineInformation(copyFrom);
AddItem(rom, statsOnly: false);
@@ -335,7 +335,7 @@ namespace SabreTools.DatFiles
else if (!GetItemsForBucket(cloneOf).Contains(item) || skipDedup)
{
if (subfolder)
rom.SetName($"{item.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)}\\{rom.GetName()}");
rom.SetName($"{item.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName()}\\{rom.GetName()}");
rom.CopyMachineInformation(copyFrom);
AddItem(rom, statsOnly: false);
@@ -346,7 +346,7 @@ namespace SabreTools.DatFiles
else if (!GetItemsForBucket(cloneOf).Contains(item))
{
if (subfolder)
item.SetName($"{item.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)}\\{item.GetName()}");
item.SetName($"{item.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName()}\\{item.GetName()}");
item.CopyMachineInformation(copyFrom);
AddItem(item, statsOnly: false);
@@ -404,7 +404,7 @@ namespace SabreTools.DatFiles
continue;
string? machineName = GetMachineForItemDB(item.Key).Value?
.GetStringFieldValue(Models.Metadata.Machine.NameKey);
.GetName();
// Special disk handling
if (item.Value is Disk disk)

View File

@@ -3,6 +3,7 @@ using System.Collections.Generic;
using System.IO;
using System.Xml.Serialization;
using Newtonsoft.Json;
using SabreTools.Core;
using SabreTools.Core.Tools;
using SabreTools.DatItems;
using SabreTools.DatItems.Formats;
@@ -487,7 +488,7 @@ namespace SabreTools.DatFiles
// Get the name to update
string? name = (useRomName
? item.GetName()
: machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey)) ?? string.Empty;
: machine?.GetName()) ?? string.Empty;
// If we're in Depot mode, take care of that instead
if (Modifiers.OutputDepot?.IsActive == true)
@@ -553,14 +554,14 @@ namespace SabreTools.DatFiles
name += Modifiers.AddExtension;
if (useRomName && Modifiers.GameName)
name = Path.Combine(machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) ?? string.Empty, name);
name = Path.Combine(machine?.GetName() ?? string.Empty, name);
// Now assign back the formatted name
name = $"{pre}{name}{post}";
if (useRomName)
item.SetName(name);
else
machine?.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, name);
machine?.SetName(name);
}
/// <summary>
@@ -575,7 +576,7 @@ namespace SabreTools.DatFiles
// Initialize strings
string? type = item.GetStringFieldValue(Models.Metadata.DatItem.TypeKey);
string
game = machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) ?? string.Empty,
game = machine?.GetName() ?? string.Empty,
manufacturer = machine?.GetStringFieldValue(Models.Metadata.Machine.ManufacturerKey) ?? string.Empty,
publisher = machine?.GetStringFieldValue(Models.Metadata.Machine.PublisherKey) ?? string.Empty,
category = machine?.GetStringFieldValue(Models.Metadata.Machine.CategoryKey) ?? string.Empty,
@@ -1000,8 +1001,8 @@ namespace SabreTools.DatFiles
var nc = new NaturalComparer();
// If machine names don't match
string? xMachineName = x.GetFieldValue<Machine>(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? yMachineName = y.GetFieldValue<Machine>(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? xMachineName = x.GetFieldValue<Machine>(DatItem.MachineKey)?.GetName();
string? yMachineName = y.GetFieldValue<Machine>(DatItem.MachineKey)?.GetName();
if (xMachineName != yMachineName)
return nc.Compare(xMachineName, yMachineName);
@@ -1055,8 +1056,8 @@ namespace SabreTools.DatFiles
// TODO: Fix this since DB uses an external map for machines
// If machine names don't match
string? xMachineName = x.Value.GetFieldValue<Machine>(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? yMachineName = y.Value.GetFieldValue<Machine>(DatItem.MachineKey)?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? xMachineName = x.Value.GetFieldValue<Machine>(DatItem.MachineKey)?.GetName();
string? yMachineName = y.Value.GetFieldValue<Machine>(DatItem.MachineKey)?.GetName();
if (xMachineName != yMachineName)
return nc.Compare(xMachineName, yMachineName);

View File

@@ -82,7 +82,7 @@ namespace SabreTools.DatFiles.Formats
WriteDatItem(sw, datItem, lastgame);
// Set the new data to compare against
lastgame = datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey);
lastgame = datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName();
}
}
@@ -143,7 +143,7 @@ namespace SabreTools.DatFiles.Formats
WriteDatItemDB(sw, datItem, lastgame);
// Set the new data to compare against
lastgame = machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey);
lastgame = machine.Value!.GetName();
}
}
@@ -199,8 +199,8 @@ namespace SabreTools.DatFiles.Formats
// Romba mode automatically uses item name
if (Modifiers.OutputDepot?.IsActive == true || Modifiers.UseRomName)
sw.Write($"{datItem.GetName() ?? string.Empty}\n");
else if (!Modifiers.UseRomName && machine!.GetStringFieldValue(Models.Metadata.Machine.NameKey) != lastgame)
sw.Write($"{machine!.GetStringFieldValue(Models.Metadata.Machine.NameKey) ?? string.Empty}\n");
else if (!Modifiers.UseRomName && machine!.GetName() != lastgame)
sw.Write($"{machine!.GetName() ?? string.Empty}\n");
sw.Flush();
}

View File

@@ -412,11 +412,11 @@ namespace SabreTools.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 != null && !string.Equals(lastgame, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase))
if (lastgame != null && !string.Equals(lastgame, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName(), StringComparison.OrdinalIgnoreCase))
WriteEndGame(jtw);
// If we have a new game, output the beginning of the new item
if (lastgame == null || !string.Equals(lastgame, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase))
if (lastgame == null || !string.Equals(lastgame, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName(), StringComparison.OrdinalIgnoreCase))
WriteStartGame(jtw, datItem);
// Check for a "null" item
@@ -427,7 +427,7 @@ namespace SabreTools.DatFiles.Formats
WriteDatItem(jtw, datItem);
// Set the new data to compare against
lastgame = datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey);
lastgame = datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName();
}
}
@@ -493,11 +493,11 @@ namespace SabreTools.DatFiles.Formats
var machine = GetMachineForItemDB(kvp.Key);
// If we have a different game and we're not at the start of the list, output the end of last item
if (lastgame != null && !string.Equals(lastgame, machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase))
if (lastgame != null && !string.Equals(lastgame, machine.Value!.GetName(), StringComparison.OrdinalIgnoreCase))
WriteEndGame(jtw);
// If we have a new game, output the beginning of the new item
if (lastgame == null || !string.Equals(lastgame, machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase))
if (lastgame == null || !string.Equals(lastgame, machine.Value!.GetName(), StringComparison.OrdinalIgnoreCase))
WriteStartGame(jtw, kvp.Value);
// Check for a "null" item
@@ -508,7 +508,7 @@ namespace SabreTools.DatFiles.Formats
WriteDatItemDB(jtw, datItem);
// Set the new data to compare against
lastgame = machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey);
lastgame = machine.Value!.GetName();
}
}
@@ -555,8 +555,8 @@ namespace SabreTools.DatFiles.Formats
private static void WriteStartGame(JsonTextWriter jtw, DatItem datItem)
{
// No game should start with a path separator
if (!string.IsNullOrEmpty(datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)))
datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)!.TrimStart(Path.DirectorySeparatorChar));
if (!string.IsNullOrEmpty(datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName()))
datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName()!.TrimStart(Path.DirectorySeparatorChar));
// Build the state
jtw.WriteStartObject();

View File

@@ -240,11 +240,11 @@ namespace SabreTools.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 != null && !string.Equals(lastgame, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase))
if (lastgame != null && !string.Equals(lastgame, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName(), StringComparison.OrdinalIgnoreCase))
WriteEndGame(xtw);
// If we have a new game, output the beginning of the new item
if (lastgame == null || !string.Equals(lastgame, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase))
if (lastgame == null || !string.Equals(lastgame, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName(), StringComparison.OrdinalIgnoreCase))
WriteStartGame(xtw, datItem);
// Check for a "null" item
@@ -255,7 +255,7 @@ namespace SabreTools.DatFiles.Formats
WriteDatItem(xtw, datItem);
// Set the new data to compare against
lastgame = datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey);
lastgame = datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName();
}
}
@@ -322,11 +322,11 @@ namespace SabreTools.DatFiles.Formats
var machine = GetMachineForItemDB(kvp.Key);
// If we have a different game and we're not at the start of the list, output the end of last item
if (lastgame != null && !string.Equals(lastgame, machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase))
if (lastgame != null && !string.Equals(lastgame, machine.Value!.GetName(), StringComparison.OrdinalIgnoreCase))
WriteEndGame(xtw);
// If we have a new game, output the beginning of the new item
if (lastgame == null || !string.Equals(lastgame, machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey), StringComparison.OrdinalIgnoreCase))
if (lastgame == null || !string.Equals(lastgame, machine.Value!.GetName(), StringComparison.OrdinalIgnoreCase))
WriteStartGame(xtw, kvp.Value);
// Check for a "null" item
@@ -337,7 +337,7 @@ namespace SabreTools.DatFiles.Formats
WriteDatItemDB(xtw, datItem);
// Set the new data to compare against
lastgame = machine.Value!.GetStringFieldValue(Models.Metadata.Machine.NameKey);
lastgame = machine.Value!.GetName();
}
}
@@ -387,7 +387,7 @@ namespace SabreTools.DatFiles.Formats
private static void WriteStartGame(XmlTextWriter xtw, DatItem datItem)
{
// No game should start with a path separator
datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey)?.TrimStart(Path.DirectorySeparatorChar) ?? string.Empty);
datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName()?.TrimStart(Path.DirectorySeparatorChar) ?? string.Empty);
// Write the machine
xtw.WriteStartElement("directory");

View File

@@ -533,8 +533,8 @@ namespace SabreTools.DatFiles
}
// If the saved machine is a child of the current machine, use the current machine instead
if (savedMachine?.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey) == itemMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey)
|| savedMachine?.GetStringFieldValue(Models.Metadata.Machine.RomOfKey) == itemMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey))
if (savedMachine?.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey) == itemMachine?.GetName()
|| savedMachine?.GetStringFieldValue(Models.Metadata.Machine.RomOfKey) == itemMachine?.GetName())
{
savedItem.CopyMachineInformation(datItem);
savedItem.SetName(datItem.GetName());
@@ -799,8 +799,8 @@ namespace SabreTools.DatFiles
Machine? yMachine = y.GetFieldValue<Machine>(DatItem.MachineKey);
// If machine names don't match
string? xMachineName = xMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? yMachineName = yMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? xMachineName = xMachine?.GetName();
string? yMachineName = yMachine?.GetName();
if (xMachineName != yMachineName)
return nc.Compare(xMachineName, yMachineName);

View File

@@ -407,7 +407,7 @@ namespace SabreTools.DatFiles
if (string.IsNullOrEmpty(name))
return new KeyValuePair<long, Machine?>(-1, null);
var machine = _machines.FirstOrDefault(m => m.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey) == name);
var machine = _machines.FirstOrDefault(m => m.Value.GetName() == name);
return new KeyValuePair<long, Machine?>(machine.Key, machine.Value);
}
@@ -612,7 +612,7 @@ namespace SabreTools.DatFiles
if (string.IsNullOrEmpty(machineName))
return false;
var machine = _machines.FirstOrDefault(m => m.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey) == machineName);
var machine = _machines.FirstOrDefault(m => m.Value.GetName() == machineName);
return RemoveMachine(machine.Key);
}
@@ -874,8 +874,8 @@ namespace SabreTools.DatFiles
}
// If the saved machine is a child of the current machine, use the current machine instead
if (savedMachine.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey) == itemMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey)
|| savedMachine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey) == itemMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey))
if (savedMachine.GetStringFieldValue(Models.Metadata.Machine.CloneOfKey) == itemMachine.GetName()
|| savedMachine.GetStringFieldValue(Models.Metadata.Machine.RomOfKey) == itemMachine.GetName())
{
_machines[_itemToMachineMapping[savedIndex]] = (itemMachine.Clone() as Machine)!;
savedItem.SetName(datItem.GetName());
@@ -1101,8 +1101,8 @@ namespace SabreTools.DatFiles
Machine? yMachine = _machines[_itemToMachineMapping[y.Key]];
// If machine names don't match
string? xMachineName = xMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? yMachineName = yMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? xMachineName = xMachine?.GetName();
string? yMachineName = yMachine?.GetName();
if (xMachineName != yMachineName)
return nc.Compare(xMachineName, yMachineName);

View File

@@ -47,7 +47,7 @@ namespace SabreTools.DatItems.Test
public void CopyMachineInformation_NewItem_Overwrite()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machineA");
machineA.SetName("machineA");
var romA = new Rom();
@@ -57,14 +57,14 @@ namespace SabreTools.DatItems.Test
romA.CopyMachineInformation(romB);
var actualMachineA = romA.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualMachineA);
Assert.Null(actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Null(actualMachineA.GetName());
}
[Fact]
public void CopyMachineInformation_EmptyItem_NoChange()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machineA");
machineA.SetName("machineA");
var romA = new Rom();
romA.SetFieldValue(DatItem.MachineKey, machineA);
@@ -75,14 +75,14 @@ namespace SabreTools.DatItems.Test
romA.CopyMachineInformation(romB);
var actualMachineA = romA.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualMachineA);
Assert.Equal("machineA", actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machineA", actualMachineA.GetName());
}
[Fact]
public void CopyMachineInformation_NullMachine_NoChange()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machineA");
machineA.SetName("machineA");
Machine? machineB = null;
@@ -95,14 +95,14 @@ namespace SabreTools.DatItems.Test
romA.CopyMachineInformation(romB);
var actualMachineA = romA.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualMachineA);
Assert.Equal("machineA", actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machineA", actualMachineA.GetName());
}
[Fact]
public void CopyMachineInformation_EmptyMachine_Overwrite()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machineA");
machineA.SetName("machineA");
Machine? machineB = new Machine();
@@ -115,17 +115,17 @@ namespace SabreTools.DatItems.Test
romA.CopyMachineInformation(romB);
var actualMachineA = romA.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualMachineA);
Assert.Null(actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Null(actualMachineA.GetName());
}
[Fact]
public void CopyMachineInformation_FilledMachine_Overwrite()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machineA");
machineA.SetName("machineA");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machineB");
machineB.SetName("machineB");
var romA = new Rom();
romA.SetFieldValue(DatItem.MachineKey, machineA);
@@ -136,17 +136,17 @@ namespace SabreTools.DatItems.Test
romA.CopyMachineInformation(romB);
var actualMachineA = romA.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualMachineA);
Assert.Equal("machineB", actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machineB", actualMachineA.GetName());
}
[Fact]
public void CopyMachineInformation_MismatchedType_Overwrite()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machineA");
machineA.SetName("machineA");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "machineB");
machineB.SetName("machineB");
var romA = new Rom();
romA.SetFieldValue(DatItem.MachineKey, machineA);
@@ -157,7 +157,7 @@ namespace SabreTools.DatItems.Test
romA.CopyMachineInformation(diskB);
var actualMachineA = romA.GetFieldValue<Machine>(DatItem.MachineKey);
Assert.NotNull(actualMachineA);
Assert.Equal("machineB", actualMachineA.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("machineB", actualMachineA.GetName());
}
#endregion
@@ -304,10 +304,10 @@ namespace SabreTools.DatItems.Test
public void GetDuplicateStatus_MismatchedHashes_NoDupe()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineB.SetName("name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -329,10 +329,10 @@ namespace SabreTools.DatItems.Test
public void GetDuplicateStatus_DifferentSource_NameMatch_ExternalAll()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineB.SetName("name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -354,10 +354,10 @@ namespace SabreTools.DatItems.Test
public void GetDuplicateStatus_DifferentSource_NoNameMatch_ExternalHash()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "not-name-same");
machineB.SetName("not-name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -379,10 +379,10 @@ namespace SabreTools.DatItems.Test
public void GetDuplicateStatus_SameSource_NameMatch_InternalAll()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineB.SetName("name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -404,10 +404,10 @@ namespace SabreTools.DatItems.Test
public void GetDuplicateStatus_SameSource_NoNameMatch_InternalHash()
{
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "not-name-same");
machineB.SetName("not-name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -461,10 +461,10 @@ namespace SabreTools.DatItems.Test
Source? sourceB = new Source(1);
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineB.SetName("name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -487,10 +487,10 @@ namespace SabreTools.DatItems.Test
Source? sourceB = new Source(1);
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineB.SetName("name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -513,10 +513,10 @@ namespace SabreTools.DatItems.Test
Source? sourceB = new Source(1);
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "not-name-same");
machineB.SetName("not-name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -539,10 +539,10 @@ namespace SabreTools.DatItems.Test
Source? sourceB = new Source(0);
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineB.SetName("name-same");
var romA = new Rom();
romA.SetName("same-name");
@@ -565,10 +565,10 @@ namespace SabreTools.DatItems.Test
Source? sourceB = new Source(0);
Machine? machineA = new Machine();
machineA.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-same");
machineA.SetName("name-same");
Machine? machineB = new Machine();
machineB.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "not-name-same");
machineB.SetName("not-name-same");
var romA = new Rom();
romA.SetName("same-name");

View File

@@ -54,7 +54,7 @@ namespace SabreTools.DatItems.Test.Formats
Machine? actualMachine = actual.GetFieldValue<Machine?>(DatItem.MachineKey);
Assert.NotNull(actualMachine);
Assert.Equal("XXXXXX", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("XXXXXX", actualMachine.GetName());
Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey));

View File

@@ -42,7 +42,7 @@ namespace SabreTools.DatItems.Test.Formats
Machine? actualMachine = actual.GetFieldValue<Machine?>(DatItem.MachineKey);
Assert.NotNull(actualMachine);
Assert.Equal("XXXXXX", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("XXXXXX", actualMachine.GetName());
Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey));

View File

@@ -38,7 +38,7 @@ namespace SabreTools.DatItems.Test.Formats
Machine? actualMachine = actual.GetFieldValue<Machine?>(DatItem.MachineKey);
Assert.NotNull(actualMachine);
Assert.Equal("XXXXXX", actualMachine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("XXXXXX", actualMachine.GetName());
Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey));

View File

@@ -15,7 +15,7 @@ namespace SabreTools.DatItems.Test
object clone = item.Clone();
Machine? actual = clone as Machine;
Assert.NotNull(actual);
Assert.Equal("name", actual.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("name", actual.GetName());
}
#endregion

View File

@@ -246,9 +246,9 @@ namespace SabreTools.DatItems
// Get the machines for comparison
var selfMachine = GetFieldValue<Machine>(DatItem.MachineKey);
string? selfMachineName = selfMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? selfMachineName = selfMachine?.GetName();
var lastMachine = lastItem.GetFieldValue<Machine>(DatItem.MachineKey);
string? lastMachineName = lastMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? lastMachineName = lastMachine?.GetName();
// If the duplicate is external already
#if NET20 || NET35
@@ -295,9 +295,9 @@ namespace SabreTools.DatItems
// TODO: Fix this since machines are determined in a different way
// Get the machines for comparison
var selfMachine = GetFieldValue<Machine>(DatItem.MachineKey);
string? selfMachineName = selfMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? selfMachineName = selfMachine?.GetName();
var lastMachine = lastItem.GetFieldValue<Machine>(DatItem.MachineKey);
string? lastMachineName = lastMachine?.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? lastMachineName = lastMachine?.GetName();
// If the duplicate is external already
#if NET20 || NET35
@@ -394,7 +394,7 @@ namespace SabreTools.DatItems
var machine = GetFieldValue<Machine>(DatItem.MachineKey);
if (machine != null)
{
var machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
var machineName = machine.GetName();
if (!string.IsNullOrEmpty(machineName))
machineString = machineName!;
}
@@ -458,7 +458,7 @@ namespace SabreTools.DatItems
string key = string.Empty;
string sourceKeyPadded = source?.Index.ToString().PadLeft(10, '0') + '-';
string machineName = machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) ?? "Default";
string machineName = machine?.GetName() ?? "Default";
// Now determine what the key should be based on the bucketedBy value
switch (bucketedBy)

View File

@@ -60,6 +60,22 @@ namespace SabreTools.DatItems
#endregion
#region Accessors
/// <summary>
/// Gets the name to use for a Machine
/// </summary>
/// <returns>Name if available, null otherwise</returns>
public string? GetName() => _internal.GetName();
/// <summary>
/// Sets the name to use for a Machine
/// </summary>
/// <param name="name">Name to set for the item</param>
public void SetName(string? name) => _internal.SetName(name);
#endregion
#region Cloning methods
/// <summary>

View File

@@ -13,14 +13,14 @@ namespace SabreTools.DatTools.Test
datItem.SetName("name");
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "\"ÁБ\"");
machine.SetName("\"ÁБ\"");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "ä|/Ж");
var cleaner = new Cleaner { Normalize = true };
cleaner.CleanDatItem(datItem, machine);
Assert.Equal("name", datItem.GetName());
Assert.Equal("'AB'", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("'AB'", machine.GetName());
Assert.Equal("ae-Zh", machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey));
}
@@ -31,14 +31,14 @@ namespace SabreTools.DatTools.Test
datItem.SetName("nam诶");
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "nam诶-2");
machine.SetName("nam诶-2");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "nam诶-3");
var cleaner = new Cleaner { RemoveUnicode = true };
cleaner.CleanDatItem(datItem, machine);
Assert.Equal("nam", datItem.GetName());
Assert.Equal("nam-2", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("nam-2", machine.GetName());
Assert.Equal("nam-3", machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey));
}
@@ -49,14 +49,14 @@ namespace SabreTools.DatTools.Test
datItem.SetName("name");
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-2");
machine.SetName("name-2");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "name-3");
var cleaner = new Cleaner { Single = true };
cleaner.CleanDatItem(datItem, machine);
Assert.Equal("name", datItem.GetName());
Assert.Equal("!", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("!", machine.GetName());
Assert.Equal("!", machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey));
}
@@ -71,7 +71,7 @@ namespace SabreTools.DatTools.Test
datItem.SetName("name");
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "name-2");
machine.SetName("name-2");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "name-3");
var cleaner = new Cleaner
@@ -82,7 +82,7 @@ namespace SabreTools.DatTools.Test
cleaner.CleanDatItem(datItem, machine);
Assert.Equal(expected, datItem.GetName());
Assert.Equal("name-2", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("name-2", machine.GetName());
Assert.Equal("name-3", machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey));
}
}

View File

@@ -121,14 +121,14 @@ namespace SabreTools.DatTools.Test
public void RemoveFields_Machine()
{
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "bar");
machine.SetName("bar");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "bar");
var remover = new Remover();
remover.PopulateExclusions("Machine.Name");
remover.RemoveFields(machine);
Assert.Null(machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Null(machine.GetName());
}
#endregion

View File

@@ -17,18 +17,18 @@ namespace SabreTools.DatTools.Test
public void ReplaceFields_Machine()
{
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "bar");
machine.SetName("bar");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "bar");
var repMachine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "foo");
machine.SetName("foo");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "bar");
List<string> fields = [Models.Metadata.Machine.NameKey];
Replacer.ReplaceFields(machine, repMachine, fields, false);
Assert.Equal("foo", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("foo", machine.GetName());
}
[Fact]

View File

@@ -28,14 +28,14 @@ namespace SabreTools.DatTools.Test
public void SetFields_Machine()
{
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, "bar");
machine.SetName("bar");
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, "bar");
var setter = new Setter();
setter.PopulateSetters(new FilterKey("machine", "name"), "foo");
setter.SetFields(machine);
Assert.Equal("foo", machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
Assert.Equal("foo", machine.GetName());
}
#endregion

View File

@@ -220,7 +220,7 @@ namespace SabreTools.DatTools
internal void CleanDatItem(DatItem datItem, Machine machine)
{
// Get the fields for processing
string? machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? machineName = machine.GetName();
string? machineDesc = machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey);
string? datItemName = datItem.GetName();
@@ -259,7 +259,7 @@ namespace SabreTools.DatTools
}
// Set the fields back, if necessary
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, machineName);
machine.SetName(machineName);
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, machineDesc);
datItem.SetName(datItemName);
}

View File

@@ -302,7 +302,7 @@ namespace SabreTools.DatTools
#endif
{
var emptyMachine = new Machine();
emptyMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, item);
emptyMachine.SetName(item);
var emptyRom = new Rom();
emptyRom.SetName(Path.Combine(empty, "_"));
@@ -376,7 +376,7 @@ namespace SabreTools.DatTools
_staticLogger.Verbose($"Adding blank empty folder: {gamename}");
var blankMachine = new Machine();
blankMachine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, gamename);
blankMachine.SetName(gamename);
var blankRom = new Blank();
blankRom.SetName(romname);
@@ -510,7 +510,7 @@ namespace SabreTools.DatTools
// Update machine information
datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, machineName);
datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, machineName);
datItem.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(machineName);
// If we have a Disk, then the ".chd" extension needs to be removed
if (datItem is Disk && itemName!.EndsWith(".chd"))

View File

@@ -164,7 +164,7 @@ namespace SabreTools.DatTools
string? machineName = null;
var machine = disk.GetFieldValue<Machine>(DatItem.MachineKey);
if (machine != null)
machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
machineName = machine.GetName();
return new CHDFile()
{
@@ -187,7 +187,7 @@ namespace SabreTools.DatTools
string? machineName = null;
var machine = file.GetFieldValue<Machine>(DatItem.MachineKey);
if (machine != null)
machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
machineName = machine.GetName();
return new BaseFile()
{
@@ -209,7 +209,7 @@ namespace SabreTools.DatTools
string? machineName = null;
var machine = media.GetFieldValue<Machine>(DatItem.MachineKey);
if (machine != null)
machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
machineName = machine.GetName();
return new AaruFormat()
{
@@ -236,7 +236,7 @@ namespace SabreTools.DatTools
string? machineName = null;
var machine = rom.GetFieldValue<Machine>(DatItem.MachineKey);
if (machine != null)
machineName = machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
machineName = machine.GetName();
string? spamSum = rom.GetStringFieldValue(Models.Metadata.Rom.SpamSumKey);
return new BaseFile()

View File

@@ -488,7 +488,7 @@ namespace SabreTools.DatTools
continue;
if (item.GetFieldValue<Source?>(DatItem.SourceKey) != null)
newrom.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, newrom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey) + $" ({Path.GetFileNameWithoutExtension(inputs[item.GetFieldValue<Source?>(DatItem.SourceKey)!.Index].CurrentPath)})");
newrom.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(newrom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName() + $" ({Path.GetFileNameWithoutExtension(inputs[item.GetFieldValue<Source?>(DatItem.SourceKey)!.Index].CurrentPath)})");
dupeData.AddItem(newrom, statsOnly: false);
}
@@ -558,7 +558,7 @@ namespace SabreTools.DatTools
// Get the current source and machine
var currentSource = sources[sourceIndex];
string? currentMachineName = machines[machineIndex].GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? currentMachineName = machines[machineIndex].GetName();
var currentMachine = datFile.ItemsDB.GetMachine(currentMachineName);
if (currentMachine.Value == null)
#if NET40_OR_GREATER || NETCOREAPP
@@ -573,7 +573,7 @@ namespace SabreTools.DatTools
if (renamedMachine.Value == null)
{
var newMachine = currentMachine.Value.Clone() as Machine;
newMachine!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, renamedMachineName);
newMachine!.SetName(renamedMachineName);
long newMachineIndex = dupeData.AddMachineDB(newMachine!);
renamedMachine = new KeyValuePair<long, Machine?>(newMachineIndex, newMachine);
}
@@ -887,7 +887,7 @@ namespace SabreTools.DatTools
if (item.Clone() is not DatItem newrom || newrom.GetFieldValue<Source?>(DatItem.SourceKey) == null)
continue;
newrom.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, newrom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey) + $" ({Path.GetFileNameWithoutExtension(inputs[newrom.GetFieldValue<Source?>(DatItem.SourceKey)!.Index].CurrentPath)})");
newrom.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(newrom.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName() + $" ({Path.GetFileNameWithoutExtension(inputs[newrom.GetFieldValue<Source?>(DatItem.SourceKey)!.Index].CurrentPath)})");
outerDiffData.AddItem(newrom, statsOnly: false);
}
}
@@ -956,7 +956,7 @@ namespace SabreTools.DatTools
// Get the current source and machine
var currentSource = sources[sourceIndex];
string? currentMachineName = machines[machineIndex].GetStringFieldValue(Models.Metadata.Machine.NameKey);
string? currentMachineName = machines[machineIndex].GetName();
var currentMachine = datFile.ItemsDB.GetMachine(currentMachineName);
if (currentMachine.Value == null)
#if NET40_OR_GREATER || NETCOREAPP
@@ -971,7 +971,7 @@ namespace SabreTools.DatTools
if (renamedMachine.Value == null)
{
var newMachine = currentMachine.Value.Clone() as Machine;
newMachine!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, renamedMachineName);
newMachine!.SetName(renamedMachineName);
long newMachineIndex = outerDiffData.AddMachineDB(newMachine);
renamedMachine = new KeyValuePair<long, Machine?>(newMachineIndex, newMachine);
}

View File

@@ -149,11 +149,11 @@ namespace SabreTools.DatTools
+ Path.DirectorySeparatorChar
+ Path.GetFileNameWithoutExtension(filename)
+ Path.DirectorySeparatorChar
+ machine.GetStringFieldValue(Models.Metadata.Machine.NameKey);
+ machine.GetName();
if (machineName.Length == 0)
machineName = "Default";
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, machineName);
machine.SetName(machineName);
newItems.Add(newItem);
}
@@ -222,11 +222,11 @@ namespace SabreTools.DatTools
+ Path.DirectorySeparatorChar
+ Path.GetFileNameWithoutExtension(filename)
+ Path.DirectorySeparatorChar
+ machine.Value.GetStringFieldValue(Models.Metadata.Machine.NameKey);
+ machine.Value.GetName();
if (machineName.Length == 0)
machineName = "Default";
machine.Value.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, machineName);
machine.Value.SetName(machineName);
}
#if NET40_OR_GREATER || NETCOREAPP
});

View File

@@ -458,11 +458,11 @@ namespace SabreTools.DatTools
{
// If we don't have a proper machine
var machine = item.GetFieldValue<Machine>(DatItem.MachineKey);
if (machine?.GetStringFieldValue(Models.Metadata.Machine.NameKey) == null)
if (machine?.GetName() == null)
continue;
// If we should check for the items in the machine
var items = datFile.GetItemsForBucket(machine.GetStringFieldValue(Models.Metadata.Machine.NameKey));
var items = datFile.GetItemsForBucket(machine.GetName());
if (shouldCheck && items!.Count > 1)
outputFormat = OutputFormat.Folder;
else if (shouldCheck && items!.Count == 1)
@@ -576,13 +576,13 @@ namespace SabreTools.DatTools
HashType[] hashes = [HashType.CRC32, HashType.MD5, HashType.SHA1];
Rom item = FileTypeTool.GetInfo(stream, hashes).ConvertToRom();
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, Path.GetFileNameWithoutExtension(item.GetName()));
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, Path.GetFileNameWithoutExtension(item.GetName()));
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(Path.GetFileNameWithoutExtension(item.GetName()));
// If we are coming from an archive, set the correct machine name
if (machinename != null)
{
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, machinename);
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, machinename);
item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(machinename);
}
dupes.Add(item);
@@ -637,14 +637,14 @@ namespace SabreTools.DatTools
// Create a machine for the current item
var machine = new Machine();
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, Path.GetFileNameWithoutExtension(item.GetName()));
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, Path.GetFileNameWithoutExtension(item.GetName()));
machine.SetName(Path.GetFileNameWithoutExtension(item.GetName()));
long machineIndex = datFile.AddMachineDB(machine);
// If we are coming from an archive, set the correct machine name
if (machinename != null)
{
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, machinename);
machine.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, machinename);
machine.SetName(machinename);
}
long index = datFile.AddItemDB(item, machineIndex, -1, false);

View File

@@ -300,7 +300,7 @@ namespace SabreTools.DatTools
// Special case for description
if (machineFieldNames.Contains(Models.Metadata.Machine.DescriptionKey))
{
if (!onlySame || (onlySame && machine.GetStringFieldValue(Models.Metadata.Machine.NameKey) == machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)))
if (!onlySame || (onlySame && machine.GetName() == machine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey)))
machine.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, repMachine.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey));
continue;

View File

@@ -526,7 +526,7 @@ namespace SabreTools.DatTools
#else
continue;
#endif
items.ForEach(item => item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.NameKey, Path.GetFileName(item.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.NameKey))));
items.ForEach(item => item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetName(Path.GetFileName(item.GetFieldValue<Machine>(DatItem.MachineKey)!.GetName())));
items.ForEach(item => item.GetFieldValue<Machine>(DatItem.MachineKey)!.SetFieldValue<string?>(Models.Metadata.Machine.DescriptionKey, Path.GetFileName(item.GetFieldValue<Machine>(DatItem.MachineKey)!.GetStringFieldValue(Models.Metadata.Machine.DescriptionKey))));
// Now add the game to the output DAT