Get rid of Software metadata item

Apparently this was a mistake that has proliferated over a very long time. The Software item that was being modeled was actually the game/machine equivilent from SoftwareList. But because there's both an item called SoftwareList and a DAT type called SoftwareList, some wire got crossed and they were mentally combined. Undoing this allows for a more proper internal model, including a couple of extraneous keys that were included originally.
This commit is contained in:
Matt Nadareski
2026-04-03 17:25:09 -04:00
parent 154be08a53
commit e01537c2f4
13 changed files with 49 additions and 356 deletions

View File

@@ -1189,46 +1189,10 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateMetadataSoftwareList(Data.Models.Metadata.SoftwareList? softwareList)
{
Assert.NotNull(softwareList);
Assert.Equal("description", softwareList.Description);
Assert.Equal("filter", softwareList.Filter);
Assert.Equal("name", softwareList.Name);
Assert.Equal("notes", softwareList.Notes);
Assert.Equal(Data.Models.Metadata.SoftwareListStatus.Original, softwareList.Status);
Assert.Equal("tag", softwareList.Tag);
Data.Models.Metadata.Software[]? softwares = softwareList.ReadArray<Data.Models.Metadata.Software>(Data.Models.Metadata.SoftwareList.SoftwareKey);
Assert.NotNull(softwares);
Data.Models.Metadata.Software? software = Assert.Single(softwares);
// TODO: Reenable when the mess that is the Software tree can be fixed
// ValidateMetadataSoftware(software);
}
private static void ValidateMetadataSoftware(Data.Models.Metadata.Software? software)
{
Assert.NotNull(software);
Assert.Equal("cloneof", software.ReadString(Data.Models.Metadata.Software.CloneOfKey));
Assert.Equal("description", software.Description);
Assert.Equal("name", software.Name);
Assert.Equal("notes", software.ReadString(Data.Models.Metadata.Software.NotesKey));
Assert.Equal("publisher", software.ReadString(Data.Models.Metadata.Software.PublisherKey));
Assert.Equal(Data.Models.Metadata.Supported.Yes, software.Supported);
Assert.Equal("year", software.ReadString(Data.Models.Metadata.Software.YearKey));
Data.Models.Metadata.Info[]? infos = software.Read<Data.Models.Metadata.Info[]>(Data.Models.Metadata.Software.InfoKey);
Assert.NotNull(infos);
Data.Models.Metadata.Info? info = Assert.Single(infos);
ValidateMetadataInfo(info);
Data.Models.Metadata.Part[]? parts = software.Read<Data.Models.Metadata.Part[]>(Data.Models.Metadata.Software.PartKey);
Assert.NotNull(parts);
Data.Models.Metadata.Part? part = Assert.Single(parts);
ValidateMetadataPart(part);
Data.Models.Metadata.SharedFeat[]? sharedFeats = software.Read<Data.Models.Metadata.SharedFeat[]>(Data.Models.Metadata.Software.SharedFeatKey);
Assert.NotNull(sharedFeats);
Data.Models.Metadata.SharedFeat? sharedFeat = Assert.Single(sharedFeats);
ValidateMetadataSharedFeat(sharedFeat);
}
private static void ValidateMetadataSound(Data.Models.Metadata.Sound? sound)