public void JenkinsLookup3_32bit_ComputeHash_ExtremelyLongStream_Works() { byte[] knownValue; { var loremIpsumRepeatCount = 800; var loremIpsumLength = TestConstants.LoremIpsum.Length; knownValue = new byte[loremIpsumLength * loremIpsumRepeatCount]; for (var x = 0; x < loremIpsumRepeatCount; ++x) { Array.Copy(TestConstants.LoremIpsum, 0, knownValue, loremIpsumLength * x, loremIpsumLength); } } var jenkinsLookup3 = new JenkinsLookup3_Implementation( new JenkinsLookup3Config() { HashSizeInBits = 32 }); var resultBytes = jenkinsLookup3.ComputeHash(knownValue); Assert.Equal( 0x85c64fdU, BitConverter.ToUInt32(resultBytes.Hash, 0)); }
public void JenkinsLookup3_Implementation_ComputeHash_HashSizeInBits_MagicallyInvalid_Throws() { var jenkinsLookupConfigMock = new Mock <IJenkinsLookup3Config>(); { var readCount = 0; jenkinsLookupConfigMock.SetupGet(jlc => jlc.HashSizeInBits) .Returns(() => { readCount += 1; if (readCount == 1) { return(32); } return(33); }); jenkinsLookupConfigMock.Setup(jlc => jlc.Clone()) .Returns(() => jenkinsLookupConfigMock.Object); } var jenkinsLookup3 = new JenkinsLookup3_Implementation(jenkinsLookupConfigMock.Object); Assert.Throws <NotImplementedException>( () => jenkinsLookup3.ComputeHash(new byte[1])); }