From 5b3ff31f855f1f6396bb39a8667f57eab9a925ac Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Fri, 3 Apr 2026 19:11:55 -0400 Subject: [PATCH] Make ReleaseDetails more complete --- .../MetadataExtensions.cs | 2 + .../Metadata/ReleaseDetails.cs | 169 ++++++++++++++---- .../DatFileTests.FromMetadata.cs | 53 ++++-- .../DatFileTests.ToMetadata.cs | 32 ++-- .../Formats/ReleaseDetails.cs | 96 ++++++++++ SabreTools.Metadata.Filter/FilterObject.cs | 49 +++++ .../DictionaryBaseExtensions.cs | 5 + .../NoIntroDatabaseTests.cs | 136 +++++++------- 8 files changed, 408 insertions(+), 134 deletions(-) diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs index a4d63a29..415af12c 100644 --- a/SabreTools.Data.Extensions/MetadataExtensions.cs +++ b/SabreTools.Data.Extensions/MetadataExtensions.cs @@ -180,6 +180,8 @@ namespace SabreTools.Data.Extensions return ramOption.Clone() as RamOption; else if (self is Release release) return release.Clone() as Release; + else if (self is ReleaseDetails releaseDetails) + return releaseDetails.Clone() as ReleaseDetails; else if (self is Serials serials) return serials.Clone() as Serials; else if (self is SharedFeat sharedFeat) diff --git a/SabreTools.Data.Models/Metadata/ReleaseDetails.cs b/SabreTools.Data.Models/Metadata/ReleaseDetails.cs index ab8579f9..d873ca73 100644 --- a/SabreTools.Data.Models/Metadata/ReleaseDetails.cs +++ b/SabreTools.Data.Models/Metadata/ReleaseDetails.cs @@ -1,63 +1,164 @@ +using System; using System.Xml.Serialization; using Newtonsoft.Json; namespace SabreTools.Data.Models.Metadata { [JsonObject("release_details"), XmlRoot("release_details")] - public class ReleaseDetails : DatItem + public class ReleaseDetails : DatItem, ICloneable, IEquatable { - #region Keys + #region Properties - /// string - public const string IdKey = "id"; + public string? AppendToNumber { get; set; } - /// string - public const string AppendToNumberKey = "appendtonumber"; + public string? ArchiveName { get; set; } - /// string - public const string DateKey = "date"; + public string? Category { get; set; } - /// string - public const string OriginalFormatKey = "originalformat"; + public string? Comment { get; set; } - /// string - public const string GroupKey = "group"; + public string? Date { get; set; } - /// string - public const string DirNameKey = "dirname"; + public string? DirName { get; set; } - /// string - public const string NfoNameKey = "nfoname"; + public string? Group { get; set; } - /// string - public const string NfoSizeKey = "nfosize"; + public string? Id { get; set; } - /// string - public const string NfoCRCKey = "nfocrc"; + public string? NfoCRC { get; set; } - /// string - public const string ArchiveNameKey = "archivename"; + public string? NfoName { get; set; } - /// string - public const string RomInfoKey = "rominfo"; + public string? NfoSize { get; set; } - /// string - public const string CategoryKey = "category"; + public string? Origin { get; set; } - /// string - public const string CommentKey = "comment"; + public string? OriginalFormat { get; set; } - /// string - public const string ToolKey = "tool"; + public string? Region { get; set; } - /// string - public const string RegionKey = "region"; + public string? RomInfo { get; set; } - /// string - public const string OriginKey = "origin"; + public string? Tool { get; set; } #endregion public ReleaseDetails() => ItemType = ItemType.ReleaseDetails; + + /// + public object Clone() + { + var obj = new ReleaseDetails(); + + obj.AppendToNumber = AppendToNumber; + obj.ArchiveName = ArchiveName; + obj.Category = Category; + obj.Comment = Comment; + obj.Date = Date; + obj.DirName = DirName; + obj.Group = Group; + obj.Id = Id; + obj.NfoCRC = NfoCRC; + obj.NfoName = NfoName; + obj.NfoSize = NfoSize; + obj.Origin = Origin; + obj.OriginalFormat = OriginalFormat; + obj.Region = Region; + obj.RomInfo = RomInfo; + obj.Tool = Tool; + + return obj; + } + + /// + public bool Equals(ReleaseDetails? other) + { + // Null never matches + if (other is null) + return false; + + // Properties + if ((AppendToNumber is null) ^ (other.AppendToNumber is null)) + return false; + else if (AppendToNumber is not null && !AppendToNumber.Equals(other.AppendToNumber, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((ArchiveName is null) ^ (other.ArchiveName is null)) + return false; + else if (ArchiveName is not null && !ArchiveName.Equals(other.ArchiveName, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((Category is null) ^ (other.Category is null)) + return false; + else if (Category is not null && !Category.Equals(other.Category, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((Comment is null) ^ (other.Comment is null)) + return false; + else if (Comment is not null && !Comment.Equals(other.Comment, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((Date is null) ^ (other.Date is null)) + return false; + else if (Date is not null && !Date.Equals(other.Date, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((DirName is null) ^ (other.DirName is null)) + return false; + else if (DirName is not null && !DirName.Equals(other.DirName, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((Group is null) ^ (other.Group is null)) + return false; + else if (Group is not null && !Group.Equals(other.Group, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((Id is null) ^ (other.Id is null)) + return false; + else if (Id is not null && !Id.Equals(other.Id, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((NfoCRC is null) ^ (other.NfoCRC is null)) + return false; + else if (NfoCRC is not null && !NfoCRC.Equals(other.NfoCRC, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((NfoName is null) ^ (other.NfoName is null)) + return false; + else if (NfoName is not null && !NfoName.Equals(other.NfoName, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((NfoSize is null) ^ (other.NfoSize is null)) + return false; + else if (NfoSize is not null && !NfoSize.Equals(other.NfoSize, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((Origin is null) ^ (other.Origin is null)) + return false; + else if (Origin is not null && !Origin.Equals(other.Origin, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((OriginalFormat is null) ^ (other.OriginalFormat is null)) + return false; + else if (OriginalFormat is not null && !OriginalFormat.Equals(other.OriginalFormat, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((Region is null) ^ (other.Region is null)) + return false; + else if (Region is not null && !Region.Equals(other.Region, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((RomInfo is null) ^ (other.RomInfo is null)) + return false; + else if (RomInfo is not null && !RomInfo.Equals(other.RomInfo, StringComparison.OrdinalIgnoreCase)) + return false; + + if ((Tool is null) ^ (other.Tool is null)) + return false; + else if (Tool is not null && !Tool.Equals(other.Tool, StringComparison.OrdinalIgnoreCase)) + return false; + + return true; + } } } diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs index 26083845..f2d6c838 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs @@ -749,22 +749,22 @@ namespace SabreTools.Metadata.DatFiles.Test { 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", + AppendToNumber = "appendtonumber", + ArchiveName = "archivename", + Category = "category", + Comment = "comment", + Date = "date", + DirName = "dirname", + Group = "group", + Id = "id", + Origin = "origin", + OriginalFormat = "originalformat", + NfoCRC = "nfocrc", + NfoName = "nfoname", + NfoSize = "nfosize", + Region = "region", + RomInfo = "rominfo", + Tool = "tool", }; } @@ -1471,6 +1471,27 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.Equal("region", release.Region); } + private static void ValidateReleaseDetails(ReleaseDetails? releaseDetails) + { + Assert.NotNull(releaseDetails); + Assert.Equal("appendtonumber", releaseDetails.AppendToNumber); + Assert.Equal("archivename", releaseDetails.ArchiveName); + Assert.Equal("category", releaseDetails.Category); + Assert.Equal("comment", releaseDetails.Comment); + Assert.Equal("date", releaseDetails.Date); + Assert.Equal("dirname", releaseDetails.DirName); + Assert.Equal("group", releaseDetails.Group); + Assert.Equal("id", releaseDetails.Id); + Assert.Equal("nfocrc", releaseDetails.NfoCRC); + Assert.Equal("nfoname", releaseDetails.NfoName); + Assert.Equal("nfosize", releaseDetails.NfoSize); + Assert.Equal("origin", releaseDetails.Origin); + Assert.Equal("originalformat", releaseDetails.OriginalFormat); + Assert.Equal("region", releaseDetails.Region); + Assert.Equal("rominfo", releaseDetails.RomInfo); + Assert.Equal("tool", releaseDetails.Tool); + } + private static void ValidateRom(Rom? rom) { Assert.NotNull(rom); diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs index c7884505..a5637a63 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs @@ -1016,22 +1016,22 @@ namespace SabreTools.Metadata.DatFiles.Test 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)); + Assert.Equal("id", releaseDetails.Id); + Assert.Equal("appendtonumber", releaseDetails.AppendToNumber); + Assert.Equal("date", releaseDetails.Date); + Assert.Equal("originalformat", releaseDetails.OriginalFormat); + Assert.Equal("group", releaseDetails.Group); + Assert.Equal("dirname", releaseDetails.DirName); + Assert.Equal("nfoname", releaseDetails.NfoName); + Assert.Equal("nfosize", releaseDetails.NfoSize); + Assert.Equal("nfocrc", releaseDetails.NfoCRC); + Assert.Equal("archivename", releaseDetails.ArchiveName); + Assert.Equal("rominfo", releaseDetails.RomInfo); + Assert.Equal("category", releaseDetails.Category); + Assert.Equal("comment", releaseDetails.Comment); + Assert.Equal("tool", releaseDetails.Tool); + Assert.Equal("region", releaseDetails.Region); + Assert.Equal("origin", releaseDetails.Origin); } private static void ValidateMetadataRom(Data.Models.Metadata.Rom? rom) diff --git a/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs b/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs index eedaefa0..e3400c94 100644 --- a/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs +++ b/SabreTools.Metadata.DatItems/Formats/ReleaseDetails.cs @@ -12,10 +12,106 @@ namespace SabreTools.Metadata.DatItems.Formats { #region Fields + public string? AppendToNumber + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.AppendToNumber; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.AppendToNumber = value; + } + + public string? ArchiveName + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.ArchiveName; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.ArchiveName = value; + } + + public string? Category + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.Category; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.Category = value; + } + + public string? Comment + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.Comment; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.Comment = value; + } + + public string? Date + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.Date; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.Date = value; + } + + public string? DirName + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.DirName; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.DirName = value; + } + + public string? Group + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.Group; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.Group = value; + } + + public string? Id + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.Id; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.Id = value; + } + /// /> public override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.ReleaseDetails; + public string? NfoCRC + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.NfoCRC; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.NfoCRC = value; + } + + public string? NfoName + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.NfoName; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.NfoName = value; + } + + public string? NfoSize + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.NfoSize; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.NfoSize = value; + } + + public string? Origin + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.Origin; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.Origin = value; + } + + public string? OriginalFormat + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.OriginalFormat; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.OriginalFormat = value; + } + + public string? Region + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.Region; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.Region = value; + } + + public string? RomInfo + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.RomInfo; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.RomInfo = value; + } + + public string? Tool + { + get => (_internal as Data.Models.Metadata.ReleaseDetails)?.Tool; + set => (_internal as Data.Models.Metadata.ReleaseDetails)?.Tool = value; + } + #endregion #region Constructors diff --git a/SabreTools.Metadata.Filter/FilterObject.cs b/SabreTools.Metadata.Filter/FilterObject.cs index 6fbf3fef..486430f2 100644 --- a/SabreTools.Metadata.Filter/FilterObject.cs +++ b/SabreTools.Metadata.Filter/FilterObject.cs @@ -787,6 +787,55 @@ namespace SabreTools.Metadata.Filter checkValue = item.Region; return true; + case ReleaseDetails item when fieldName == "appendtonumber": + checkValue = item.AppendToNumber; + return true; + case ReleaseDetails item when fieldName == "archivename": + checkValue = item.ArchiveName; + return true; + case ReleaseDetails item when fieldName == "category": + checkValue = item.Category; + return true; + case ReleaseDetails item when fieldName == "comment": + checkValue = item.Comment; + return true; + case ReleaseDetails item when fieldName == "date": + checkValue = item.Date; + return true; + case ReleaseDetails item when fieldName == "dirname": + checkValue = item.DirName; + return true; + case ReleaseDetails item when fieldName == "group": + checkValue = item.Group; + return true; + case ReleaseDetails item when fieldName == "id": + checkValue = item.Id; + return true; + case ReleaseDetails item when fieldName == "nfocrc": + checkValue = item.NfoCRC; + return true; + case ReleaseDetails item when fieldName == "nfoname": + checkValue = item.NfoName; + return true; + case ReleaseDetails item when fieldName == "nfosize": + checkValue = item.NfoSize; + return true; + case ReleaseDetails item when fieldName == "origin": + checkValue = item.Origin; + return true; + case ReleaseDetails item when fieldName == "originalformat": + checkValue = item.OriginalFormat; + return true; + case ReleaseDetails item when fieldName == "region": + checkValue = item.Region; + return true; + case ReleaseDetails item when fieldName == "rominfo": + checkValue = item.RomInfo; + return true; + case ReleaseDetails item when fieldName == "tool": + checkValue = item.Tool; + return true; + case Rom item when fieldName == "dispose": checkValue = item.Dispose.FromYesNo(); return true; diff --git a/SabreTools.Metadata/DictionaryBaseExtensions.cs b/SabreTools.Metadata/DictionaryBaseExtensions.cs index c49356c7..ee15aee4 100644 --- a/SabreTools.Metadata/DictionaryBaseExtensions.cs +++ b/SabreTools.Metadata/DictionaryBaseExtensions.cs @@ -316,6 +316,11 @@ namespace SabreTools.Metadata if (!selfRelease.Equals(otherRelease)) return false; } + else if (self is ReleaseDetails selfReleaseDetails && other is ReleaseDetails otherReleaseDetails) + { + if (!selfReleaseDetails.Equals(otherReleaseDetails)) + return false; + } else if (self is Rom selfRom && other is Rom otherRom) { // Intentionally skipped here diff --git a/SabreTools.Serialization.Readers.Test/NoIntroDatabaseTests.cs b/SabreTools.Serialization.Readers.Test/NoIntroDatabaseTests.cs index 0e94a0a5..68f6c763 100644 --- a/SabreTools.Serialization.Readers.Test/NoIntroDatabaseTests.cs +++ b/SabreTools.Serialization.Readers.Test/NoIntroDatabaseTests.cs @@ -140,30 +140,30 @@ namespace SabreTools.Serialization.Readers.Test var sourceDetails = new Data.Models.NoIntroDatabase.SourceDetails { - Id = "XXXXXX", - AppendToNumber = "XXXXXX", - Section = "XXXXXX", - RomInfo = "XXXXXX", - DumpDate = "XXXXXX", + Id = "id", + AppendToNumber = "appendtonumber", + Section = "section", + RomInfo = "rominfo", + DumpDate = "dumpdate", DumpDateInfo = true, - ReleaseDate = "XXXXXX", + ReleaseDate = "releasedate", ReleaseDateInfo = true, - Dumper = "XXXXXX", - Project = "XXXXXX", - OriginalFormat = "XXXXXX", + Dumper = "dumper", + Project = "project", + OriginalFormat = "originalformat", Nodump = true, - Tool = "XXXXXX", - Origin = "XXXXXX", - Comment1 = "XXXXXX", - Comment2 = "XXXXXX", - Link1 = "XXXXXX", + Tool = "tool", + Origin = "origin", + Comment1 = "comment1", + Comment2 = "comment2", + Link1 = "link1", Link1Public = true, - Link2 = "XXXXXX", + Link2 = "link2", Link2Public = true, - Link3 = "XXXXXX", + Link3 = "link3", Link3Public = true, - Region = "XXXXXX", - MediaTitle = "XXXXXX", + Region = "region", + MediaTitle = "mediatitle", }; var serials = new Data.Models.NoIntroDatabase.Serials @@ -222,22 +222,22 @@ namespace SabreTools.Serialization.Readers.Test var releaseDetails = new Data.Models.NoIntroDatabase.ReleaseDetails { - Id = "XXXXXX", - AppendToNumber = "XXXXXX", - Date = "XXXXXX", - OriginalFormat = "XXXXXX", - Group = "XXXXXX", - DirName = "XXXXXX", - NfoName = "XXXXXX", - NfoSize = "XXXXXX", - NfoCRC = "XXXXXX", - ArchiveName = "XXXXXX", - RomInfo = "XXXXXX", - Category = "XXXXXX", - Comment = "XXXXXX", - Tool = "XXXXXX", - Region = "XXXXXX", - Origin = "XXXXXX", + Id = "id", + AppendToNumber = "appendtonumber", + Date = "date", + OriginalFormat = "originalformat", + Group = "group", + DirName = "dirname", + NfoName = "nfoname", + NfoSize = "nfosize", + NfoCRC = "nfocrc", + ArchiveName = "archivename", + RomInfo = "rominfo", + Category = "category", + Comment = "comment", + Tool = "tool", + Region = "region", + Origin = "origin", }; var release = new Data.Models.NoIntroDatabase.Release @@ -356,30 +356,30 @@ namespace SabreTools.Serialization.Readers.Test private static void Validate(Data.Models.NoIntroDatabase.SourceDetails? sourceDetails) { Assert.NotNull(sourceDetails); - Assert.Equal("XXXXXX", sourceDetails.Id); - Assert.Equal("XXXXXX", sourceDetails.AppendToNumber); - Assert.Equal("XXXXXX", sourceDetails.Section); - Assert.Equal("XXXXXX", sourceDetails.RomInfo); - Assert.Equal("XXXXXX", sourceDetails.DumpDate); + Assert.Equal("id", sourceDetails.Id); + Assert.Equal("appendtonumber", sourceDetails.AppendToNumber); + Assert.Equal("section", sourceDetails.Section); + Assert.Equal("rominfo", sourceDetails.RomInfo); + Assert.Equal("dumpdate", sourceDetails.DumpDate); Assert.Equal(true, sourceDetails.DumpDateInfo); - Assert.Equal("XXXXXX", sourceDetails.ReleaseDate); + Assert.Equal("releasedate", sourceDetails.ReleaseDate); Assert.Equal(true, sourceDetails.ReleaseDateInfo); - Assert.Equal("XXXXXX", sourceDetails.Dumper); - Assert.Equal("XXXXXX", sourceDetails.Project); - Assert.Equal("XXXXXX", sourceDetails.OriginalFormat); + Assert.Equal("dumper", sourceDetails.Dumper); + Assert.Equal("project", sourceDetails.Project); + Assert.Equal("originalformat", sourceDetails.OriginalFormat); Assert.Equal(true, sourceDetails.Nodump); - Assert.Equal("XXXXXX", sourceDetails.Tool); - Assert.Equal("XXXXXX", sourceDetails.Origin); - Assert.Equal("XXXXXX", sourceDetails.Comment1); - Assert.Equal("XXXXXX", sourceDetails.Comment2); - Assert.Equal("XXXXXX", sourceDetails.Link1); + Assert.Equal("tool", sourceDetails.Tool); + Assert.Equal("origin", sourceDetails.Origin); + Assert.Equal("comment1", sourceDetails.Comment1); + Assert.Equal("comment2", sourceDetails.Comment2); + Assert.Equal("link1", sourceDetails.Link1); Assert.Equal(true, sourceDetails.Link1Public); - Assert.Equal("XXXXXX", sourceDetails.Link2); + Assert.Equal("link2", sourceDetails.Link2); Assert.Equal(true, sourceDetails.Link2Public); - Assert.Equal("XXXXXX", sourceDetails.Link3); + Assert.Equal("link3", sourceDetails.Link3); Assert.Equal(true, sourceDetails.Link3Public); - Assert.Equal("XXXXXX", sourceDetails.Region); - Assert.Equal("XXXXXX", sourceDetails.MediaTitle); + Assert.Equal("region", sourceDetails.Region); + Assert.Equal("mediatitle", sourceDetails.MediaTitle); } /// @@ -459,22 +459,22 @@ namespace SabreTools.Serialization.Readers.Test private static void Validate(Data.Models.NoIntroDatabase.ReleaseDetails? releaseDetails) { Assert.NotNull(releaseDetails); - Assert.Equal("XXXXXX", releaseDetails.Id); - Assert.Equal("XXXXXX", releaseDetails.AppendToNumber); - Assert.Equal("XXXXXX", releaseDetails.Date); - Assert.Equal("XXXXXX", releaseDetails.OriginalFormat); - Assert.Equal("XXXXXX", releaseDetails.Group); - Assert.Equal("XXXXXX", releaseDetails.DirName); - Assert.Equal("XXXXXX", releaseDetails.NfoName); - Assert.Equal("XXXXXX", releaseDetails.NfoSize); - Assert.Equal("XXXXXX", releaseDetails.NfoCRC); - Assert.Equal("XXXXXX", releaseDetails.ArchiveName); - Assert.Equal("XXXXXX", releaseDetails.RomInfo); - Assert.Equal("XXXXXX", releaseDetails.Category); - Assert.Equal("XXXXXX", releaseDetails.Comment); - Assert.Equal("XXXXXX", releaseDetails.Tool); - Assert.Equal("XXXXXX", releaseDetails.Region); - Assert.Equal("XXXXXX", releaseDetails.Origin); + Assert.Equal("id", releaseDetails.Id); + Assert.Equal("appendtonumber", releaseDetails.AppendToNumber); + Assert.Equal("date", releaseDetails.Date); + Assert.Equal("originalformat", releaseDetails.OriginalFormat); + Assert.Equal("group", releaseDetails.Group); + Assert.Equal("dirname", releaseDetails.DirName); + Assert.Equal("nfoname", releaseDetails.NfoName); + Assert.Equal("nfosize", releaseDetails.NfoSize); + Assert.Equal("nfocrc", releaseDetails.NfoCRC); + Assert.Equal("archivename", releaseDetails.ArchiveName); + Assert.Equal("rominfo", releaseDetails.RomInfo); + Assert.Equal("category", releaseDetails.Category); + Assert.Equal("comment", releaseDetails.Comment); + Assert.Equal("tool", releaseDetails.Tool); + Assert.Equal("region", releaseDetails.Region); + Assert.Equal("origin", releaseDetails.Origin); } } }