Trurip finally gets integrated, more at 11

This commit is contained in:
Matt Nadareski
2026-04-04 15:17:58 -04:00
parent 12e1086838
commit d08427f1ba
11 changed files with 279 additions and 339 deletions

View File

@@ -263,8 +263,10 @@ namespace SabreTools.Metadata.DatFiles.Test
Company = "company",
Configuration = [CreateMetadataConfiguration()],
Control = "control",
CRC = "crc",
Country = "country",
Description = "description",
Developer = "developer",
Device = [CreateMetadataDevice()],
DeviceRef = [CreateMetadataDeviceRef()],
DipSwitch = [CreateMetadataDipSwitch()],
@@ -277,10 +279,12 @@ namespace SabreTools.Metadata.DatFiles.Test
Dump = [CreateMetadataDump()],
DuplicateID = "duplicateid",
Emulator = "emulator",
Enabled = "enabled",
Extra = "extra",
Favorite = "favorite",
Feature = [CreateMetadataFeature()],
GenMSXID = "genmsxid",
Genre = "genre",
History = "history",
Id = "id",
Im1CRC = HashType.CRC32.ZeroString,
@@ -304,7 +308,9 @@ namespace SabreTools.Metadata.DatFiles.Test
Port = [CreateMetadataPort()],
Publisher = "publisher",
RamOption = [CreateMetadataRamOption()],
Ratings = "ratings",
RebuildTo = "rebuildto",
RelatedTo = "relatedto",
Release = [CreateMetadataRelease()],
ReleaseNumber = "releasenumber",
Rom = [CreateMetadataRom()],
@@ -314,17 +320,20 @@ namespace SabreTools.Metadata.DatFiles.Test
Sample = [CreateMetadataSample()],
SampleOf = "sampleof",
SaveType = "savetype",
Score = "score",
SharedFeat = [CreateMetadataSharedFeat()],
Slot = [CreateMetadataSlot()],
SoftwareList = [CreateMetadataSoftwareList()],
Sound = CreateMetadataSound(),
Source = "source",
SourceFile = "sourcefile",
SourceRom = "sourcerom",
Status = "status",
Subgenre = "subgenre",
Supported = Data.Models.Metadata.Supported.Yes,
System = "system",
Tags = "tags",
[Data.Models.Metadata.Machine.TruripKey] = CreateMetadataTrurip(),
TitleID = "titleid",
Video = [CreateMetadataVideo()],
Year = "year",
};
@@ -977,27 +986,6 @@ namespace SabreTools.Metadata.DatFiles.Test
};
}
private static Data.Models.Logiqx.Trurip CreateMetadataTrurip()
{
return new Data.Models.Logiqx.Trurip
{
TitleID = "titleid",
Publisher = "publisher",
Developer = "developer",
Year = "year",
Genre = "genre",
Subgenre = "subgenre",
Ratings = "ratings",
Score = "score",
Players = "players",
Enabled = "enabled",
CRC = "yes",
Source = "source",
CloneOf = "cloneof",
RelatedTo = "relatedto",
};
}
private static Data.Models.Metadata.Video CreateMetadataVideo()
{
return new Data.Models.Metadata.Video
@@ -1076,15 +1064,19 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal("company", machine.Company);
Assert.Equal("control", machine.Control);
Assert.Equal("country", machine.Country);
Assert.Equal("crc", machine.CRC);
Assert.Equal("description", machine.Description);
Assert.Equal("developer", machine.Developer);
Assert.Equal("dirname", machine.DirName);
Assert.Equal("displaycount", machine.DisplayCount);
Assert.Equal("displaytype", machine.DisplayType);
Assert.Equal("duplicateid", machine.DuplicateID);
Assert.Equal("emulator", machine.Emulator);
Assert.Equal("enabled", machine.Enabled);
Assert.Equal("extra", machine.Extra);
Assert.Equal("favorite", machine.Favorite);
Assert.Equal("genmsxid", machine.GenMSXID);
Assert.Equal("genre", machine.Genre);
Assert.Equal("history", machine.History);
Assert.Equal("id", machine.Id);
Assert.Equal(HashType.CRC32.ZeroString, machine.Im1CRC);
@@ -1102,23 +1094,26 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal("playedtime", machine.PlayedTime);
Assert.Equal("players", machine.Players);
Assert.Equal("publisher", machine.Publisher);
Assert.Equal("ratings", machine.Ratings);
Assert.Equal("rebuildto", machine.RebuildTo);
Assert.Equal("relatedto", machine.RelatedTo);
Assert.Equal("releasenumber", machine.ReleaseNumber);
Assert.Equal("romof", machine.RomOf);
Assert.Equal("rotation", machine.Rotation);
Assert.Equal(Data.Models.Metadata.Runnable.Yes, machine.Runnable);
Assert.Equal("sampleof", machine.SampleOf);
Assert.Equal("savetype", machine.SaveType);
Assert.Equal("score", machine.Score);
Assert.Equal("source", machine.Source);
Assert.Equal("sourcefile", machine.SourceFile);
Assert.Equal("sourcerom", machine.SourceRom);
Assert.Equal("status", machine.Status);
Assert.Equal("subgenre", machine.Subgenre);
Assert.Equal(Data.Models.Metadata.Supported.Yes, machine.Supported);
Assert.Equal("system", machine.System);
Assert.Equal("tags", machine.Tags);
Assert.Equal("titleid", machine.TitleID);
Assert.Equal("year", machine.Year);
DatItems.Trurip? trurip = machine.Read<DatItems.Trurip>(Data.Models.Metadata.Machine.TruripKey);
ValidateTrurip(trurip);
}
#pragma warning restore IDE0051
@@ -1653,26 +1648,6 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal(12345, sound.Channels);
}
// TODO: Figure out why so many fields are omitted
private static void ValidateTrurip(DatItems.Trurip? trurip)
{
Assert.NotNull(trurip);
Assert.Equal("titleid", trurip.TitleID);
//Assert.Equal("publisher", trurip.Publisher); // Omitted from conversion
Assert.Equal("developer", trurip.Developer);
// Assert.Equal("year", trurip.Year); // Omitted from conversion
Assert.Equal("genre", trurip.Genre);
Assert.Equal("subgenre", trurip.Subgenre);
Assert.Equal("ratings", trurip.Ratings);
Assert.Equal("score", trurip.Score);
// Assert.Equal("players", trurip.Players); // Omitted from conversion
Assert.Equal("enabled", trurip.Enabled);
Assert.True(trurip.Crc);
// Assert.Equal("source", trurip.Source); // Omitted from conversion
// Assert.Equal("cloneof", trurip.CloneOf); // Omitted from conversion
Assert.Equal("relatedto", trurip.RelatedTo);
}
private static void ValidateVideo(Display? display)
{
Assert.NotNull(display);

View File

@@ -110,7 +110,6 @@ namespace SabreTools.Metadata.DatFiles.Test
private static Machine CreateMachine()
{
Machine item = new Machine(CreateMetadataMachine());
item.Write(Data.Models.Metadata.Machine.TruripKey, CreateTrurip());
return item;
}
@@ -338,27 +337,6 @@ namespace SabreTools.Metadata.DatFiles.Test
return item;
}
private static Trurip CreateTrurip()
{
return new Trurip
{
TitleID = "titleid",
// Publisher = "publisher",
Developer = "developer",
// Year = "year",
Genre = "genre",
Subgenre = "subgenre",
Ratings = "ratings",
Score = "score",
// Players = "players",
Enabled = "enabled",
Crc = true,
// Source = "source",
// CloneOf = "cloneof",
RelatedTo = "relatedto",
};
}
private static Display CreateVideo(Machine machine)
{
Display item = new Display(CreateMetadataVideo());
@@ -430,15 +408,19 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal("company", machine.Company);
Assert.Equal("control", machine.Control);
Assert.Equal("country", machine.Country);
Assert.Equal("crc", machine.CRC);
Assert.Equal("description", machine.Description);
Assert.Equal("developer", machine.Developer);
Assert.Equal("dirname", machine.DirName);
Assert.Equal("displaycount", machine.DisplayCount);
Assert.Equal("displaytype", machine.DisplayType);
Assert.Equal("duplicateid", machine.DuplicateID);
Assert.Equal("emulator", machine.Emulator);
Assert.Equal("enabled", machine.Enabled);
Assert.Equal("extra", machine.Extra);
Assert.Equal("favorite", machine.Favorite);
Assert.Equal("genmsxid", machine.GenMSXID);
Assert.Equal("genre", machine.Genre);
Assert.Equal("history", machine.History);
Assert.Equal("id", machine.Id);
Assert.Equal(HashType.CRC32.ZeroString, machine.Im1CRC);
@@ -456,19 +438,25 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal("playedtime", machine.PlayedTime);
Assert.Equal("players", machine.Players);
Assert.Equal("publisher", machine.Publisher);
Assert.Equal("ratings", machine.Ratings);
Assert.Equal("rebuildto", machine.RebuildTo);
Assert.Equal("relatedto", machine.RelatedTo);
Assert.Equal("releasenumber", machine.ReleaseNumber);
Assert.Equal("romof", machine.RomOf);
Assert.Equal("rotation", machine.Rotation);
Assert.Equal(Data.Models.Metadata.Runnable.Yes, machine.Runnable);
Assert.Equal("sampleof", machine.SampleOf);
Assert.Equal("savetype", machine.SaveType);
Assert.Equal("score", machine.Score);
Assert.Equal("source", machine.Source);
Assert.Equal("sourcefile", machine.SourceFile);
Assert.Equal("sourcerom", machine.SourceRom);
Assert.Equal("status", machine.Status);
Assert.Equal("subgenre", machine.Subgenre);
Assert.Equal(Data.Models.Metadata.Supported.Yes, machine.Supported);
Assert.Equal("system", machine.System);
Assert.Equal("tags", machine.Tags);
Assert.Equal("titleid", machine.TitleID);
Assert.Equal("year", machine.Year);
Data.Models.Metadata.Adjuster[]? adjusters = machine.Adjuster;
@@ -604,9 +592,6 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.NotNull(sound);
ValidateMetadataSound(sound);
Data.Models.Logiqx.Trurip? trurip = machine.Read<Data.Models.Logiqx.Trurip>(Data.Models.Metadata.Machine.TruripKey);
ValidateMetadataTrurip(trurip);
Data.Models.Metadata.Video[]? videos = machine.Video;
Assert.NotNull(videos);
Data.Models.Metadata.Video video = Assert.Single(videos);
@@ -1223,25 +1208,6 @@ namespace SabreTools.Metadata.DatFiles.Test
Assert.Equal("tool", sourceDetails.Tool);
}
private static void ValidateMetadataTrurip(Data.Models.Logiqx.Trurip? trurip)
{
Assert.NotNull(trurip);
Assert.Equal("titleid", trurip.TitleID);
Assert.Equal("publisher", trurip.Publisher);
Assert.Equal("developer", trurip.Developer);
Assert.Equal("year", trurip.Year);
Assert.Equal("genre", trurip.Genre);
Assert.Equal("subgenre", trurip.Subgenre);
Assert.Equal("ratings", trurip.Ratings);
Assert.Equal("score", trurip.Score);
Assert.Equal("players", trurip.Players);
Assert.Equal(expected: "enabled", trurip.Enabled);
Assert.Equal("yes", trurip.CRC);
Assert.Equal("sourcefile", trurip.Source);
Assert.Equal("cloneof", trurip.CloneOf);
Assert.Equal("relatedto", trurip.RelatedTo);
}
private static void ValidateMetadataVideo(Data.Models.Metadata.Video? video)
{
Assert.NotNull(video);