From 8e2f519e15fc19183c1ead180e35be8152035571 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Fri, 3 Apr 2026 19:47:58 -0400 Subject: [PATCH] Convert most of Media over to properties --- .../MetadataExtensionsTests.cs | 160 +++++++++--------- .../MetadataExtensions.cs | 90 +++++----- SabreTools.Data.Models/Metadata/Media.cs | 20 +-- .../DatFileTests.FromMetadata.cs | 16 +- .../DatFileTests.ToMetadata.cs | 8 +- .../DatFileTests.cs | 24 ++- .../DatStatisticsTests.cs | 8 +- .../FormatsTests.cs | 16 +- .../ItemDictionaryDBTests.cs | 3 +- .../ItemDictionaryTests.cs | 3 +- SabreTools.Metadata.DatFiles/DatFile.cs | 18 +- SabreTools.Metadata.DatFiles/DatStatistics.cs | 16 +- .../Formats/Logiqx.cs | 10 +- .../Formats/Md5File.cs | 4 +- .../Formats/SeparatedValue.cs | 10 +- .../Formats/Sha1File.cs | 4 +- .../Formats/Sha256File.cs | 4 +- .../Formats/SpamSumFile.cs | 4 +- .../ItemDictionary.cs | 8 +- .../ItemDictionaryDB.cs | 8 +- .../Formats/MediaTests.cs | 133 +++++++-------- SabreTools.Metadata.DatItems/Formats/Media.cs | 47 +++-- SabreTools.Metadata.Filter/FilterObject.cs | 13 ++ .../DictionaryBaseExtensionsTests.cs | 96 +++++------ .../ClrMameProTests.cs | 16 +- .../LogiqxTests.cs | 16 +- .../SeparatedValueTests.cs | 16 +- .../ClrMamePro.Deserializer.cs | 8 +- .../ClrMamePro.Serializer.cs | 8 +- .../Logiqx.Deserializer.cs | 8 +- .../Logiqx.Serializer.cs | 8 +- .../SeparatedValue.Deserializer.cs | 8 +- .../SeparatedValue.Serializer.cs | 8 +- .../ClrMameProTests.cs | 16 +- .../LogiqxTests.cs | 16 +- .../SeparatedValueTests.cs | 16 +- 36 files changed, 444 insertions(+), 423 deletions(-) diff --git a/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs b/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs index df1984f8..145b5211 100644 --- a/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs +++ b/SabreTools.Data.Extensions.Test/MetadataExtensionsTests.cs @@ -84,10 +84,10 @@ namespace SabreTools.Data.Extensions.Test DictionaryBase? self = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; Rom? actual = self.ConvertToRom(); @@ -225,17 +225,17 @@ namespace SabreTools.Data.Extensions.Test { Media self = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = string.Empty, + MD5 = "XXXXXX", + SHA1 = string.Empty, + SHA256 = "XXXXXX", + SpamSum = string.Empty, }; Media other = new Media { - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = "XXXXXX", + MD5 = string.Empty, + SHA1 = "XXXXXX", + SHA256 = string.Empty, + SpamSum = "XXXXXX", }; bool actual = self.HashMatch(other); @@ -247,17 +247,17 @@ namespace SabreTools.Data.Extensions.Test { Media self = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = string.Empty, + MD5 = "XXXXXX", + SHA1 = string.Empty, + SHA256 = string.Empty, + SpamSum = string.Empty, }; Media other = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.HashMatch(other); @@ -269,17 +269,17 @@ namespace SabreTools.Data.Extensions.Test { Media self = new Media { - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = string.Empty, + MD5 = string.Empty, + SHA1 = "XXXXXX", + SHA256 = string.Empty, + SpamSum = string.Empty, }; Media other = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.HashMatch(other); @@ -291,17 +291,17 @@ namespace SabreTools.Data.Extensions.Test { Media self = new Media { - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = string.Empty, + MD5 = string.Empty, + SHA1 = string.Empty, + SHA256 = "XXXXXX", + SpamSum = string.Empty, }; Media other = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.HashMatch(other); @@ -313,17 +313,17 @@ namespace SabreTools.Data.Extensions.Test { Media self = new Media { - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = "XXXXXX", + MD5 = string.Empty, + SHA1 = string.Empty, + SHA256 = string.Empty, + SpamSum = "XXXXXX", }; Media other = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.HashMatch(other); @@ -335,17 +335,17 @@ namespace SabreTools.Data.Extensions.Test { Media self = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; Media other = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.HashMatch(other); @@ -1029,10 +1029,10 @@ namespace SabreTools.Data.Extensions.Test { DictionaryBase self = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.HasZeroHash(); @@ -1044,10 +1044,10 @@ namespace SabreTools.Data.Extensions.Test { DictionaryBase self = new Media { - [Media.MD5Key] = HashType.MD5.ZeroString, - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = string.Empty, + MD5 = HashType.MD5.ZeroString, + SHA1 = string.Empty, + SHA256 = string.Empty, + SpamSum = string.Empty, }; bool actual = self.HasZeroHash(); @@ -1059,10 +1059,10 @@ namespace SabreTools.Data.Extensions.Test { DictionaryBase self = new Media { - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = HashType.SHA1.ZeroString, - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = string.Empty, + MD5 = string.Empty, + SHA1 = HashType.SHA1.ZeroString, + SHA256 = string.Empty, + SpamSum = string.Empty, }; bool actual = self.HasZeroHash(); @@ -1074,10 +1074,10 @@ namespace SabreTools.Data.Extensions.Test { DictionaryBase self = new Media { - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = HashType.SHA256.ZeroString, - [Media.SpamSumKey] = string.Empty, + MD5 = string.Empty, + SHA1 = string.Empty, + SHA256 = HashType.SHA256.ZeroString, + SpamSum = string.Empty, }; bool actual = self.HasZeroHash(); @@ -1089,10 +1089,10 @@ namespace SabreTools.Data.Extensions.Test { DictionaryBase self = new Media { - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = HashType.SpamSum.ZeroString, + MD5 = string.Empty, + SHA1 = string.Empty, + SHA256 = string.Empty, + SpamSum = HashType.SpamSum.ZeroString, }; bool actual = self.HasZeroHash(); @@ -1104,10 +1104,10 @@ namespace SabreTools.Data.Extensions.Test { DictionaryBase self = new Media { - [Media.MD5Key] = HashType.MD5.ZeroString, - [Media.SHA1Key] = HashType.SHA1.ZeroString, - [Media.SHA256Key] = HashType.SHA256.ZeroString, - [Media.SpamSumKey] = HashType.SpamSum.ZeroString, + MD5 = HashType.MD5.ZeroString, + SHA1 = HashType.SHA1.ZeroString, + SHA256 = HashType.SHA256.ZeroString, + SpamSum = HashType.SpamSum.ZeroString, }; bool actual = self.HasZeroHash(); @@ -1532,10 +1532,10 @@ namespace SabreTools.Data.Extensions.Test DictionaryBase self = new Media(); DictionaryBase other = new Media { - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; self.FillMissingHashes(other); diff --git a/SabreTools.Data.Extensions/MetadataExtensions.cs b/SabreTools.Data.Extensions/MetadataExtensions.cs index 415af12c..a1702042 100644 --- a/SabreTools.Data.Extensions/MetadataExtensions.cs +++ b/SabreTools.Data.Extensions/MetadataExtensions.cs @@ -314,6 +314,13 @@ namespace SabreTools.Data.Extensions cloneMachine.Runnable = selfMachine.Runnable; cloneMachine.Supported = selfMachine.Supported; } + else if (self is Media selfMedia && clone is Media cloneMedia) + { + cloneMedia.MD5 = selfMedia.MD5; + cloneMedia.SHA1 = selfMedia.SHA1; + cloneMedia.SHA256 = selfMedia.SHA256; + cloneMedia.SpamSum = selfMedia.SpamSum; + } else if (self is Part selfPart && clone is Part clonePart) { clonePart.Interface = selfPart.Interface; @@ -431,10 +438,10 @@ namespace SabreTools.Data.Extensions return new Rom { Name = name, - [Rom.MD5Key] = media.ReadString(Media.MD5Key), - [Rom.SHA1Key] = media.ReadString(Media.SHA1Key), - [Rom.SHA256Key] = media.ReadString(Media.SHA256Key), - [Rom.SpamSumKey] = media.ReadString(Media.SpamSumKey), + [Rom.MD5Key] = media.MD5, + [Rom.SHA1Key] = media.SHA1, + [Rom.SHA256Key] = media.SHA256, + [Rom.SpamSumKey] = media.SpamSum, }; } @@ -516,21 +523,10 @@ namespace SabreTools.Data.Extensions return false; // Return if all hashes match according to merge rules - string? selfMd5 = self.ReadString(Media.MD5Key); - string? otherMd5 = other.ReadString(Media.MD5Key); - bool conditionalMd5 = ConditionalHashEquals(selfMd5, otherMd5); - - string? selfSha1 = self.ReadString(Media.SHA1Key); - string? otherSha1 = other.ReadString(Media.SHA1Key); - bool conditionalSha1 = ConditionalHashEquals(selfSha1, otherSha1); - - string? selfSha256 = self.ReadString(Media.SHA256Key); - string? otherSha256 = other.ReadString(Media.SHA256Key); - bool conditionalSha256 = ConditionalHashEquals(selfSha256, otherSha256); - - string? selfSpamSum = self.ReadString(Media.SpamSumKey); - string? otherSpamSum = other.ReadString(Media.SpamSumKey); - bool conditionalSpamSum = ConditionalHashEquals(selfSpamSum, otherSpamSum); + bool conditionalMd5 = ConditionalHashEquals(self.MD5, other.MD5); + bool conditionalSha1 = ConditionalHashEquals(self.SHA1, other.SHA1); + bool conditionalSha256 = ConditionalHashEquals(self.SHA256, other.SHA256); + bool conditionalSpamSum = ConditionalHashEquals(self.SpamSum, other.SpamSum); return conditionalMd5 && conditionalSha1 @@ -667,17 +663,17 @@ namespace SabreTools.Data.Extensions /// private static bool HasCommonHash(this Media self, Media other) { - bool md5Null = string.IsNullOrEmpty(self.ReadString(Media.MD5Key)); - md5Null ^= string.IsNullOrEmpty(other.ReadString(Media.MD5Key)); + bool md5Null = string.IsNullOrEmpty(self.MD5); + md5Null ^= string.IsNullOrEmpty(other.MD5); - bool sha1Null = string.IsNullOrEmpty(self.ReadString(Media.SHA1Key)); - sha1Null ^= string.IsNullOrEmpty(other.ReadString(Media.SHA1Key)); + bool sha1Null = string.IsNullOrEmpty(self.SHA1); + sha1Null ^= string.IsNullOrEmpty(other.SHA1); - bool sha256Null = string.IsNullOrEmpty(self.ReadString(Media.SHA256Key)); - sha256Null ^= string.IsNullOrEmpty(other.ReadString(Media.SHA256Key)); + bool sha256Null = string.IsNullOrEmpty(self.SHA256); + sha256Null ^= string.IsNullOrEmpty(other.SHA256); - bool spamsumNull = string.IsNullOrEmpty(self.ReadString(Media.SpamSumKey)); - spamsumNull ^= string.IsNullOrEmpty(other.ReadString(Media.SpamSumKey)); + bool spamsumNull = string.IsNullOrEmpty(self.SpamSum); + spamsumNull ^= string.IsNullOrEmpty(other.SpamSum); return !md5Null || !sha1Null @@ -761,10 +757,10 @@ namespace SabreTools.Data.Extensions /// private static bool HasHashes(this Media media) { - bool md5Null = string.IsNullOrEmpty(media.ReadString(Media.MD5Key)); - bool sha1Null = string.IsNullOrEmpty(media.ReadString(Media.SHA1Key)); - bool sha256Null = string.IsNullOrEmpty(media.ReadString(Media.SHA256Key)); - bool spamsumNull = string.IsNullOrEmpty(media.ReadString(Media.SpamSumKey)); + bool md5Null = string.IsNullOrEmpty(media.MD5); + bool sha1Null = string.IsNullOrEmpty(media.SHA1); + bool sha256Null = string.IsNullOrEmpty(media.SHA256); + bool spamsumNull = string.IsNullOrEmpty(media.SpamSum); return !md5Null || !sha1Null @@ -826,16 +822,16 @@ namespace SabreTools.Data.Extensions /// private static bool HasZeroHash(this Media media) { - string? md5 = media.ReadString(Media.MD5Key); + string? md5 = media.MD5; bool md5Null = string.IsNullOrEmpty(md5) || string.Equals(md5, HashType.MD5.ZeroString, StringComparison.OrdinalIgnoreCase); - string? sha1 = media.ReadString(Media.SHA1Key); + string? sha1 = media.SHA1; bool sha1Null = string.IsNullOrEmpty(sha1) || string.Equals(sha1, HashType.SHA1.ZeroString, StringComparison.OrdinalIgnoreCase); - string? sha256 = media.ReadString(Media.SHA256Key); + string? sha256 = media.SHA256; bool sha256Null = string.IsNullOrEmpty(sha256) || string.Equals(sha256, HashType.SHA256.ZeroString, StringComparison.OrdinalIgnoreCase); - string? spamsum = media.ReadString(Media.SpamSumKey); + string? spamsum = media.SpamSum; bool spamsumNull = string.IsNullOrEmpty(spamsum) || string.Equals(spamsum, HashType.SpamSum.ZeroString, StringComparison.OrdinalIgnoreCase); return md5Null @@ -968,25 +964,25 @@ namespace SabreTools.Data.Extensions if (self is null || other is null) return; - string? selfMd5 = self.ReadString(Media.MD5Key); - string? otherMd5 = other.ReadString(Media.MD5Key); + string? selfMd5 = self.MD5; + string? otherMd5 = other.MD5; if (string.IsNullOrEmpty(selfMd5) && !string.IsNullOrEmpty(otherMd5)) - self[Media.MD5Key] = otherMd5; + self.MD5 = otherMd5; - string? selfSha1 = self.ReadString(Media.SHA1Key); - string? otherSha1 = other.ReadString(Media.SHA1Key); + string? selfSha1 = self.SHA1; + string? otherSha1 = other.SHA1; if (string.IsNullOrEmpty(selfSha1) && !string.IsNullOrEmpty(otherSha1)) - self[Media.SHA1Key] = otherSha1; + self.SHA1 = otherSha1; - string? selfSha256 = self.ReadString(Media.SHA256Key); - string? otherSha256 = other.ReadString(Media.SHA256Key); + string? selfSha256 = self.SHA256; + string? otherSha256 = other.SHA256; if (string.IsNullOrEmpty(selfSha256) && !string.IsNullOrEmpty(otherSha256)) - self[Media.SHA256Key] = otherSha256; + self.SHA256 = otherSha256; - string? selfSpamSum = self.ReadString(Media.SpamSumKey); - string? otherSpamSum = other.ReadString(Media.SpamSumKey); + string? selfSpamSum = self.SpamSum; + string? otherSpamSum = other.SpamSum; if (string.IsNullOrEmpty(selfSpamSum) && !string.IsNullOrEmpty(otherSpamSum)) - self[Media.SpamSumKey] = otherSpamSum; + self.SpamSum = otherSpamSum; } /// diff --git a/SabreTools.Data.Models/Metadata/Media.cs b/SabreTools.Data.Models/Metadata/Media.cs index cb45c2cc..3e6f2a86 100644 --- a/SabreTools.Data.Models/Metadata/Media.cs +++ b/SabreTools.Data.Models/Metadata/Media.cs @@ -3,28 +3,22 @@ using Newtonsoft.Json; namespace SabreTools.Data.Models.Metadata { + // TODO: ICloneable + // TODO: IEquatable [JsonObject("media"), XmlRoot("media")] public class Media : DatItem { #region Properties + public string? MD5 { get; set; } + public string? Name { get; set; } - #endregion + public string? SHA1 { get; set; } - #region Keys + public string? SHA256 { get; set; } - /// string - public const string MD5Key = "md5"; - - /// string - public const string SHA1Key = "sha1"; - - /// string - public const string SHA256Key = "sha256"; - - /// string - public const string SpamSumKey = "spamsum"; + public string? SpamSum { get; set; } #endregion diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs index f2d6c838..191e5771 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.FromMetadata.cs @@ -684,11 +684,11 @@ namespace SabreTools.Metadata.DatFiles.Test { return new Data.Models.Metadata.Media { - [Data.Models.Metadata.Media.MD5Key] = HashType.MD5.ZeroString, + MD5 = HashType.MD5.ZeroString, Name = "name", - [Data.Models.Metadata.Media.SHA1Key] = HashType.SHA1.ZeroString, - [Data.Models.Metadata.Media.SHA256Key] = HashType.SHA256.ZeroString, - [Data.Models.Metadata.Media.SpamSumKey] = HashType.SpamSum.ZeroString, + SHA1 = HashType.SHA1.ZeroString, + SHA256 = HashType.SHA256.ZeroString, + SpamSum = HashType.SpamSum.ZeroString, }; } @@ -1415,11 +1415,11 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMedia(Media? media) { Assert.NotNull(media); - Assert.Equal(HashType.MD5.ZeroString, media.ReadString(Data.Models.Metadata.Media.MD5Key)); + Assert.Equal(HashType.MD5.ZeroString, media.MD5); Assert.Equal("name", media.Name); - Assert.Equal(HashType.SHA1.ZeroString, media.ReadString(Data.Models.Metadata.Media.SHA1Key)); - Assert.Equal(HashType.SHA256.ZeroString, media.ReadString(Data.Models.Metadata.Media.SHA256Key)); - Assert.Equal(HashType.SpamSum.ZeroString, media.ReadString(Data.Models.Metadata.Media.SpamSumKey)); + Assert.Equal(HashType.SHA1.ZeroString, media.SHA1); + Assert.Equal(HashType.SHA256.ZeroString, media.SHA256); + Assert.Equal(HashType.SpamSum.ZeroString, media.SpamSum); } private static void ValidatePart(Part? part) diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs index a5637a63..9f06ee63 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.ToMetadata.cs @@ -950,11 +950,11 @@ namespace SabreTools.Metadata.DatFiles.Test private static void ValidateMetadataMedia(Data.Models.Metadata.Media? media) { Assert.NotNull(media); - Assert.Equal(HashType.MD5.ZeroString, media.ReadString(Data.Models.Metadata.Media.MD5Key)); + Assert.Equal(HashType.MD5.ZeroString, media.MD5); Assert.Equal("name", media.Name); - Assert.Equal(HashType.SHA1.ZeroString, media.ReadString(Data.Models.Metadata.Media.SHA1Key)); - Assert.Equal(HashType.SHA256.ZeroString, media.ReadString(Data.Models.Metadata.Media.SHA256Key)); - Assert.Equal(HashType.SpamSum.ZeroString, media.ReadString(Data.Models.Metadata.Media.SpamSumKey)); + Assert.Equal(HashType.SHA1.ZeroString, media.SHA1); + Assert.Equal(HashType.SHA256.ZeroString, media.SHA256); + Assert.Equal(HashType.SpamSum.ZeroString, media.SpamSum); } private static void ValidateMetadataPart(Data.Models.Metadata.Part? part) diff --git a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs index b773c286..b4f8cd89 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatFileTests.cs @@ -1448,12 +1448,14 @@ namespace SabreTools.Metadata.DatFiles.Test machine.Write(Data.Models.Metadata.Machine.PublisherKey, "publisher"); machine.Write(Data.Models.Metadata.Machine.CategoryKey, "category"); - DatItem item = new Media(); + DatItem item = new Media + { + MD5 = "md5", + SHA1 = "sha1", + SHA256 = "sha256", + SpamSum = "spamsum", + }; item.SetName("name"); - item.Write(Data.Models.Metadata.Media.MD5Key, "md5"); - item.Write(Data.Models.Metadata.Media.SHA1Key, "sha1"); - item.Write(Data.Models.Metadata.Media.SHA256Key, "sha256"); - item.Write(Data.Models.Metadata.Media.SpamSumKey, "spamsum"); string actual = DatFile.FormatPrefixPostfix(item, machine, fix); Assert.Equal(expected, actual); @@ -1731,8 +1733,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void GetDuplicateSuffix_Media_MD5() { string hash = "XXXXXX"; - DatItem datItem = new Media(); - datItem.Write(Data.Models.Metadata.Media.MD5Key, hash); + DatItem datItem = new Media() { MD5 = hash }; string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1742,8 +1743,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void GetDuplicateSuffix_Media_SHA1() { string hash = "XXXXXX"; - DatItem datItem = new Media(); - datItem.Write(Data.Models.Metadata.Media.SHA1Key, hash); + DatItem datItem = new Media() { SHA1 = hash }; string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1753,8 +1753,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void GetDuplicateSuffix_Media_SHA256() { string hash = "XXXXXX"; - DatItem datItem = new Media(); - datItem.Write(Data.Models.Metadata.Media.SHA256Key, hash); + DatItem datItem = new Media() { SHA256 = hash }; string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); @@ -1764,8 +1763,7 @@ namespace SabreTools.Metadata.DatFiles.Test public void GetDuplicateSuffix_Media_SpamSum() { string hash = "XXXXXX"; - DatItem datItem = new Media(); - datItem.Write(Data.Models.Metadata.Media.SpamSumKey, hash); + DatItem datItem = new Media() { SpamSum = hash }; string actual = DatFile.GetDuplicateSuffix(datItem); Assert.Equal($"_{hash}", actual); diff --git a/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs b/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs index 3e9827f3..37541b0c 100644 --- a/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/DatStatisticsTests.cs @@ -284,10 +284,10 @@ namespace SabreTools.Metadata.DatFiles.Test { var media = new Media(); - media.Write(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); - media.Write(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); - media.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); - media.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); + media.MD5 = HashType.MD5.ZeroString; + media.SHA1 = HashType.SHA1.ZeroString; + media.SHA256 = HashType.SHA256.ZeroString; + media.SpamSum = HashType.SpamSum.ZeroString; return media; } diff --git a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs index deabf3d3..d9e32108 100644 --- a/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/FormatsTests.cs @@ -442,7 +442,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Media.Name), - Data.Models.Metadata.Media.MD5Key, + nameof(Data.Models.Metadata.Media.MD5), ])); } @@ -549,7 +549,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Media.Name), - Data.Models.Metadata.Media.SHA1Key, + nameof(Data.Models.Metadata.Media.SHA1), ])); } @@ -590,7 +590,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Media.Name), - Data.Models.Metadata.Media.SHA256Key, + nameof(Data.Models.Metadata.Media.SHA256), ])); } @@ -681,7 +681,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Media.Name), - Data.Models.Metadata.Media.SpamSumKey, + nameof(Data.Models.Metadata.Media.SpamSum), ])); } @@ -1154,7 +1154,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Media.Name), - Data.Models.Metadata.Media.SHA1Key, + nameof(Data.Models.Metadata.Media.SHA1), ])); } @@ -1406,7 +1406,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Media.Name), - Data.Models.Metadata.Media.SHA1Key, + nameof(Data.Models.Metadata.Media.SHA1), ])); } @@ -1464,7 +1464,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Media.Name), - Data.Models.Metadata.Media.SHA1Key, + nameof(Data.Models.Metadata.Media.SHA1), ])); } @@ -1522,7 +1522,7 @@ namespace SabreTools.Metadata.DatFiles.Test Assert.NotNull(actual); Assert.True(actual.SequenceEqual([ nameof(Data.Models.Metadata.Media.Name), - Data.Models.Metadata.Media.SHA1Key, + nameof(Data.Models.Metadata.Media.SHA1), ])); } diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs index 4e249bff..35c0235b 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryDBTests.cs @@ -96,9 +96,8 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - DatItem media = new Media(); + DatItem media = new Media() { SHA1 = "deadbeef" }; media.SetName("item"); - media.Write(Data.Models.Metadata.Media.SHA1Key, "deadbeef"); var dict = new ItemDictionaryDB(); long sourceIndex = dict.AddSource(source); diff --git a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs index b92fd822..160c9ee9 100644 --- a/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.Metadata.DatFiles.Test/ItemDictionaryTests.cs @@ -96,9 +96,8 @@ namespace SabreTools.Metadata.DatFiles.Test Source source = new Source(0, source: null); Machine machine = new Machine(); - DatItem media = new Media(); + DatItem media = new Media() { SHA1 = "deadbeef" }; media.SetName("item"); - media.Write(Data.Models.Metadata.Media.SHA1Key, "deadbeef"); media.Source = source; media.Machine = machine; diff --git a/SabreTools.Metadata.DatFiles/DatFile.cs b/SabreTools.Metadata.DatFiles/DatFile.cs index 150560c7..27c3bf96 100644 --- a/SabreTools.Metadata.DatFiles/DatFile.cs +++ b/SabreTools.Metadata.DatFiles/DatFile.cs @@ -523,7 +523,7 @@ namespace SabreTools.Metadata.DatFiles else if (item is Media media) { // We can only write out if there's a SHA-1 - string? sha1 = media.ReadString(Data.Models.Metadata.Media.SHA1Key); + string? sha1 = media.SHA1; if (!string.IsNullOrEmpty(sha1)) { name = Utilities.GetDepotPath(sha1, Modifiers.OutputDepot.Depth)?.Replace('\\', '/'); @@ -620,10 +620,10 @@ namespace SabreTools.Metadata.DatFiles } else if (item is Media media) { - md5 = media.ReadString(Data.Models.Metadata.Media.MD5Key) ?? string.Empty; - sha1 = media.ReadString(Data.Models.Metadata.Media.SHA1Key) ?? string.Empty; - sha256 = media.ReadString(Data.Models.Metadata.Media.SHA256Key) ?? string.Empty; - spamsum = media.ReadString(Data.Models.Metadata.Media.SpamSumKey) ?? string.Empty; + md5 = media.MD5 ?? string.Empty; + sha1 = media.SHA1 ?? string.Empty; + sha256 = media.SHA256 ?? string.Empty; + spamsum = media.SpamSum ?? string.Empty; } else if (item is Rom rom) { @@ -1072,19 +1072,19 @@ namespace SabreTools.Metadata.DatFiles /// private static string GetDuplicateSuffix(Media datItem) { - string? md5 = datItem.ReadString(Data.Models.Metadata.Media.MD5Key); + string? md5 = datItem.MD5; if (!string.IsNullOrEmpty(md5)) return $"_{md5}"; - string? sha1 = datItem.ReadString(Data.Models.Metadata.Media.SHA1Key); + string? sha1 = datItem.SHA1; if (!string.IsNullOrEmpty(sha1)) return $"_{sha1}"; - string? sha256 = datItem.ReadString(Data.Models.Metadata.Media.SHA256Key); + string? sha256 = datItem.SHA256; if (!string.IsNullOrEmpty(sha256)) return $"_{sha256}"; - string? spamSum = datItem.ReadString(Data.Models.Metadata.Media.SpamSumKey); + string? spamSum = datItem.SpamSum; if (!string.IsNullOrEmpty(spamSum)) return $"_{spamSum}"; diff --git a/SabreTools.Metadata.DatFiles/DatStatistics.cs b/SabreTools.Metadata.DatFiles/DatStatistics.cs index 146f6f95..2cc3a271 100644 --- a/SabreTools.Metadata.DatFiles/DatStatistics.cs +++ b/SabreTools.Metadata.DatFiles/DatStatistics.cs @@ -359,10 +359,10 @@ namespace SabreTools.Metadata.DatFiles /// Item to add info from private void AddItemStatistics(Media media) { - AddHashCount(HashType.MD5, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) ? 0 : 1); - AddHashCount(HashType.SHA1, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) ? 0 : 1); - AddHashCount(HashType.SHA256, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) ? 0 : 1); - AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1); + AddHashCount(HashType.MD5, string.IsNullOrEmpty(media.MD5) ? 0 : 1); + AddHashCount(HashType.SHA1, string.IsNullOrEmpty(media.SHA1) ? 0 : 1); + AddHashCount(HashType.SHA256, string.IsNullOrEmpty(media.SHA256) ? 0 : 1); + AddHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.SpamSum) ? 0 : 1); } /// @@ -488,10 +488,10 @@ namespace SabreTools.Metadata.DatFiles /// Item to remove info for private void RemoveItemStatistics(Media media) { - RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) ? 0 : 1); - RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) ? 0 : 1); - RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey)) ? 0 : 1); + RemoveHashCount(HashType.MD5, string.IsNullOrEmpty(media.MD5) ? 0 : 1); + RemoveHashCount(HashType.SHA1, string.IsNullOrEmpty(media.SHA1) ? 0 : 1); + RemoveHashCount(HashType.SHA256, string.IsNullOrEmpty(media.SHA256) ? 0 : 1); + RemoveHashCount(HashType.SpamSum, string.IsNullOrEmpty(media.SpamSum) ? 0 : 1); } /// diff --git a/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs b/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs index 3e31fb2f..e57375ed 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Logiqx.cs @@ -317,12 +317,12 @@ namespace SabreTools.Metadata.DatFiles.Formats case Media media: if (string.IsNullOrEmpty(media.Name)) missingFields.Add(nameof(Data.Models.Metadata.Media.Name)); - if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(media.MD5) + && string.IsNullOrEmpty(media.SHA1) + && string.IsNullOrEmpty(media.SHA256) + && string.IsNullOrEmpty(media.SpamSum)) { - missingFields.Add(Data.Models.Metadata.Media.SHA1Key); + missingFields.Add(nameof(Data.Models.Metadata.Media.SHA1)); } break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Md5File.cs b/SabreTools.Metadata.DatFiles/Formats/Md5File.cs index d3b5baa4..1814519f 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Md5File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Md5File.cs @@ -45,8 +45,8 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Media medium: - if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.MD5Key))) - missingFields.Add(Data.Models.Metadata.Media.MD5Key); + if (string.IsNullOrEmpty(medium.MD5)) + missingFields.Add(nameof(Data.Models.Metadata.Media.MD5)); break; case Rom rom: diff --git a/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs b/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs index 52613e24..f8309329 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SeparatedValue.cs @@ -82,12 +82,12 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Media media: - if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(media.MD5) + && string.IsNullOrEmpty(media.SHA1) + && string.IsNullOrEmpty(media.SHA256) + && string.IsNullOrEmpty(media.SpamSum)) { - missingFields.Add(Data.Models.Metadata.Media.SHA1Key); + missingFields.Add(nameof(Data.Models.Metadata.Media.SHA1)); } break; diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs index ef7ddfe2..d8a4296d 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha1File.cs @@ -45,8 +45,8 @@ namespace SabreTools.Metadata.DatFiles.Formats break; case Media medium: - if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SHA1Key))) - missingFields.Add(Data.Models.Metadata.Media.SHA1Key); + if (string.IsNullOrEmpty(medium.SHA1)) + missingFields.Add(nameof(Data.Models.Metadata.Media.SHA1)); break; case Rom rom: diff --git a/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs b/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs index e24a29d3..2a486680 100644 --- a/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs +++ b/SabreTools.Metadata.DatFiles/Formats/Sha256File.cs @@ -39,8 +39,8 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Media medium: - if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SHA256Key))) - missingFields.Add(Data.Models.Metadata.Media.SHA256Key); + if (string.IsNullOrEmpty(medium.SHA256)) + missingFields.Add(nameof(Data.Models.Metadata.Media.SHA256)); break; case Rom rom: diff --git a/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs b/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs index 17661e36..8383c5a3 100644 --- a/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs +++ b/SabreTools.Metadata.DatFiles/Formats/SpamSumFile.cs @@ -39,8 +39,8 @@ namespace SabreTools.Metadata.DatFiles.Formats switch (datItem) { case Media medium: - if (string.IsNullOrEmpty(medium.ReadString(Data.Models.Metadata.Media.SpamSumKey))) - missingFields.Add(Data.Models.Metadata.Media.SpamSumKey); + if (string.IsNullOrEmpty(medium.SpamSum)) + missingFields.Add(nameof(Data.Models.Metadata.Media.SpamSum)); break; case Rom rom: diff --git a/SabreTools.Metadata.DatFiles/ItemDictionary.cs b/SabreTools.Metadata.DatFiles/ItemDictionary.cs index acd8c9f9..ae78be01 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionary.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionary.cs @@ -124,10 +124,10 @@ namespace SabreTools.Metadata.DatFiles else if (item is Media media) { // If the file has aboslutely no hashes, skip and log - if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(media.MD5) + && string.IsNullOrEmpty(media.SHA1) + && string.IsNullOrEmpty(media.SHA256) + && string.IsNullOrEmpty(media.SpamSum)) { _logger.Verbose($"Incomplete entry for '{media.Name}' will be output as nodump"); } diff --git a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs index f75d98e4..7d071d4a 100644 --- a/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs +++ b/SabreTools.Metadata.DatFiles/ItemDictionaryDB.cs @@ -213,10 +213,10 @@ namespace SabreTools.Metadata.DatFiles else if (item is Media media) { // If the file has aboslutely no hashes, skip and log - if (string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.MD5Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA1Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SHA256Key)) - && string.IsNullOrEmpty(media.ReadString(Data.Models.Metadata.Media.SpamSumKey))) + if (string.IsNullOrEmpty(media.MD5) + && string.IsNullOrEmpty(media.SHA1) + && string.IsNullOrEmpty(media.SHA256) + && string.IsNullOrEmpty(media.SpamSum)) { _logger.Verbose($"Incomplete entry for '{media.Name}' will be output as nodump"); } diff --git a/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs b/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs index 81783000..3fd13ea8 100644 --- a/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs +++ b/SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs @@ -17,10 +17,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Media media = new Media(); media.Name = "name"; - media.Write(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); - media.Write(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); - media.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); - media.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); + media.MD5 = HashType.MD5.ZeroString; + media.SHA1 = HashType.SHA1.ZeroString; + media.SHA256 = HashType.SHA256.ZeroString; + media.SpamSum = HashType.SpamSum.ZeroString; media.DupeType = DupeType.All | DupeType.External; media.Machine = machine; media.RemoveFlag = false; @@ -59,10 +59,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test self.FillMissingInformation(other); - Assert.Null(self.ReadString(Data.Models.Metadata.Media.MD5Key)); - Assert.Null(self.ReadString(Data.Models.Metadata.Media.SHA1Key)); - Assert.Null(self.ReadString(Data.Models.Metadata.Media.SHA256Key)); - Assert.Null(self.ReadString(Data.Models.Metadata.Media.SpamSumKey)); + Assert.Null(self.MD5); + Assert.Null(self.SHA1); + Assert.Null(self.SHA256); + Assert.Null(self.SpamSum); } [Fact] @@ -71,17 +71,17 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Media self = new Media(); Media other = new Media(); - other.Write(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); - other.Write(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); - other.Write(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); - other.Write(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); + other.MD5 = "XXXXXX"; + other.SHA1 = "XXXXXX"; + other.SHA256 = "XXXXXX"; + other.SpamSum = "XXXXXX"; self.FillMissingInformation(other); - Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Media.MD5Key)); - Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Media.SHA1Key)); - Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Media.SHA256Key)); - Assert.Equal("XXXXXX", self.ReadString(Data.Models.Metadata.Media.SpamSumKey)); + Assert.Equal("XXXXXX", self.MD5); + Assert.Equal("XXXXXX", self.SHA1); + Assert.Equal("XXXXXX", self.SHA256); + Assert.Equal("XXXXXX", self.SpamSum); } #endregion @@ -100,10 +100,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_MD5_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.MD5 = "XXXXXX"; + self.SHA1 = string.Empty; + self.SHA256 = string.Empty; + self.SpamSum = string.Empty; bool actual = self.HasHashes(); Assert.True(actual); @@ -113,10 +113,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA1_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.MD5 = string.Empty; + self.SHA1 = "XXXXXX"; + self.SHA256 = string.Empty; + self.SpamSum = string.Empty; bool actual = self.HasHashes(); Assert.True(actual); @@ -126,10 +126,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SHA256_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.MD5 = string.Empty; + self.SHA1 = string.Empty; + self.SHA256 = "XXXXXX"; + self.SpamSum = string.Empty; bool actual = self.HasHashes(); Assert.True(actual); @@ -139,10 +139,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_SpamSum_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); + self.MD5 = string.Empty; + self.SHA1 = string.Empty; + self.SHA256 = string.Empty; + self.SpamSum = "XXXXXX"; bool actual = self.HasHashes(); Assert.True(actual); @@ -152,10 +152,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasHashes_All_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); + self.MD5 = "XXXXXX"; + self.SHA1 = "XXXXXX"; + self.SHA256 = "XXXXXX"; + self.SpamSum = "XXXXXX"; bool actual = self.HasHashes(); Assert.True(actual); @@ -177,10 +177,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_NonZeroHash_False() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SHA1Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SHA256Key, "XXXXXX"); - self.Write(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX"); + self.MD5 = "XXXXXX"; + self.SHA1 = "XXXXXX"; + self.SHA256 = "XXXXXX"; + self.SpamSum = "XXXXXX"; bool actual = self.HasZeroHash(); Assert.False(actual); @@ -190,10 +190,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroMD5_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); - self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.MD5 = HashType.MD5.ZeroString; + self.SHA1 = string.Empty; + self.SHA256 = string.Empty; + self.SpamSum = string.Empty; bool actual = self.HasZeroHash(); Assert.True(actual); @@ -203,10 +203,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA1_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); - self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.MD5 = string.Empty; + self.SHA1 = HashType.SHA1.ZeroString; + self.SHA256 = string.Empty; + self.SpamSum = string.Empty; bool actual = self.HasZeroHash(); Assert.True(actual); @@ -216,10 +216,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSHA256_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); - self.Write(Data.Models.Metadata.Media.SpamSumKey, string.Empty); + self.MD5 = string.Empty; + self.SHA1 = string.Empty; + self.SHA256 = HashType.SHA256.ZeroString; + self.SpamSum = string.Empty; bool actual = self.HasZeroHash(); Assert.True(actual); @@ -229,10 +229,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroSpamSum_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA1Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SHA256Key, string.Empty); - self.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); + self.MD5 = string.Empty; + self.SHA1 = string.Empty; + self.SHA256 = string.Empty; + self.SpamSum = HashType.SpamSum.ZeroString; bool actual = self.HasZeroHash(); Assert.True(actual); @@ -242,10 +242,10 @@ namespace SabreTools.Metadata.DatItems.Formats.Test public void HasZeroHash_ZeroAll_True() { Media self = new Media(); - self.Write(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString); - self.Write(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString); - self.Write(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString); - self.Write(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString); + self.MD5 = HashType.MD5.ZeroString; + self.SHA1 = HashType.SHA1.ZeroString; + self.SHA256 = HashType.SHA256.ZeroString; + self.SpamSum = HashType.SpamSum.ZeroString; bool actual = self.HasZeroHash(); Assert.True(actual); @@ -308,12 +308,13 @@ namespace SabreTools.Metadata.DatItems.Formats.Test Machine machine = new Machine(); machine.Name = "Machine"; - DatItem datItem = new Media(); - datItem.Write(Data.Models.Metadata.Media.MD5Key, "DEADBEEF"); - datItem.Write(Data.Models.Metadata.Media.SHA1Key, "DEADBEEF"); - datItem.Write(Data.Models.Metadata.Media.SHA256Key, "DEADBEEF"); - datItem.Write(Data.Models.Metadata.Media.SpamSumKey, "DEADBEEF"); - + DatItem datItem = new Media + { + MD5 = "DEADBEEF", + SHA1 = "DEADBEEF", + SHA256 = "DEADBEEF", + SpamSum = "DEADBEEF" + }; string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename); Assert.Equal(expected, actual); } diff --git a/SabreTools.Metadata.DatItems/Formats/Media.cs b/SabreTools.Metadata.DatItems/Formats/Media.cs index 75bc3f0c..fc949752 100644 --- a/SabreTools.Metadata.DatItems/Formats/Media.cs +++ b/SabreTools.Metadata.DatItems/Formats/Media.cs @@ -13,6 +13,12 @@ namespace SabreTools.Metadata.DatItems.Formats { #region Fields + public string? MD5 + { + get => (_internal as Data.Models.Metadata.Media)?.MD5; + set => (_internal as Data.Models.Metadata.Media)?.MD5 = value; + } + /// /> public override Data.Models.Metadata.ItemType ItemType => Data.Models.Metadata.ItemType.Media; @@ -23,6 +29,24 @@ namespace SabreTools.Metadata.DatItems.Formats set => (_internal as Data.Models.Metadata.Media)?.Name = value; } + public string? SHA1 + { + get => (_internal as Data.Models.Metadata.Media)?.SHA1; + set => (_internal as Data.Models.Metadata.Media)?.SHA1 = value; + } + + public string? SHA256 + { + get => (_internal as Data.Models.Metadata.Media)?.SHA256; + set => (_internal as Data.Models.Metadata.Media)?.SHA256 = value; + } + + public string? SpamSum + { + get => (_internal as Data.Models.Metadata.Media)?.SpamSum; + set => (_internal as Data.Models.Metadata.Media)?.SpamSum = value; + } + #endregion #region Constructors @@ -37,17 +61,14 @@ namespace SabreTools.Metadata.DatItems.Formats DupeType = 0x00; // Process hash values - string? md5 = ReadString(Data.Models.Metadata.Media.MD5Key); - if (md5 is not null) - Write(Data.Models.Metadata.Media.MD5Key, TextHelper.NormalizeMD5(md5)); + if (MD5 is not null) + MD5 = TextHelper.NormalizeMD5(MD5); - string? sha1 = ReadString(Data.Models.Metadata.Media.SHA1Key); - if (sha1 is not null) - Write(Data.Models.Metadata.Media.SHA1Key, TextHelper.NormalizeSHA1(sha1)); + if (SHA1 is not null) + SHA1 = TextHelper.NormalizeSHA1(SHA1); - string? sha256 = ReadString(Data.Models.Metadata.Media.SHA256Key); - if (sha256 is not null) - Write(Data.Models.Metadata.Media.SHA256Key, TextHelper.NormalizeSHA256(sha256)); + if (SHA256 is not null) + SHA256 = TextHelper.NormalizeSHA256(SHA256); } public Media(Data.Models.Metadata.Media item, Machine machine, Source source) : this(item) @@ -117,19 +138,19 @@ namespace SabreTools.Metadata.DatItems.Formats switch (bucketedBy) { case ItemKey.MD5: - key = ReadString(Data.Models.Metadata.Media.MD5Key); + key = MD5; break; case ItemKey.SHA1: - key = ReadString(Data.Models.Metadata.Media.SHA1Key); + key = SHA1; break; case ItemKey.SHA256: - key = ReadString(Data.Models.Metadata.Media.SHA256Key); + key = SHA256; break; case ItemKey.SpamSum: - key = ReadString(Data.Models.Metadata.Media.SpamSumKey); + key = SpamSum; break; // Let the base handle generic stuff diff --git a/SabreTools.Metadata.Filter/FilterObject.cs b/SabreTools.Metadata.Filter/FilterObject.cs index 486430f2..77230f7f 100644 --- a/SabreTools.Metadata.Filter/FilterObject.cs +++ b/SabreTools.Metadata.Filter/FilterObject.cs @@ -752,6 +752,19 @@ namespace SabreTools.Metadata.Filter checkValue = item.Supported?.AsStringValue(); return true; + case Media item when fieldName == "md5": + checkValue = item.MD5; + return true; + case Media item when fieldName == "sha1": + checkValue = item.SHA1; + return true; + case Media item when fieldName == "sha256": + checkValue = item.SHA256; + return true; + case Media item when fieldName == "spamsum": + checkValue = item.SpamSum; + return true; + case Original item when fieldName == "content": checkValue = item.Content; return true; diff --git a/SabreTools.Metadata.Test/DictionaryBaseExtensionsTests.cs b/SabreTools.Metadata.Test/DictionaryBaseExtensionsTests.cs index fcc21628..6843ca01 100644 --- a/SabreTools.Metadata.Test/DictionaryBaseExtensionsTests.cs +++ b/SabreTools.Metadata.Test/DictionaryBaseExtensionsTests.cs @@ -125,18 +125,18 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = string.Empty, + MD5 = "XXXXXX", + SHA1 = string.Empty, + SHA256 = "XXXXXX", + SpamSum = string.Empty, }; DictionaryBase other = new Media { Name = "name", - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = "XXXXXX", + MD5 = string.Empty, + SHA1 = "XXXXXX", + SHA256 = string.Empty, + SpamSum = "XXXXXX", }; bool actual = self.EqualTo(other); @@ -149,18 +149,18 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = string.Empty, + MD5 = "XXXXXX", + SHA1 = string.Empty, + SHA256 = string.Empty, + SpamSum = string.Empty, }; DictionaryBase other = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.EqualTo(other); @@ -173,18 +173,18 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Media { Name = "name", - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = string.Empty, + MD5 = string.Empty, + SHA1 = "XXXXXX", + SHA256 = string.Empty, + SpamSum = string.Empty, }; DictionaryBase other = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.EqualTo(other); @@ -197,18 +197,18 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Media { Name = "name", - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = string.Empty, + MD5 = string.Empty, + SHA1 = string.Empty, + SHA256 = "XXXXXX", + SpamSum = string.Empty, }; DictionaryBase other = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.EqualTo(other); @@ -221,18 +221,18 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Media { Name = "name", - [Media.MD5Key] = string.Empty, - [Media.SHA1Key] = string.Empty, - [Media.SHA256Key] = string.Empty, - [Media.SpamSumKey] = "XXXXXX", + MD5 = string.Empty, + SHA1 = string.Empty, + SHA256 = string.Empty, + SpamSum = "XXXXXX", }; DictionaryBase other = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.EqualTo(other); @@ -245,18 +245,18 @@ namespace SabreTools.Metadata.Test DictionaryBase self = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; DictionaryBase other = new Media { Name = "name", - [Media.MD5Key] = "XXXXXX", - [Media.SHA1Key] = "XXXXXX", - [Media.SHA256Key] = "XXXXXX", - [Media.SpamSumKey] = "XXXXXX", + MD5 = "XXXXXX", + SHA1 = "XXXXXX", + SHA256 = "XXXXXX", + SpamSum = "XXXXXX", }; bool actual = self.EqualTo(other); diff --git a/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs b/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs index 07d56805..e585e699 100644 --- a/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/ClrMameProTests.cs @@ -148,10 +148,10 @@ namespace SabreTools.Serialization.CrossModel.Test var media = new Data.Models.ClrMamePro.Media { Name = "name", - MD5 = "XXXXXX", - SHA1 = "XXXXXX", - SHA256 = "XXXXXX", - SpamSum = "XXXXXX", + MD5 = "md5", + SHA1 = "sha1", + SHA256 = "sha256", + SpamSum = "spamsum", }; var chip = new Data.Models.ClrMamePro.Chip @@ -427,10 +427,10 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(media); Assert.Equal("name", media.Name); - Assert.Equal("XXXXXX", media.MD5); - Assert.Equal("XXXXXX", media.SHA1); - Assert.Equal("XXXXXX", media.SHA256); - Assert.Equal("XXXXXX", media.SpamSum); + Assert.Equal("md5", media.MD5); + Assert.Equal("sha1", media.SHA1); + Assert.Equal("sha256", media.SHA256); + Assert.Equal("spamsum", media.SpamSum); } /// diff --git a/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs b/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs index b6b78d2c..9f86e1cc 100644 --- a/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/LogiqxTests.cs @@ -186,10 +186,10 @@ namespace SabreTools.Serialization.CrossModel.Test var media = new Data.Models.Logiqx.Media { Name = "name", - MD5 = "XXXXXX", - SHA1 = "XXXXXX", - SHA256 = "XXXXXX", - SpamSum = "XXXXXX", + MD5 = "md5", + SHA1 = "sha1", + SHA256 = "sha256", + SpamSum = "spamsum", }; var deviceRef = new Data.Models.Logiqx.DeviceRef @@ -510,10 +510,10 @@ namespace SabreTools.Serialization.CrossModel.Test { Assert.NotNull(media); Assert.Equal("name", media.Name); - Assert.Equal("XXXXXX", media.MD5); - Assert.Equal("XXXXXX", media.SHA1); - Assert.Equal("XXXXXX", media.SHA256); - Assert.Equal("XXXXXX", media.SpamSum); + Assert.Equal("md5", media.MD5); + Assert.Equal("sha1", media.SHA1); + Assert.Equal("sha256", media.SHA256); + Assert.Equal("spamsum", media.SpamSum); } /// diff --git a/SabreTools.Serialization.CrossModel.Test/SeparatedValueTests.cs b/SabreTools.Serialization.CrossModel.Test/SeparatedValueTests.cs index 3afef91f..d9510877 100644 --- a/SabreTools.Serialization.CrossModel.Test/SeparatedValueTests.cs +++ b/SabreTools.Serialization.CrossModel.Test/SeparatedValueTests.cs @@ -61,10 +61,10 @@ namespace SabreTools.Serialization.CrossModel.Test GameDescription = "description", Type = "media", DiskName = "XXXXXX", - MD5 = "XXXXXX", - SHA1 = "XXXXXX", - SHA256 = "XXXXXX", - SpamSum = "XXXXXX", + MD5 = "md5", + SHA1 = "sha1", + SHA256 = "sha256", + SpamSum = "spamsum", }; var rom = new Data.Models.SeparatedValue.Row @@ -145,12 +145,12 @@ namespace SabreTools.Serialization.CrossModel.Test Assert.Equal("XXXXXX", row.DiskName); Assert.Null(row.Size); Assert.Null(row.CRC); - Assert.Equal("XXXXXX", row.MD5); - Assert.Equal("XXXXXX", row.SHA1); - Assert.Equal("XXXXXX", row.SHA256); + Assert.Equal("md5", row.MD5); + Assert.Equal("sha1", row.SHA1); + Assert.Equal("sha256", row.SHA256); Assert.Null(row.SHA384); Assert.Null(row.SHA512); - Assert.Equal("XXXXXX", row.SpamSum); + Assert.Equal("spamsum", row.SpamSum); Assert.Null(row.Status); } diff --git a/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs b/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs index 1b5748fd..fcce54b6 100644 --- a/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/ClrMamePro.Deserializer.cs @@ -247,10 +247,10 @@ namespace SabreTools.Serialization.CrossModel var media = new Media { Name = item.Name, - MD5 = item.ReadString(Data.Models.Metadata.Media.MD5Key), - SHA1 = item.ReadString(Data.Models.Metadata.Media.SHA1Key), - SHA256 = item.ReadString(Data.Models.Metadata.Media.SHA256Key), - SpamSum = item.ReadString(Data.Models.Metadata.Media.SpamSumKey), + MD5 = item.MD5, + SHA1 = item.SHA1, + SHA256 = item.SHA256, + SpamSum = item.SpamSum, }; return media; } diff --git a/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs b/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs index 7df8a8af..44565ac2 100644 --- a/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/ClrMamePro.Serializer.cs @@ -260,10 +260,10 @@ namespace SabreTools.Serialization.CrossModel var media = new Data.Models.Metadata.Media { Name = item.Name, - [Data.Models.Metadata.Media.MD5Key] = item.MD5, - [Data.Models.Metadata.Media.SHA1Key] = item.SHA1, - [Data.Models.Metadata.Media.SHA256Key] = item.SHA256, - [Data.Models.Metadata.Media.SpamSumKey] = item.SpamSum, + MD5 = item.MD5, + SHA1 = item.SHA1, + SHA256 = item.SHA256, + SpamSum = item.SpamSum, }; return media; } diff --git a/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs b/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs index a265cf11..152e1d59 100644 --- a/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/Logiqx.Deserializer.cs @@ -269,10 +269,10 @@ namespace SabreTools.Serialization.CrossModel var media = new Media { Name = item.Name, - MD5 = item.ReadString(Data.Models.Metadata.Media.MD5Key), - SHA1 = item.ReadString(Data.Models.Metadata.Media.SHA1Key), - SHA256 = item.ReadString(Data.Models.Metadata.Media.SHA256Key), - SpamSum = item.ReadString(Data.Models.Metadata.Media.SpamSumKey), + MD5 = item.MD5, + SHA1 = item.SHA1, + SHA256 = item.SHA256, + SpamSum = item.SpamSum, }; return media; } diff --git a/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs b/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs index ffb914f1..afe6f728 100644 --- a/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/Logiqx.Serializer.cs @@ -263,10 +263,10 @@ namespace SabreTools.Serialization.CrossModel var media = new Data.Models.Metadata.Media { Name = item.Name, - [Data.Models.Metadata.Media.MD5Key] = item.MD5, - [Data.Models.Metadata.Media.SHA1Key] = item.SHA1, - [Data.Models.Metadata.Media.SHA256Key] = item.SHA256, - [Data.Models.Metadata.Media.SpamSumKey] = item.SpamSum, + MD5 = item.MD5, + SHA1 = item.SHA1, + SHA256 = item.SHA256, + SpamSum = item.SpamSum, }; return media; } diff --git a/SabreTools.Serialization.CrossModel/SeparatedValue.Deserializer.cs b/SabreTools.Serialization.CrossModel/SeparatedValue.Deserializer.cs index 2d9c5377..acc2cfdc 100644 --- a/SabreTools.Serialization.CrossModel/SeparatedValue.Deserializer.cs +++ b/SabreTools.Serialization.CrossModel/SeparatedValue.Deserializer.cs @@ -114,12 +114,12 @@ namespace SabreTools.Serialization.CrossModel DiskName = item.Name, Size = null, CRC = null, - MD5 = item.ReadString(Data.Models.Metadata.Media.MD5Key), - SHA1 = item.ReadString(Data.Models.Metadata.Media.SHA1Key), - SHA256 = item.ReadString(Data.Models.Metadata.Media.SHA256Key), + MD5 = item.MD5, + SHA1 = item.SHA1, + SHA256 = item.SHA256, SHA384 = null, SHA512 = null, - SpamSum = item.ReadString(Data.Models.Metadata.Media.SpamSumKey), + SpamSum = item.SpamSum, }; return row; } diff --git a/SabreTools.Serialization.CrossModel/SeparatedValue.Serializer.cs b/SabreTools.Serialization.CrossModel/SeparatedValue.Serializer.cs index a3fb9f8e..89ce378a 100644 --- a/SabreTools.Serialization.CrossModel/SeparatedValue.Serializer.cs +++ b/SabreTools.Serialization.CrossModel/SeparatedValue.Serializer.cs @@ -97,10 +97,10 @@ namespace SabreTools.Serialization.CrossModel "media" => new Data.Models.Metadata.Media { Name = item.DiskName, - [Data.Models.Metadata.Media.MD5Key] = item.MD5, - [Data.Models.Metadata.Media.SHA1Key] = item.SHA1, - [Data.Models.Metadata.Media.SHA256Key] = item.SHA256, - [Data.Models.Metadata.Media.SpamSumKey] = item.SpamSum, + MD5 = item.MD5, + SHA1 = item.SHA1, + SHA256 = item.SHA256, + SpamSum = item.SpamSum, }, "rom" => new Data.Models.Metadata.Rom { diff --git a/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs b/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs index 088fc654..814a7f34 100644 --- a/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs +++ b/SabreTools.Serialization.Readers.Test/ClrMameProTests.cs @@ -265,10 +265,10 @@ namespace SabreTools.Serialization.Readers.Test var media = new Data.Models.ClrMamePro.Media { Name = "name", - MD5 = "XXXXXX", - SHA1 = "XXXXXX", - SHA256 = "XXXXXX", - SpamSum = "XXXXXX", + MD5 = "md5", + SHA1 = "sha1", + SHA256 = "sha256", + SpamSum = "spamsum", }; var chip = new Data.Models.ClrMamePro.Chip @@ -544,10 +544,10 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(media); Assert.Equal("name", media.Name); - Assert.Equal("XXXXXX", media.MD5); - Assert.Equal("XXXXXX", media.SHA1); - Assert.Equal("XXXXXX", media.SHA256); - Assert.Equal("XXXXXX", media.SpamSum); + Assert.Equal("md5", media.MD5); + Assert.Equal("sha1", media.SHA1); + Assert.Equal("sha256", media.SHA256); + Assert.Equal("spamsum", media.SpamSum); } /// diff --git a/SabreTools.Serialization.Readers.Test/LogiqxTests.cs b/SabreTools.Serialization.Readers.Test/LogiqxTests.cs index 0717566b..90eb74a1 100644 --- a/SabreTools.Serialization.Readers.Test/LogiqxTests.cs +++ b/SabreTools.Serialization.Readers.Test/LogiqxTests.cs @@ -251,10 +251,10 @@ namespace SabreTools.Serialization.Readers.Test var media = new Data.Models.Logiqx.Media { Name = "name", - MD5 = "XXXXXX", - SHA1 = "XXXXXX", - SHA256 = "XXXXXX", - SpamSum = "XXXXXX", + MD5 = "md5", + SHA1 = "sha1", + SHA256 = "sha256", + SpamSum = "spamsum", }; var deviceRef = new Data.Models.Logiqx.DeviceRef @@ -558,10 +558,10 @@ namespace SabreTools.Serialization.Readers.Test { Assert.NotNull(media); Assert.Equal("name", media.Name); - Assert.Equal("XXXXXX", media.MD5); - Assert.Equal("XXXXXX", media.SHA1); - Assert.Equal("XXXXXX", media.SHA256); - Assert.Equal("XXXXXX", media.SpamSum); + Assert.Equal("md5", media.MD5); + Assert.Equal("sha1", media.SHA1); + Assert.Equal("sha256", media.SHA256); + Assert.Equal("spamsum", media.SpamSum); } /// diff --git a/SabreTools.Serialization.Readers.Test/SeparatedValueTests.cs b/SabreTools.Serialization.Readers.Test/SeparatedValueTests.cs index 9a91d9fe..9b59072a 100644 --- a/SabreTools.Serialization.Readers.Test/SeparatedValueTests.cs +++ b/SabreTools.Serialization.Readers.Test/SeparatedValueTests.cs @@ -156,10 +156,10 @@ namespace SabreTools.Serialization.Readers.Test GameDescription = "description", Type = "media", DiskName = "XXXXXX", - MD5 = "XXXXXX", - SHA1 = "XXXXXX", - SHA256 = "XXXXXX", - SpamSum = "XXXXXX", + MD5 = "md5", + SHA1 = "sha1", + SHA256 = "sha256", + SpamSum = "spamsum", }; var rom = new Data.Models.SeparatedValue.Row @@ -252,14 +252,14 @@ namespace SabreTools.Serialization.Readers.Test Assert.Equal("XXXXXX", row.DiskName); Assert.Null(row.Size); Assert.NotNull(row.CRC); Assert.Empty(row.CRC); - Assert.Equal("XXXXXX", row.MD5); - Assert.Equal("XXXXXX", row.SHA1); - Assert.Equal("XXXXXX", row.SHA256); + Assert.Equal("md5", row.MD5); + Assert.Equal("sha1", row.SHA1); + Assert.Equal("sha256", row.SHA256); if (longHeader) { Assert.NotNull(row.SHA384); Assert.Empty(row.SHA384); Assert.NotNull(row.SHA512); Assert.Empty(row.SHA512); - Assert.Equal("XXXXXX", row.SpamSum); + Assert.Equal("spamsum", row.SpamSum); } else {