mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-21 22:35:06 +00:00
Add support for BLAKE3
This commit is contained in:
@@ -778,6 +778,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Bios = "bios",
|
||||
Bitrate = "bitrate",
|
||||
BitTorrentMagnetHash = "btih",
|
||||
BLAKE3 = HashType.BLAKE3.ZeroString,
|
||||
ClothCoverDetectionModuleVersion = "cloth_cover_detection_module_version",
|
||||
CollectionCatalogNumber = "collection-catalog-number",
|
||||
Comment = "comment",
|
||||
@@ -1450,6 +1451,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal("bios", rom.Bios);
|
||||
Assert.Equal("bitrate", rom.Bitrate);
|
||||
Assert.Equal("btih", rom.BitTorrentMagnetHash);
|
||||
Assert.Equal(HashType.BLAKE3.ZeroString, rom.BLAKE3);
|
||||
Assert.Equal("cloth_cover_detection_module_version", rom.ClothCoverDetectionModuleVersion);
|
||||
Assert.Equal("collection-catalog-number", rom.CollectionCatalogNumber);
|
||||
Assert.Equal("comment", rom.Comment);
|
||||
|
||||
@@ -1005,6 +1005,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal("bios", rom.Bios);
|
||||
Assert.Equal("bitrate", rom.Bitrate);
|
||||
Assert.Equal("btih", rom.BitTorrentMagnetHash);
|
||||
Assert.Equal(HashType.BLAKE3.ZeroString, rom.BLAKE3);
|
||||
Assert.Equal("cloth_cover_detection_module_version", rom.ClothCoverDetectionModuleVersion);
|
||||
Assert.Equal("collection-catalog-number", rom.CollectionCatalogNumber);
|
||||
Assert.Equal("comment", rom.Comment);
|
||||
|
||||
@@ -1396,7 +1396,8 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
SHA256 = "sha256",
|
||||
SHA384 = "sha384",
|
||||
SHA512 = "sha512",
|
||||
SpamSum = "spamsum"
|
||||
SpamSum = "spamsum",
|
||||
BLAKE3 = "blake3",
|
||||
};
|
||||
|
||||
string actual = DatFile.FormatPrefixPostfix(item, machine, fix);
|
||||
@@ -1514,7 +1515,8 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
SHA256 = "sha256",
|
||||
SHA384 = "sha384",
|
||||
SHA512 = "sha512",
|
||||
SpamSum = "spamsum"
|
||||
SpamSum = "spamsum",
|
||||
BLAKE3 = "blake3",
|
||||
};
|
||||
|
||||
string actual = DatFile.FormatPrefixPostfix(item, machine, fix);
|
||||
@@ -1550,6 +1552,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Null(rom.SHA384);
|
||||
Assert.Null(rom.SHA512);
|
||||
Assert.Null(rom.SpamSum);
|
||||
Assert.Null(rom.BLAKE3);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -1575,6 +1578,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Null(rom.SHA384);
|
||||
Assert.Null(rom.SHA512);
|
||||
Assert.Null(rom.SpamSum);
|
||||
Assert.Null(rom.BLAKE3);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
@@ -1594,7 +1598,8 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
SHA256 = "null",
|
||||
SHA384 = "null",
|
||||
SHA512 = "null",
|
||||
SpamSum = "null"
|
||||
SpamSum = "null",
|
||||
BLAKE3 = "null",
|
||||
};
|
||||
|
||||
DatItem actual = DatFile.ProcessNullifiedItem(item);
|
||||
@@ -1614,6 +1619,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(HashType.SHA384.ZeroString, rom.SHA384);
|
||||
Assert.Equal(HashType.SHA512.ZeroString, rom.SHA512);
|
||||
Assert.Equal(HashType.SpamSum.ZeroString, rom.SpamSum);
|
||||
Assert.Equal(HashType.BLAKE3.ZeroString, rom.BLAKE3);
|
||||
}
|
||||
|
||||
#endregion
|
||||
@@ -1955,6 +1961,19 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal($"_{hash}", actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetDuplicateSuffix_Rom_BLAKE3()
|
||||
{
|
||||
string hash = "hash";
|
||||
DatItem datItem = new Rom
|
||||
{
|
||||
BLAKE3 = hash
|
||||
};
|
||||
|
||||
string actual = DatFile.GetDuplicateSuffix(datItem);
|
||||
Assert.Equal($"_{hash}", actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void GetDuplicateSuffix_Other_Generic()
|
||||
{
|
||||
@@ -2434,7 +2453,8 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
SHA256 = "crc",
|
||||
SHA384 = "crc",
|
||||
SHA512 = "crc",
|
||||
SpamSum = "crc"
|
||||
SpamSum = "crc",
|
||||
BLAKE3 = "crc",
|
||||
};
|
||||
DatFile datFile = new Logiqx(null, useGame: false);
|
||||
|
||||
|
||||
@@ -60,6 +60,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SHA384));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SHA512));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SpamSum));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.BLAKE3));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.File));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Media));
|
||||
@@ -88,6 +89,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(1, stats.GetHashCount(HashType.SHA384));
|
||||
Assert.Equal(1, stats.GetHashCount(HashType.SHA512));
|
||||
Assert.Equal(2, stats.GetHashCount(HashType.SpamSum));
|
||||
Assert.Equal(1, stats.GetHashCount(HashType.BLAKE3));
|
||||
Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk));
|
||||
Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.File));
|
||||
Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Media));
|
||||
@@ -116,6 +118,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SHA384));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SHA512));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SpamSum));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.BLAKE3));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.File));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Media));
|
||||
@@ -151,6 +154,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SHA384));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SHA512));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SpamSum));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.BLAKE3));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.File));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Media));
|
||||
@@ -179,6 +183,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(1, stats.GetHashCount(HashType.SHA384));
|
||||
Assert.Equal(1, stats.GetHashCount(HashType.SHA512));
|
||||
Assert.Equal(2, stats.GetHashCount(HashType.SpamSum));
|
||||
Assert.Equal(1, stats.GetHashCount(HashType.BLAKE3));
|
||||
Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk));
|
||||
Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.File));
|
||||
Assert.Equal(1, stats.GetItemCount(Data.Models.Metadata.ItemType.Media));
|
||||
@@ -203,6 +208,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SHA384));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SHA512));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.SpamSum));
|
||||
Assert.Equal(0, stats.GetHashCount(HashType.BLAKE3));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Disk));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.File));
|
||||
Assert.Equal(0, stats.GetItemCount(Data.Models.Metadata.ItemType.Media));
|
||||
@@ -238,6 +244,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
Assert.Equal(1, newStats.GetHashCount(HashType.SHA384));
|
||||
Assert.Equal(1, newStats.GetHashCount(HashType.SHA512));
|
||||
Assert.Equal(1, newStats.GetHashCount(HashType.SpamSum));
|
||||
Assert.Equal(1, newStats.GetHashCount(HashType.BLAKE3));
|
||||
Assert.Equal(1, newStats.GetItemCount(Data.Models.Metadata.ItemType.Rom));
|
||||
Assert.Equal(1, newStats.GetStatusCount(ItemStatus.Good));
|
||||
}
|
||||
@@ -317,6 +324,7 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
rom.SHA384 = HashType.SHA384.ZeroString;
|
||||
rom.SHA512 = HashType.SHA512.ZeroString;
|
||||
rom.SpamSum = HashType.SpamSum.ZeroString;
|
||||
rom.BLAKE3 = HashType.BLAKE3.ZeroString;
|
||||
|
||||
return rom;
|
||||
}
|
||||
|
||||
@@ -700,6 +700,31 @@ namespace SabreTools.Metadata.DatFiles.Test
|
||||
]));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Blake3File_SupportedTypes()
|
||||
{
|
||||
var datFile = new Blake3File(null);
|
||||
var actual = datFile.SupportedTypes;
|
||||
Assert.True(actual.SequenceEqual([
|
||||
Data.Models.Metadata.ItemType.Rom,
|
||||
]));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void Blake3File_GetMissingRequiredFields_Rom()
|
||||
{
|
||||
var datItem = new Rom();
|
||||
var datFile = new Blake3File(null);
|
||||
|
||||
var actual = datFile.GetMissingRequiredFields(datItem);
|
||||
|
||||
Assert.NotNull(actual);
|
||||
Assert.True(actual.SequenceEqual([
|
||||
nameof(Data.Models.Metadata.Rom.Name),
|
||||
nameof(Data.Models.Metadata.Rom.BLAKE3),
|
||||
]));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Listrom
|
||||
|
||||
Reference in New Issue
Block a user