Files
SabreTools/SabreTools.Core.Test/Tools/TextHelperTests.cs
2025-01-04 19:47:39 -05:00

186 lines
8.5 KiB
C#

using SabreTools.Core.Tools;
using Xunit;
namespace SabreTools.Core.Test.Tools
{
public class TextHelperTests
{
#region NormalizeCharacters
// TODO: Write tests for NormalizeCharacters
#endregion
#region NormalizeCRC32
[Theory]
[InlineData(null, null)]
[InlineData("", "")]
[InlineData("-", "")]
[InlineData("_", "")]
[InlineData("0x", "")]
[InlineData("1234", "00001234")]
[InlineData("0x1234", "00001234")]
[InlineData("1234ABCDE", "")]
[InlineData("0x1234ABCDE", "")]
[InlineData("1234ABCD", "1234abcd")]
[InlineData("0x1234ABCD", "1234abcd")]
[InlineData("abcdefgh", "")]
[InlineData("0xabcdefgh", "")]
public void NormalizeCRC32Test(string? hash, string? expected)
{
string? actual = TextHelper.NormalizeCRC32(hash);
Assert.Equal(expected, actual);
}
#endregion
#region NormalizeMD5
[Theory]
[InlineData(null, null)]
[InlineData("", "")]
[InlineData("-", "")]
[InlineData("_", "")]
[InlineData("0x", "")]
[InlineData("1234", "00000000000000000000000000001234")]
[InlineData("0x1234", "00000000000000000000000000001234")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd")]
[InlineData("abcdefghabcdefghabcdefghabcdefgh", "")]
[InlineData("0xabcdefghabcdefghabcdefghabcdefgh", "")]
public void NormalizeMD5Test(string? hash, string? expected)
{
string? actual = TextHelper.NormalizeMD5(hash);
Assert.Equal(expected, actual);
}
#endregion
#region NormalizeSHA1
[Theory]
[InlineData(null, null)]
[InlineData("", "")]
[InlineData("-", "")]
[InlineData("_", "")]
[InlineData("0x", "")]
[InlineData("1234", "0000000000000000000000000000000000001234")]
[InlineData("0x1234", "0000000000000000000000000000000000001234")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd1234abcd")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd1234abcd")]
[InlineData("abcdefghabcdefghabcdefghabcdefghabcdefgh", "")]
[InlineData("0xabcdefghabcdefghabcdefghabcdefghabcdefgh", "")]
public void NormalizeSHA1Test(string? hash, string? expected)
{
string? actual = TextHelper.NormalizeSHA1(hash);
Assert.Equal(expected, actual);
}
#endregion
#region NormalizeSHA256
[Theory]
[InlineData(null, null)]
[InlineData("", "")]
[InlineData("-", "")]
[InlineData("_", "")]
[InlineData("0x", "")]
[InlineData("1234", "0000000000000000000000000000000000000000000000000000000000001234")]
[InlineData("0x1234", "0000000000000000000000000000000000000000000000000000000000001234")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd")]
[InlineData("abcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefgh", "")]
[InlineData("0xabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefgh", "")]
public void NormalizeSHA256Test(string? hash, string? expected)
{
string? actual = TextHelper.NormalizeSHA256(hash);
Assert.Equal(expected, actual);
}
#endregion
#region NormalizeSHA384
[Theory]
[InlineData(null, null)]
[InlineData("", "")]
[InlineData("-", "")]
[InlineData("_", "")]
[InlineData("0x", "")]
[InlineData("1234", "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234")]
[InlineData("0x1234", "000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd")]
[InlineData("abcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefgh", "")]
[InlineData("0xabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefgh", "")]
public void NormalizeSHA384Test(string? hash, string? expected)
{
string? actual = TextHelper.NormalizeSHA384(hash);
Assert.Equal(expected, actual);
}
#endregion
#region NormalizeSHA512
[Theory]
[InlineData(null, null)]
[InlineData("", "")]
[InlineData("-", "")]
[InlineData("_", "")]
[InlineData("0x", "")]
[InlineData("1234", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234")]
[InlineData("0x1234", "00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001234")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCDE", "")]
[InlineData("1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd")]
[InlineData("0x1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD1234ABCD", "1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd")]
[InlineData("abcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefgh", "")]
[InlineData("0xabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefghabcdefgh", "")]
public void NormalizeSHA512Test(string? hash, string? expected)
{
string? actual = TextHelper.NormalizeSHA512(hash);
Assert.Equal(expected, actual);
}
#endregion
#region RemovePathUnsafeCharacters
[Theory]
[InlineData(null, "")]
[InlineData("", "")]
[InlineData("\0", "")]
public void RemovePathUnsafeCharactersTest(string? input, string expected)
{
string? actual = TextHelper.RemovePathUnsafeCharacters(input);
Assert.Equal(expected, actual);
}
#endregion
#region RemoveUnicodeCharacters
[Theory]
[InlineData(null, "")]
[InlineData("", "")]
[InlineData("Ā", "")]
public void RemoveUnicodeCharactersTest(string? input, string expected)
{
string? actual = TextHelper.RemoveUnicodeCharacters(input);
Assert.Equal(expected, actual);
}
#endregion
}
}