Beispiel #1
0
        public async Task JenkinsLookup3_Implementation_ComputeHashAsync_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);

            using (var memoryStream = new MemoryStream(new byte[1]))
            {
                await Assert.ThrowsAsync <NotImplementedException>(
                    () => jenkinsLookup3.ComputeHashAsync(memoryStream));
            }
        }
        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));
        }
Beispiel #3
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]));
        }