Exemple #1
0
        public async Task CityHash_Implementation_ComputeHashInternal_WhenInvalidHashSize_Throws()
        {
            var shouldReturnValidHashSize = true;

            var cityHashConfigMock = new Mock <ICityHashConfig>();
            {
                cityHashConfigMock.SetupGet(chc => chc.HashSizeInBits)
                .Returns(() => shouldReturnValidHashSize ? 32 : 1);

                cityHashConfigMock.Setup(chc => chc.Clone())
                .Returns(() => cityHashConfigMock.Object);
            }


            var cityHash = new CityHash_Implementation(cityHashConfigMock.Object);

            shouldReturnValidHashSize = false;

            Assert.Throws <NotImplementedException>(
                () => cityHash.ComputeHash(new byte[0]));

            using (var memoryStream = new MemoryStream(new byte[0]))
            {
                Assert.Throws <NotImplementedException>(
                    () => cityHash.ComputeHash(memoryStream));

                await Assert.ThrowsAsync <NotImplementedException>(
                    () => cityHash.ComputeHashAsync(memoryStream));
            }
        }
Exemple #2
0
        public void CityHash_Implementation_Config_IsCloneOfClone()
        {
            var cityHashConfig3 = Mock.Of <ICityHashConfig>();
            var cityHashConfig2 = Mock.Of <ICityHashConfig>(chc => chc.HashSizeInBits == 32 && chc.Clone() == cityHashConfig3);
            var cityHashConfig  = Mock.Of <ICityHashConfig>(chc => chc.Clone() == cityHashConfig2);


            var cityHashHash = new CityHash_Implementation(cityHashConfig);

            Assert.Equal(cityHashConfig3, cityHashHash.Config);
        }
Exemple #3
0
        public void CityHash_Implementation_HashSizeInBits_MatchesConfig()
        {
            var validHashSizes = new[] { 32, 64, 128 };

            foreach (var hashSize in validHashSizes)
            {
                var cityHashConfigMock = new Mock <ICityHashConfig>();
                {
                    cityHashConfigMock.SetupGet(chc => chc.HashSizeInBits)
                    .Returns(hashSize);

                    cityHashConfigMock.Setup(chc => chc.Clone())
                    .Returns(() => cityHashConfigMock.Object);
                }


                var cityHash = new CityHash_Implementation(cityHashConfigMock.Object);

                Assert.Equal(hashSize, cityHash.HashSizeInBits);
            }
        }