public void GenerateHash128_ForDifferentStringInputs_ProducesDifferentOutputs() { var inputs = TestGuids.Get().Select(g => g.ToString()).ToArray(); var outputs = inputs.Select(i => HashGenerator.GenerateHash128(i).ToString()).ToList(); outputs.Distinct().Count().Should().Be(inputs.Length); }
public async Task GenerateHash64AndGenerateHash64Async_SameArrayOfBytes_ProduceTheSameHash() { var inputs = TestGuids.Get().Select(g => g.ToByteArray()).ToArray(); foreach (var input in inputs) { var hash1 = HashGenerator.GenerateHash64(input); var hash2 = await HashGenerator.GenerateHash64Async(new MemoryStream(input)); hash1.ToString().Should().Be(hash2.ToString()); } }
public void GenerateHash128AndGenerateJsonHash128_SameSourceObject_ProduceTheSameHash() { var guids = TestGuids.Get(); for (var i = 0; i < guids.Length; i++) { var obj = new TestClass { A = i, B = new String(i.ToString()[0], i), C = guids[i] }; var json = JsonSerializer.Serialize(obj); var bytes = Encoding.ASCII.GetBytes(json); var bytesHash = HashGenerator.GenerateHash128(bytes); var jsonHash = HashGenerator.GenerateJsonHash128(obj); jsonHash.ToString().Should().Be(bytesHash.ToString()); } }