mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-09-22 06:45:11 +00:00
Port metadata functionality from ST
This commit is contained in:
269
SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs
Normal file
269
SabreTools.Metadata.DatItems.Test/Formats/DiskTests.cs
Normal file
@@ -0,0 +1,269 @@
|
||||
using SabreTools.Hashing;
|
||||
using Xunit;
|
||||
|
||||
namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
public class DiskTests
|
||||
{
|
||||
#region ConvertToRom
|
||||
|
||||
[Fact]
|
||||
public void ConvertToRomTest()
|
||||
{
|
||||
DiskArea diskArea = new DiskArea();
|
||||
diskArea.SetName("XXXXXX");
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "XXXXXX");
|
||||
|
||||
Part part = new Part();
|
||||
part.SetName("XXXXXX");
|
||||
|
||||
Source source = new Source(0, "XXXXXX");
|
||||
|
||||
Disk disk = new Disk();
|
||||
disk.SetName("XXXXXX");
|
||||
disk.SetFieldValue(Disk.DiskAreaKey, diskArea);
|
||||
disk.SetFieldValue(Data.Models.Metadata.Disk.MergeKey, "XXXXXX");
|
||||
disk.SetFieldValue(Data.Models.Metadata.Disk.RegionKey, "XXXXXX");
|
||||
disk.SetFieldValue(Data.Models.Metadata.Disk.StatusKey, "good");
|
||||
disk.SetFieldValue(Data.Models.Metadata.Disk.OptionalKey, "XXXXXX");
|
||||
disk.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString);
|
||||
disk.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString);
|
||||
disk.SetFieldValue(DatItem.DupeTypeKey, DupeType.All | DupeType.External);
|
||||
disk.SetFieldValue(DatItem.MachineKey, machine);
|
||||
disk.SetFieldValue(Disk.PartKey, part);
|
||||
disk.SetFieldValue(DatItem.RemoveKey, (bool?)false);
|
||||
disk.SetFieldValue(DatItem.SourceKey, source);
|
||||
|
||||
Rom actual = disk.ConvertToRom();
|
||||
|
||||
Assert.Equal("XXXXXX.chd", actual.GetName());
|
||||
Assert.Equal("XXXXXX", actual.GetStringFieldValue(Data.Models.Metadata.Rom.MergeKey));
|
||||
Assert.Equal("XXXXXX", actual.GetStringFieldValue(Data.Models.Metadata.Rom.RegionKey));
|
||||
Assert.Equal("good", actual.GetStringFieldValue(Data.Models.Metadata.Rom.StatusKey));
|
||||
Assert.Equal("XXXXXX", actual.GetStringFieldValue(Data.Models.Metadata.Rom.OptionalKey));
|
||||
Assert.Equal(HashType.MD5.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key));
|
||||
Assert.Equal(HashType.SHA1.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key));
|
||||
Assert.Equal(DupeType.All | DupeType.External, actual.GetFieldValue<DupeType>(DatItem.DupeTypeKey));
|
||||
|
||||
DataArea? actualDataArea = actual.GetFieldValue<DataArea?>(Rom.DataAreaKey);
|
||||
Assert.NotNull(actualDataArea);
|
||||
Assert.Equal("XXXXXX", actualDataArea.GetStringFieldValue(Data.Models.Metadata.DataArea.NameKey));
|
||||
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("XXXXXX", actualMachine.GetName());
|
||||
|
||||
Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey));
|
||||
|
||||
Part? actualPart = actual.GetFieldValue<Part?>(Rom.PartKey);
|
||||
Assert.NotNull(actualPart);
|
||||
Assert.Equal("XXXXXX", actualPart.GetStringFieldValue(Data.Models.Metadata.Part.NameKey));
|
||||
|
||||
Source? actualSource = actual.GetFieldValue<Source?>(DatItem.SourceKey);
|
||||
Assert.NotNull(actualSource);
|
||||
Assert.Equal(0, actualSource.Index);
|
||||
Assert.Equal("XXXXXX", actualSource.Name);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region FillMissingInformation
|
||||
|
||||
[Fact]
|
||||
public void FillMissingInformation_BothEmpty()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
Disk other = new Disk();
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FillMissingInformation_AllMissing()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
|
||||
Disk other = new Disk();
|
||||
other.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX");
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Disk.MD5Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Disk.SHA1Key));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HasHashes
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_NoHash_False()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
bool actual = self.HasHashes();
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_MD5_True()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA1_True()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX");
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_All_True()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "XXXXXX");
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HasZeroHash
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_NoHash_True()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_NonZeroHash_False()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "DEADBEEF");
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "DEADBEEF");
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroMD5_True()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA1_True()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroAll_True()
|
||||
{
|
||||
Disk self = new Disk();
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, HashType.MD5.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, HashType.SHA1.ZeroString);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// TODO: Change when Machine retrieval gets fixed
|
||||
#region GetKey
|
||||
|
||||
[Theory]
|
||||
[InlineData(ItemKey.NULL, false, false, "")]
|
||||
[InlineData(ItemKey.NULL, false, true, "")]
|
||||
[InlineData(ItemKey.NULL, true, false, "")]
|
||||
[InlineData(ItemKey.NULL, true, true, "")]
|
||||
[InlineData(ItemKey.Machine, false, false, "0000000000-Machine")]
|
||||
[InlineData(ItemKey.Machine, false, true, "Machine")]
|
||||
[InlineData(ItemKey.Machine, true, false, "0000000000-machine")]
|
||||
[InlineData(ItemKey.Machine, true, true, "machine")]
|
||||
[InlineData(ItemKey.CRC, false, false, "00000000")]
|
||||
[InlineData(ItemKey.CRC, false, true, "00000000")]
|
||||
[InlineData(ItemKey.CRC, true, false, "00000000")]
|
||||
[InlineData(ItemKey.CRC, true, true, "00000000")]
|
||||
[InlineData(ItemKey.MD2, false, false, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, false, true, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, true, false, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, true, true, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD4, false, false, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, false, true, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, true, false, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, true, true, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD5, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD5, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD5, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.MD5, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA1, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA1, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, false, false, "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")]
|
||||
[InlineData(ItemKey.SHA256, false, true, "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")]
|
||||
[InlineData(ItemKey.SHA256, true, false, "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")]
|
||||
[InlineData(ItemKey.SHA256, true, true, "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")]
|
||||
[InlineData(ItemKey.SHA384, false, false, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, false, true, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, true, false, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, true, true, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA512, false, false, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, false, true, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, true, false, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, true, true, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SpamSum, false, false, "3::")]
|
||||
[InlineData(ItemKey.SpamSum, false, true, "3::")]
|
||||
[InlineData(ItemKey.SpamSum, true, false, "3::")]
|
||||
[InlineData(ItemKey.SpamSum, true, true, "3::")]
|
||||
public void GetKeyDBTest(ItemKey bucketedBy, bool lower, bool norename, string expected)
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine");
|
||||
|
||||
DatItem datItem = new Disk();
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Disk.MD5Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Disk.SHA1Key, "DEADBEEF");
|
||||
|
||||
string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
360
SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs
Normal file
360
SabreTools.Metadata.DatItems.Test/Formats/FileTests.cs
Normal file
@@ -0,0 +1,360 @@
|
||||
using SabreTools.Hashing;
|
||||
using Xunit;
|
||||
|
||||
namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
public class FileTests
|
||||
{
|
||||
#region ConvertToRom
|
||||
|
||||
[Fact]
|
||||
public void ConvertToRomTest()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "XXXXXX");
|
||||
|
||||
Source source = new Source(0, "XXXXXX");
|
||||
|
||||
var file = new File
|
||||
{
|
||||
Id = "XXXXXX",
|
||||
Extension = "XXXXXX",
|
||||
Size = 12345,
|
||||
CRC = "DEADBEEF",
|
||||
MD5 = "DEADBEEF",
|
||||
SHA1 = "DEADBEEF",
|
||||
SHA256 = "DEADBEEF",
|
||||
Format = "XXXXXX"
|
||||
};
|
||||
file.SetFieldValue(DatItem.DupeTypeKey, DupeType.All | DupeType.External);
|
||||
file.SetFieldValue(DatItem.MachineKey, machine);
|
||||
file.SetFieldValue(DatItem.RemoveKey, (bool?)false);
|
||||
file.SetFieldValue(DatItem.SourceKey, source);
|
||||
file.SetFieldValue(DatItem.MachineKey, machine);
|
||||
file.SetFieldValue(DatItem.SourceKey, source);
|
||||
|
||||
Rom actual = file.ConvertToRom();
|
||||
|
||||
Assert.Equal("XXXXXX.XXXXXX", actual.GetName());
|
||||
Assert.Equal(12345, actual.GetInt64FieldValue(Data.Models.Metadata.Rom.SizeKey));
|
||||
Assert.Equal("deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey));
|
||||
Assert.Equal("000000000000000000000000deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key));
|
||||
Assert.Equal("00000000000000000000000000000000deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key));
|
||||
Assert.Equal("00000000000000000000000000000000000000000000000000000000deadbeef", actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key));
|
||||
Assert.Equal(DupeType.All | DupeType.External, actual.GetFieldValue<DupeType>(DatItem.DupeTypeKey));
|
||||
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("XXXXXX", actualMachine.GetName());
|
||||
|
||||
Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey));
|
||||
|
||||
Source? actualSource = actual.GetFieldValue<Source?>(DatItem.SourceKey);
|
||||
Assert.NotNull(actualSource);
|
||||
Assert.Equal(0, actualSource.Index);
|
||||
Assert.Equal("XXXXXX", actualSource.Name);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region FillMissingInformation
|
||||
|
||||
[Fact]
|
||||
public void FillMissingInformation_BothEmpty()
|
||||
{
|
||||
File self = new File();
|
||||
File other = new File();
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
Assert.Null(self.Size);
|
||||
Assert.Null(self.CRC);
|
||||
Assert.Null(self.MD5);
|
||||
Assert.Null(self.SHA1);
|
||||
Assert.Null(self.SHA256);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FillMissingInformation_AllMissing()
|
||||
{
|
||||
File self = new File();
|
||||
|
||||
File other = new File
|
||||
{
|
||||
Size = 12345,
|
||||
CRC = "DEADBEEF",
|
||||
MD5 = "DEADBEEF",
|
||||
SHA1 = "DEADBEEF",
|
||||
SHA256 = "DEADBEEF",
|
||||
};
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
Assert.Equal(12345, self.Size);
|
||||
Assert.Equal("deadbeef", self.CRC);
|
||||
Assert.Equal("000000000000000000000000deadbeef", self.MD5);
|
||||
Assert.Equal("00000000000000000000000000000000deadbeef", self.SHA1);
|
||||
Assert.Equal("00000000000000000000000000000000000000000000000000000000deadbeef", self.SHA256);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HasHashes
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_NoHash_False()
|
||||
{
|
||||
File self = new File();
|
||||
bool actual = self.HasHashes();
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_CRC_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = "deadbeef",
|
||||
MD5 = string.Empty,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = string.Empty,
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_MD5_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = string.Empty,
|
||||
MD5 = "deadbeef",
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = string.Empty,
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA1_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = string.Empty,
|
||||
MD5 = string.Empty,
|
||||
SHA1 = "deadbeef",
|
||||
SHA256 = string.Empty,
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA256_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = string.Empty,
|
||||
MD5 = string.Empty,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = "deadbeef",
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_All_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = "deadbeef",
|
||||
MD5 = "deadbeef",
|
||||
SHA1 = "deadbeef",
|
||||
SHA256 = "deadbeef",
|
||||
};
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HasZeroHash
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_NoHash_True()
|
||||
{
|
||||
File self = new File();
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_NonZeroHash_False()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = "deadbeef",
|
||||
MD5 = "deadbeef",
|
||||
SHA1 = "deadbeef",
|
||||
SHA256 = "deadbeef",
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroCRC_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = HashType.CRC32.ZeroString,
|
||||
MD5 = string.Empty,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = string.Empty,
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroMD5_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = string.Empty,
|
||||
MD5 = HashType.MD5.ZeroString,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = string.Empty,
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA1_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = string.Empty,
|
||||
MD5 = string.Empty,
|
||||
SHA1 = HashType.SHA1.ZeroString,
|
||||
SHA256 = string.Empty,
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA256_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = string.Empty,
|
||||
MD5 = string.Empty,
|
||||
SHA1 = string.Empty,
|
||||
SHA256 = HashType.SHA256.ZeroString,
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroAll_True()
|
||||
{
|
||||
File self = new File
|
||||
{
|
||||
CRC = HashType.CRC32.ZeroString,
|
||||
MD5 = HashType.MD5.ZeroString,
|
||||
SHA1 = HashType.SHA1.ZeroString,
|
||||
SHA256 = HashType.SHA256.ZeroString,
|
||||
};
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// TODO: Change when Machine retrieval gets fixed
|
||||
#region GetKey
|
||||
|
||||
[Theory]
|
||||
[InlineData(ItemKey.NULL, false, false, "")]
|
||||
[InlineData(ItemKey.NULL, false, true, "")]
|
||||
[InlineData(ItemKey.NULL, true, false, "")]
|
||||
[InlineData(ItemKey.NULL, true, true, "")]
|
||||
[InlineData(ItemKey.Machine, false, false, "0000000000-Machine")]
|
||||
[InlineData(ItemKey.Machine, false, true, "Machine")]
|
||||
[InlineData(ItemKey.Machine, true, false, "0000000000-machine")]
|
||||
[InlineData(ItemKey.Machine, true, true, "machine")]
|
||||
[InlineData(ItemKey.CRC, false, false, "deadbeef")]
|
||||
[InlineData(ItemKey.CRC, false, true, "deadbeef")]
|
||||
[InlineData(ItemKey.CRC, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.CRC, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.MD2, false, false, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, false, true, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, true, false, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, true, true, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD4, false, false, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, false, true, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, true, false, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, true, true, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD5, false, false, "000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.MD5, false, true, "000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.MD5, true, false, "000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.MD5, true, true, "000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, false, false, "00000000000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, false, true, "00000000000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, true, false, "00000000000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, true, true, "00000000000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, false, false, "00000000000000000000000000000000000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, false, true, "00000000000000000000000000000000000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, true, false, "00000000000000000000000000000000000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, true, true, "00000000000000000000000000000000000000000000000000000000deadbeef")]
|
||||
[InlineData(ItemKey.SHA384, false, false, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, false, true, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, true, false, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, true, true, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA512, false, false, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, false, true, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, true, false, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, true, true, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SpamSum, false, false, "3::")]
|
||||
[InlineData(ItemKey.SpamSum, false, true, "3::")]
|
||||
[InlineData(ItemKey.SpamSum, true, false, "3::")]
|
||||
[InlineData(ItemKey.SpamSum, true, true, "3::")]
|
||||
public void GetKeyDBTest(ItemKey bucketedBy, bool lower, bool norename, string expected)
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine");
|
||||
|
||||
DatItem datItem = new File
|
||||
{
|
||||
CRC = "DEADBEEF",
|
||||
MD5 = "DEADBEEF",
|
||||
SHA1 = "DEADBEEF",
|
||||
SHA256 = "DEADBEEF",
|
||||
};
|
||||
|
||||
string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
323
SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs
Normal file
323
SabreTools.Metadata.DatItems.Test/Formats/MediaTests.cs
Normal file
@@ -0,0 +1,323 @@
|
||||
using SabreTools.Hashing;
|
||||
using Xunit;
|
||||
|
||||
namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
public class MediaTests
|
||||
{
|
||||
#region ConvertToRom
|
||||
|
||||
[Fact]
|
||||
public void ConvertToRomTest()
|
||||
{
|
||||
Machine machine = new Machine();
|
||||
machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "XXXXXX");
|
||||
|
||||
Source source = new Source(0, "XXXXXX");
|
||||
|
||||
Media media = new Media();
|
||||
media.SetName("XXXXXX");
|
||||
media.SetFieldValue(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString);
|
||||
media.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString);
|
||||
media.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString);
|
||||
media.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString);
|
||||
media.SetFieldValue(DatItem.DupeTypeKey, DupeType.All | DupeType.External);
|
||||
media.SetFieldValue(DatItem.MachineKey, machine);
|
||||
media.SetFieldValue(DatItem.RemoveKey, (bool?)false);
|
||||
media.SetFieldValue(DatItem.SourceKey, source);
|
||||
|
||||
Rom actual = media.ConvertToRom();
|
||||
|
||||
Assert.Equal("XXXXXX.aaruf", actual.GetName());
|
||||
Assert.Equal(HashType.MD5.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key));
|
||||
Assert.Equal(HashType.SHA1.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key));
|
||||
Assert.Equal(HashType.SHA256.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key));
|
||||
Assert.Equal(HashType.SpamSum.ZeroString, actual.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey));
|
||||
Assert.Equal(DupeType.All | DupeType.External, actual.GetFieldValue<DupeType>(DatItem.DupeTypeKey));
|
||||
|
||||
Machine? actualMachine = actual.GetMachine();
|
||||
Assert.NotNull(actualMachine);
|
||||
Assert.Equal("XXXXXX", actualMachine.GetName());
|
||||
|
||||
Assert.Equal(false, actual.GetBoolFieldValue(DatItem.RemoveKey));
|
||||
|
||||
Source? actualSource = actual.GetFieldValue<Source?>(DatItem.SourceKey);
|
||||
Assert.NotNull(actualSource);
|
||||
Assert.Equal(0, actualSource.Index);
|
||||
Assert.Equal("XXXXXX", actualSource.Name);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region FillMissingInformation
|
||||
|
||||
[Fact]
|
||||
public void FillMissingInformation_BothEmpty()
|
||||
{
|
||||
Media self = new Media();
|
||||
Media other = new Media();
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FillMissingInformation_AllMissing()
|
||||
{
|
||||
Media self = new Media();
|
||||
|
||||
Media other = new Media();
|
||||
other.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX");
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Media.MD5Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Media.SHA1Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Media.SHA256Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Media.SpamSumKey));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HasHashes
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_NoHash_False()
|
||||
{
|
||||
Media self = new Media();
|
||||
bool actual = self.HasHashes();
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_MD5_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA1_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA256_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SpamSum_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX");
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_All_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX");
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HasZeroHash
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_NoHash_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_NonZeroHash_False()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "XXXXXX");
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroMD5_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA1_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA256_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSpamSum_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroAll_True()
|
||||
{
|
||||
Media self = new Media();
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.MD5Key, HashType.MD5.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, HashType.SHA1.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, HashType.SHA256.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, HashType.SpamSum.ZeroString);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// TODO: Change when Machine retrieval gets fixed
|
||||
#region GetKey
|
||||
|
||||
[Theory]
|
||||
[InlineData(ItemKey.NULL, false, false, "")]
|
||||
[InlineData(ItemKey.NULL, false, true, "")]
|
||||
[InlineData(ItemKey.NULL, true, false, "")]
|
||||
[InlineData(ItemKey.NULL, true, true, "")]
|
||||
[InlineData(ItemKey.Machine, false, false, "0000000000-Machine")]
|
||||
[InlineData(ItemKey.Machine, false, true, "Machine")]
|
||||
[InlineData(ItemKey.Machine, true, false, "0000000000-machine")]
|
||||
[InlineData(ItemKey.Machine, true, true, "machine")]
|
||||
[InlineData(ItemKey.CRC, false, false, "00000000")]
|
||||
[InlineData(ItemKey.CRC, false, true, "00000000")]
|
||||
[InlineData(ItemKey.CRC, true, false, "00000000")]
|
||||
[InlineData(ItemKey.CRC, true, true, "00000000")]
|
||||
[InlineData(ItemKey.MD2, false, false, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, false, true, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, true, false, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD2, true, true, "8350e5a3e24c153df2275c9f80692773")]
|
||||
[InlineData(ItemKey.MD4, false, false, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, false, true, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, true, false, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD4, true, true, "31d6cfe0d16ae931b73c59d7e0c089c0")]
|
||||
[InlineData(ItemKey.MD5, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD5, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD5, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.MD5, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA1, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA1, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA256, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA256, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA384, false, false, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, false, true, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, true, false, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA384, true, true, "38b060a751ac96384cd9327eb1b1e36a21fdb71114be07434c0cc7bf63f6e1da274edebfe76f65fbd51ad2f14898b95b")]
|
||||
[InlineData(ItemKey.SHA512, false, false, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, false, true, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, true, false, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SHA512, true, true, "cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e")]
|
||||
[InlineData(ItemKey.SpamSum, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SpamSum, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SpamSum, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SpamSum, true, true, "deadbeef")]
|
||||
public void GetKeyDBTest(ItemKey bucketedBy, bool lower, bool norename, string expected)
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine");
|
||||
|
||||
DatItem datItem = new Media();
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Media.MD5Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Media.SHA1Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Media.SHA256Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Media.SpamSumKey, "DEADBEEF");
|
||||
|
||||
string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
672
SabreTools.Metadata.DatItems.Test/Formats/RomTests.cs
Normal file
672
SabreTools.Metadata.DatItems.Test/Formats/RomTests.cs
Normal file
@@ -0,0 +1,672 @@
|
||||
using SabreTools.Hashing;
|
||||
using Xunit;
|
||||
|
||||
namespace SabreTools.Metadata.DatItems.Formats.Test
|
||||
{
|
||||
public class RomTests
|
||||
{
|
||||
#region FillMissingInformation
|
||||
|
||||
[Fact]
|
||||
public void FillMissingInformation_BothEmpty()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
Rom other = new Rom();
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key));
|
||||
Assert.Null(self.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey));
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void FillMissingInformation_AllMissing()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
|
||||
Rom other = new Rom();
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX");
|
||||
other.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX");
|
||||
|
||||
self.FillMissingInformation(other);
|
||||
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.CRCKey));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.MD2Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.MD4Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.MD5Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA1Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA256Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA384Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SHA512Key));
|
||||
Assert.Equal("XXXXXX", self.GetStringFieldValue(Data.Models.Metadata.Rom.SpamSumKey));
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HasHashes
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_NoHash_False()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
bool actual = self.HasHashes();
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_CRC_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_MD2_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_MD4_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_MD5_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_RIPEMD128_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_RIPEMD160_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA1_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA256_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA384_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SHA512_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_SpamSum_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX");
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasHashes_All_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX");
|
||||
|
||||
bool actual = self.HasHashes();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HasZeroHash
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_NoHash_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_NonZeroHash_False()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "XXXXXX");
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "XXXXXX");
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.False(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroCRC_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroMD2_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, HashType.MD2.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroMD4_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, HashType.MD4.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroMD5_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroRIPEMD128_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, HashType.RIPEMD128.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroRIPEMD160_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, HashType.RIPEMD160.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA1_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA256_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, HashType.SHA256.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA384_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, HashType.SHA384.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSHA512_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, HashType.SHA512.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, string.Empty);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroSpamSum_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, string.Empty);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, HashType.SpamSum.ZeroString);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void HasZeroHash_ZeroAll_True()
|
||||
{
|
||||
Rom self = new Rom();
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, HashType.CRC32.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, HashType.MD2.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, HashType.MD4.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, HashType.MD5.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, HashType.RIPEMD128.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, HashType.RIPEMD160.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, HashType.SHA1.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, HashType.SHA256.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, HashType.SHA384.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, HashType.SHA512.ZeroString);
|
||||
self.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, HashType.SpamSum.ZeroString);
|
||||
|
||||
bool actual = self.HasZeroHash();
|
||||
Assert.True(actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
// TODO: Change when Machine retrieval gets fixed
|
||||
#region GetKey
|
||||
|
||||
[Theory]
|
||||
[InlineData(ItemKey.NULL, false, false, "")]
|
||||
[InlineData(ItemKey.NULL, false, true, "")]
|
||||
[InlineData(ItemKey.NULL, true, false, "")]
|
||||
[InlineData(ItemKey.NULL, true, true, "")]
|
||||
[InlineData(ItemKey.Machine, false, false, "0000000000-Machine")]
|
||||
[InlineData(ItemKey.Machine, false, true, "Machine")]
|
||||
[InlineData(ItemKey.Machine, true, false, "0000000000-machine")]
|
||||
[InlineData(ItemKey.Machine, true, true, "machine")]
|
||||
[InlineData(ItemKey.CRC, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.CRC, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.CRC, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.CRC, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.MD2, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD2, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD2, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.MD2, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.MD4, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD4, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD4, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.MD4, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.MD5, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD5, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.MD5, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.MD5, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.RIPEMD128, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.RIPEMD128, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.RIPEMD128, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.RIPEMD128, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.RIPEMD160, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.RIPEMD160, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.RIPEMD160, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.RIPEMD160, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA1, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA1, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA1, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA256, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA256, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA256, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA384, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA384, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA384, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA384, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA512, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA512, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SHA512, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SHA512, true, true, "deadbeef")]
|
||||
[InlineData(ItemKey.SpamSum, false, false, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SpamSum, false, true, "DEADBEEF")]
|
||||
[InlineData(ItemKey.SpamSum, true, false, "deadbeef")]
|
||||
[InlineData(ItemKey.SpamSum, true, true, "deadbeef")]
|
||||
public void GetKeyDBTest(ItemKey bucketedBy, bool lower, bool norename, string expected)
|
||||
{
|
||||
Source source = new Source(0);
|
||||
|
||||
Machine machine = new Machine();
|
||||
machine.SetFieldValue(Data.Models.Metadata.Machine.NameKey, "Machine");
|
||||
|
||||
DatItem datItem = new Rom();
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.CRCKey, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.MD2Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.MD4Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.MD5Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD128Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.RIPEMD160Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA1Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA256Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA384Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.SHA512Key, "DEADBEEF");
|
||||
datItem.SetFieldValue(Data.Models.Metadata.Rom.SpamSumKey, "DEADBEEF");
|
||||
|
||||
string actual = datItem.GetKey(bucketedBy, machine, source, lower, norename);
|
||||
Assert.Equal(expected, actual);
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user