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)); } }
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); }
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); } }