Add some common Metadata objects for NIDB

This commit is contained in:
Matt Nadareski
2026-04-01 10:37:25 -04:00
parent 1cec6fa918
commit 4035d9db86
12 changed files with 555 additions and 508 deletions

View File

@@ -354,7 +354,39 @@ namespace SabreTools.Metadata.DatFiles.Test
{
return new Data.Models.Metadata.Archive
{
[Data.Models.Metadata.Archive.NumberKey] = "number",
[Data.Models.Metadata.Archive.CloneKey] = "clone",
[Data.Models.Metadata.Archive.RegParentKey] = "regparent",
[Data.Models.Metadata.Archive.MergeOfKey] = "mergeof",
[Data.Models.Metadata.Archive.MergeNameKey] = "mergename",
[Data.Models.Metadata.Archive.NameKey] = "name",
[Data.Models.Metadata.Archive.NameAltKey] = "name_alt",
[Data.Models.Metadata.Archive.RegionKey] = "region",
[Data.Models.Metadata.Archive.LanguagesKey] = "languages",
[Data.Models.Metadata.Archive.ShowLangKey] = "showlang",
[Data.Models.Metadata.Archive.LangCheckedKey] = "langchecked",
[Data.Models.Metadata.Archive.Version1Key] = "version1",
[Data.Models.Metadata.Archive.Version2Key] = "version2",
[Data.Models.Metadata.Archive.DevStatusKey] = "devstatus",
[Data.Models.Metadata.Archive.AdditionalKey] = "additional",
[Data.Models.Metadata.Archive.Special1Key] = "special1",
[Data.Models.Metadata.Archive.Special2Key] = "special2",
[Data.Models.Metadata.Archive.AltKey] = "alt",
[Data.Models.Metadata.Archive.GameId1Key] = "gameid1",
[Data.Models.Metadata.Archive.GameId2Key] = "gameid2",
[Data.Models.Metadata.Archive.DescriptionKey] = "description",
[Data.Models.Metadata.Archive.BiosKey] = "bios",
[Data.Models.Metadata.Archive.LicensedKey] = "licensed",
[Data.Models.Metadata.Archive.PirateKey] = "pirate",
[Data.Models.Metadata.Archive.PhysicalKey] = "physical",
[Data.Models.Metadata.Archive.CompleteKey] = "complete",
[Data.Models.Metadata.Archive.AdultKey] = "adult",
[Data.Models.Metadata.Archive.DatKey] = "dat",
[Data.Models.Metadata.Archive.ListedKey] = "listed",
[Data.Models.Metadata.Archive.PrivateKey] = "private",
[Data.Models.Metadata.Archive.StickyNoteKey] = "stickynote",
[Data.Models.Metadata.Archive.DatterNoteKey] = "datternote",
[Data.Models.Metadata.Archive.CategoriesKey] = "categories",
};
}
@@ -711,6 +743,29 @@ namespace SabreTools.Metadata.DatFiles.Test
};
}
private static Data.Models.Metadata.ReleaseDetails CreateMetadataReleaseDetails()
{
return new Data.Models.Metadata.ReleaseDetails
{
[Data.Models.Metadata.ReleaseDetails.IdKey] = "id",
[Data.Models.Metadata.ReleaseDetails.AppendToNumberKey] = "appendtonumber",
[Data.Models.Metadata.ReleaseDetails.DateKey] = "date",
[Data.Models.Metadata.ReleaseDetails.OriginalFormatKey] = "originalformat",
[Data.Models.Metadata.ReleaseDetails.GroupKey] = "group",
[Data.Models.Metadata.ReleaseDetails.DirNameKey] = "dirname",
[Data.Models.Metadata.ReleaseDetails.NfoNameKey] = "nfoname",
[Data.Models.Metadata.ReleaseDetails.NfoSizeKey] = "nfosize",
[Data.Models.Metadata.ReleaseDetails.NfoCRCKey] = "nfocrc",
[Data.Models.Metadata.ReleaseDetails.ArchiveNameKey] = "archivename",
[Data.Models.Metadata.ReleaseDetails.RomInfoKey] = "rominfo",
[Data.Models.Metadata.ReleaseDetails.CategoryKey] = "category",
[Data.Models.Metadata.ReleaseDetails.CommentKey] = "comment",
[Data.Models.Metadata.ReleaseDetails.ToolKey] = "tool",
[Data.Models.Metadata.ReleaseDetails.RegionKey] = "region",
[Data.Models.Metadata.ReleaseDetails.OriginKey] = "origin",
};
}
private static Data.Models.Metadata.Rom CreateMetadataRom()
{
return new Data.Models.Metadata.Rom
@@ -822,6 +877,27 @@ namespace SabreTools.Metadata.DatFiles.Test
};
}
private static Data.Models.Metadata.Serials CreateMetadataSerials()
{
return new Data.Models.Metadata.Serials
{
[Data.Models.Metadata.Serials.MediaSerial1Key] = "mediaserial1",
[Data.Models.Metadata.Serials.MediaSerial2Key] = "mediaserial2",
[Data.Models.Metadata.Serials.MediaSerial3Key] = "mediaserial3",
[Data.Models.Metadata.Serials.PCBSerialKey] = "pcbserial",
[Data.Models.Metadata.Serials.RomChipSerial1Key] = "romchipserial1",
[Data.Models.Metadata.Serials.RomChipSerial2Key] = "romchipserial2",
[Data.Models.Metadata.Serials.LockoutSerialKey] = "lockoutserial",
[Data.Models.Metadata.Serials.SaveChipSerialKey] = "savechipserial",
[Data.Models.Metadata.Serials.ChipSerialKey] = "chipserial",
[Data.Models.Metadata.Serials.BoxSerialKey] = "boxserial",
[Data.Models.Metadata.Serials.MediaStampKey] = "mediastamp",
[Data.Models.Metadata.Serials.BoxBarcodeKey] = "boxbarcode",
[Data.Models.Metadata.Serials.DigitalSerial1Key] = "digitalserial1",
[Data.Models.Metadata.Serials.DigitalSerial2Key] = "digitalserial2",
};
}
private static Data.Models.Metadata.SharedFeat CreateMetadataSharedFeat()
{
return new Data.Models.Metadata.SharedFeat
@@ -889,6 +965,37 @@ namespace SabreTools.Metadata.DatFiles.Test
};
}
private static Data.Models.Metadata.SourceDetails CreateMetadataSourceDetails()
{
return new Data.Models.Metadata.SourceDetails
{
[Data.Models.Metadata.SourceDetails.IdKey] = "id",
[Data.Models.Metadata.SourceDetails.AppendToNumberKey] = "appendtonumber",
[Data.Models.Metadata.SourceDetails.SectionKey] = "section",
[Data.Models.Metadata.SourceDetails.RomInfoKey] = "rominfo",
[Data.Models.Metadata.SourceDetails.DumpDateKey] = "dumpdate",
[Data.Models.Metadata.SourceDetails.DumpDateInfoKey] = "dumpdateinfo",
[Data.Models.Metadata.SourceDetails.ReleaseDateKey] = "releasedate",
[Data.Models.Metadata.SourceDetails.ReleaseDateInfoKey] = "releasedateinfo",
[Data.Models.Metadata.SourceDetails.DumperKey] = "dumper",
[Data.Models.Metadata.SourceDetails.ProjectKey] = "project",
[Data.Models.Metadata.SourceDetails.OriginalFormatKey] = "originalformat",
[Data.Models.Metadata.SourceDetails.NodumpKey] = "nodump",
[Data.Models.Metadata.SourceDetails.ToolKey] = "tool",
[Data.Models.Metadata.SourceDetails.OriginKey] = "origin",
[Data.Models.Metadata.SourceDetails.Comment1Key] = "comment1",
[Data.Models.Metadata.SourceDetails.Comment2Key] = "comment2",
[Data.Models.Metadata.SourceDetails.Link1Key] = "link1",
[Data.Models.Metadata.SourceDetails.Link1PublicKey] = "link1public",
[Data.Models.Metadata.SourceDetails.Link2Key] = "link2",
[Data.Models.Metadata.SourceDetails.Link2PublicKey] = "link2public",
[Data.Models.Metadata.SourceDetails.Link3Key] = "link3",
[Data.Models.Metadata.SourceDetails.Link3PublicKey] = "link3public",
[Data.Models.Metadata.SourceDetails.RegionKey] = "region",
[Data.Models.Metadata.SourceDetails.MediaTitleKey] = "mediatitle",
};
}
private static Data.Models.Logiqx.Trurip CreateMetadataTrurip()
{
return new Data.Models.Logiqx.Trurip

View File

@@ -635,7 +635,39 @@ namespace SabreTools.Metadata.DatFiles.Test
private static void ValidateMetadataArchive(Data.Models.Metadata.Archive? archive)
{
Assert.NotNull(archive);
Assert.Equal("number", archive.ReadString(Data.Models.Metadata.Archive.NumberKey));
Assert.Equal("clone", archive.ReadString(Data.Models.Metadata.Archive.CloneKey));
Assert.Equal("regparent", archive.ReadString(Data.Models.Metadata.Archive.RegParentKey));
Assert.Equal("mergeof", archive.ReadString(Data.Models.Metadata.Archive.MergeOfKey));
Assert.Equal("mergename", archive.ReadString(Data.Models.Metadata.Archive.MergeNameKey));
Assert.Equal("name", archive.ReadString(Data.Models.Metadata.Archive.NameKey));
Assert.Equal("name_alt", archive.ReadString(Data.Models.Metadata.Archive.NameAltKey));
Assert.Equal("region", archive.ReadString(Data.Models.Metadata.Archive.RegionKey));
Assert.Equal("languages", archive.ReadString(Data.Models.Metadata.Archive.LanguagesKey));
Assert.Equal("showlang", archive.ReadString(Data.Models.Metadata.Archive.ShowLangKey));
Assert.Equal("langchecked", archive.ReadString(Data.Models.Metadata.Archive.LangCheckedKey));
Assert.Equal("version1", archive.ReadString(Data.Models.Metadata.Archive.Version1Key));
Assert.Equal("version2", archive.ReadString(Data.Models.Metadata.Archive.Version2Key));
Assert.Equal("devstatus", archive.ReadString(Data.Models.Metadata.Archive.DevStatusKey));
Assert.Equal("additional", archive.ReadString(Data.Models.Metadata.Archive.AdditionalKey));
Assert.Equal("special1", archive.ReadString(Data.Models.Metadata.Archive.Special1Key));
Assert.Equal("special2", archive.ReadString(Data.Models.Metadata.Archive.Special2Key));
Assert.Equal("alt", archive.ReadString(Data.Models.Metadata.Archive.AltKey));
Assert.Equal("gameid1", archive.ReadString(Data.Models.Metadata.Archive.GameId1Key));
Assert.Equal("gameid2", archive.ReadString(Data.Models.Metadata.Archive.GameId2Key));
Assert.Equal("description", archive.ReadString(Data.Models.Metadata.Archive.DescriptionKey));
Assert.Equal("bios", archive.ReadString(Data.Models.Metadata.Archive.BiosKey));
Assert.Equal("licensed", archive.ReadString(Data.Models.Metadata.Archive.LicensedKey));
Assert.Equal("pirate", archive.ReadString(Data.Models.Metadata.Archive.PirateKey));
Assert.Equal("physical", archive.ReadString(Data.Models.Metadata.Archive.PhysicalKey));
Assert.Equal("complete", archive.ReadString(Data.Models.Metadata.Archive.CompleteKey));
Assert.Equal("adult", archive.ReadString(Data.Models.Metadata.Archive.AdultKey));
Assert.Equal("dat", archive.ReadString(Data.Models.Metadata.Archive.DatKey));
Assert.Equal("listed", archive.ReadString(Data.Models.Metadata.Archive.ListedKey));
Assert.Equal("private", archive.ReadString(Data.Models.Metadata.Archive.PrivateKey));
Assert.Equal("stickynote", archive.ReadString(Data.Models.Metadata.Archive.StickyNoteKey));
Assert.Equal("datternote", archive.ReadString(Data.Models.Metadata.Archive.DatterNoteKey));
Assert.Equal("categories", archive.ReadString(Data.Models.Metadata.Archive.CategoriesKey));
}
private static void ValidateMetadataBiosSet(Data.Models.Metadata.BiosSet? biosSet)
@@ -979,6 +1011,27 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal("region", release.ReadString(Data.Models.Metadata.Release.RegionKey));
}
private static void ValidateMetadataReleaseDetails(Data.Models.Metadata.ReleaseDetails? releaseDetails)
{
Assert.NotNull(releaseDetails);
Assert.Equal("id", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.IdKey));
Assert.Equal("appendtonumber", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.AppendToNumberKey));
Assert.Equal("date", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.DateKey));
Assert.Equal("originalformat", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.OriginalFormatKey));
Assert.Equal("group", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.GroupKey));
Assert.Equal("dirname", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.DirNameKey));
Assert.Equal("nfoname", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.NfoNameKey));
Assert.Equal("nfosize", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.NfoSizeKey));
Assert.Equal("nfocrc", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.NfoCRCKey));
Assert.Equal("archivename", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.ArchiveNameKey));
Assert.Equal("rominfo", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.RomInfoKey));
Assert.Equal("category", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.CategoryKey));
Assert.Equal("comment", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.CommentKey));
Assert.Equal("tool", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.ToolKey));
Assert.Equal("region", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.RegionKey));
Assert.Equal("origin", releaseDetails.ReadString(Data.Models.Metadata.ReleaseDetails.OriginKey));
}
private static void ValidateMetadataRom(Data.Models.Metadata.Rom? rom)
{
Assert.NotNull(rom);
@@ -1086,6 +1139,25 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal("name", sample.ReadString(Data.Models.Metadata.Sample.NameKey));
}
private static void ValidateMetadataSerials(Data.Models.Metadata.Serials? serials)
{
Assert.NotNull(serials);
Assert.Equal("mediaserial1", serials.ReadString(Data.Models.Metadata.Serials.MediaSerial1Key));
Assert.Equal("mediaserial2", serials.ReadString(Data.Models.Metadata.Serials.MediaSerial2Key));
Assert.Equal("mediaserial3", serials.ReadString(Data.Models.Metadata.Serials.MediaSerial3Key));
Assert.Equal("pcbserial", serials.ReadString(Data.Models.Metadata.Serials.PCBSerialKey));
Assert.Equal("romchipserial1", serials.ReadString(Data.Models.Metadata.Serials.RomChipSerial1Key));
Assert.Equal("romchipserial2", serials.ReadString(Data.Models.Metadata.Serials.RomChipSerial2Key));
Assert.Equal("lockoutserial", serials.ReadString(Data.Models.Metadata.Serials.LockoutSerialKey));
Assert.Equal("savechipserial", serials.ReadString(Data.Models.Metadata.Serials.SaveChipSerialKey));
Assert.Equal("chipserial", serials.ReadString(Data.Models.Metadata.Serials.ChipSerialKey));
Assert.Equal("boxserial", serials.ReadString(Data.Models.Metadata.Serials.BoxSerialKey));
Assert.Equal("mediastamp", serials.ReadString(Data.Models.Metadata.Serials.MediaStampKey));
Assert.Equal("boxbarcode", serials.ReadString(Data.Models.Metadata.Serials.BoxBarcodeKey));
Assert.Equal("digitalserial1", serials.ReadString(Data.Models.Metadata.Serials.DigitalSerial1Key));
Assert.Equal("digitalserial2", serials.ReadString(Data.Models.Metadata.Serials.DigitalSerial2Key));
}
private static void ValidateMetadataSharedFeat(Data.Models.Metadata.SharedFeat? sharedFeat)
{
Assert.NotNull(sharedFeat);
@@ -1131,6 +1203,35 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal(12345, sound.ReadLong(Data.Models.Metadata.Sound.ChannelsKey));
}
private static void ValidateMetadataSourceDetails(Data.Models.Metadata.SourceDetails? sourceDetails)
{
Assert.NotNull(sourceDetails);
Assert.Equal("id", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.IdKey));
Assert.Equal("appendtonumber", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.AppendToNumberKey));
Assert.Equal("section", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.SectionKey));
Assert.Equal("rominfo", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.RomInfoKey));
Assert.Equal("dumpdate", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.DumpDateKey));
Assert.Equal("dumpdateinfo", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.DumpDateInfoKey));
Assert.Equal("releasedate", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.ReleaseDateKey));
Assert.Equal("releasedateinfo", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.ReleaseDateInfoKey));
Assert.Equal("dumper", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.DumperKey));
Assert.Equal("project", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.ProjectKey));
Assert.Equal("originalformat", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.OriginalFormatKey));
Assert.Equal("nodump", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.NodumpKey));
Assert.Equal("tool", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.ToolKey));
Assert.Equal("origin", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.OriginKey));
Assert.Equal("comment1", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.Comment1Key));
Assert.Equal("comment2", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.Comment2Key));
Assert.Equal("link1", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.Link1Key));
Assert.Equal("link1public", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.Link1PublicKey));
Assert.Equal("link2", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.Link2Key));
Assert.Equal("link2public", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.Link2PublicKey));
Assert.Equal("link3", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.Link3Key));
Assert.Equal("link3public", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.Link3PublicKey));
Assert.Equal("region", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.RegionKey));
Assert.Equal("mediatitle", sourceDetails.ReadString(Data.Models.Metadata.SourceDetails.MediaTitleKey));
}
private static void ValidateMetadataTrurip(Data.Models.Logiqx.Trurip? trurip)
{
Assert.NotNull(trurip);