1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- using Masuit.Tools.Security;
- using Xunit;
- namespace Masuit.Tools.Abstractions.Test.Security;
- public class Crc32Tests
- {
- [Fact]
- public void Crc32_DefaultConstructor_ShouldInitializeWithDefaultValues()
- {
- // Arrange & Act
- var crc32 = new Crc32();
- // Assert
- Assert.Equal(32, crc32.HashSize);
- }
- [Fact]
- public void Crc32_ParameterizedConstructor_ShouldInitializeWithGivenValues()
- {
- // Arrange
- uint polynomial = 0x04C11DB7;
- uint seed = 0xFFFFFFFF;
- // Act
- var crc32 = new Crc32(polynomial, seed);
- // Assert
- Assert.Equal(32, crc32.HashSize);
- }
- [Fact]
- public void HashFinal_ShouldReturnCorrectHash()
- {
- // Arrange
- var crc32 = new Crc32();
- var data = new byte[] { 1, 2, 3 };
- // Act
- crc32.ComputeHash(data);
- var hash = crc32.Hash;
- // Assert
- Assert.NotNull(hash);
- Assert.Equal(4, hash.Length);
- }
- [Fact]
- public void Compute_WithBuffer_ShouldReturnCorrectHash()
- {
- // Arrange
- var data = new byte[] { 1, 2, 3 };
- // Act
- var hash = Crc32.Compute(data);
- // Assert
- Assert.Equal((uint)1438416925, hash);
- }
- [Fact]
- public void Compute_WithSeedAndBuffer_ShouldReturnCorrectHash()
- {
- // Arrange
- var data = new byte[] { 1, 2, 3 };
- uint seed = 0xFFFFFFFF;
- // Act
- var hash = Crc32.Compute(seed, data);
- // Assert
- Assert.Equal((uint)1438416925, hash);
- }
- [Fact]
- public void Compute_WithPolynomialSeedAndBuffer_ShouldReturnCorrectHash()
- {
- // Arrange
- var data = new byte[] { 1, 2, 3 };
- uint polynomial = 0x04C11DB7;
- uint seed = 0xFFFFFFFF;
- // Act
- var hash = Crc32.Compute(polynomial, seed, data);
- // Assert
- Assert.Equal((uint)4185564129, hash);
- }
- }
|