mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-07-08 18:06:41 +00:00
Convert most of Media over to properties
This commit is contained in:
@@ -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);
|
||||
|
||||
@@ -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
|
||||
/// </summary>
|
||||
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
|
||||
/// </summary>
|
||||
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
|
||||
/// </summary>
|
||||
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;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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; }
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string MD5Key = "md5";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SHA1Key = "sha1";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SHA256Key = "sha256";
|
||||
|
||||
/// <remarks>string</remarks>
|
||||
public const string SpamSumKey = "spamsum";
|
||||
public string? SpamSum { get; set; }
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -284,10 +284,10 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
{
|
||||
var media = new Media();
|
||||
|
||||
media.Write<string?>(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString);
|
||||
media.Write<string?>(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString);
|
||||
media.Write<string?>(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString);
|
||||
media.Write<string?>(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;
|
||||
}
|
||||
|
||||
@@ -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),
|
||||
]));
|
||||
}
|
||||
|
||||
|
||||
@@ -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<string?>(Data.Models.Metadata.Media.SHA1Key, "deadbeef");
|
||||
|
||||
var dict = new ItemDictionaryDB();
|
||||
long sourceIndex = dict.AddSource(source);
|
||||
|
||||
@@ -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<string?>(Data.Models.Metadata.Media.SHA1Key, "deadbeef");
|
||||
media.Source = source;
|
||||
media.Machine = machine;
|
||||
|
||||
|
||||
@@ -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
|
||||
/// </summary>
|
||||
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}";
|
||||
|
||||
|
||||
@@ -359,10 +359,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
/// <param name="media">Item to add info from</param>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -488,10 +488,10 @@ namespace SabreTools.Metadata.DatFiles
|
||||
/// <param name="media">Item to remove info for</param>
|
||||
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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
/// <inheritdoc>/>
|
||||
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<string?>(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<string?>(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<string?>(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
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user