public void AddHashCodes() { var store = new HashStore(new[] { 123, 456, 123, 456, 789, 123, 123 }); Assert.AreEqual(7, store.Result.StatisticalPopulation); Assert.AreEqual(4, store[123]); Assert.AreEqual(2, store[456]); Assert.AreEqual(1, store[789]); Assert.AreEqual(0, store[666]); }
public void DistributionDeviationProbability(double expectedProbability, IEnumerable<int> hashes) { var store = new HashStore(hashes); double actual = store.Result.UniformDistributionDeviationProbability; Assert.AreApproximatelyEqual(expectedProbability, actual, 0.000001); }
public void CalculateCollisionProbabilityWithHighLoad() { var store = new HashStore(GenerateHashLoad(Enumerable.Range(0, 10000), 5000)); double actualProbability = store.Result.CollisionProbability; Assert.AreApproximatelyEqual(9.998E-5, actualProbability, 1E-5); }
public void CalculateCollisionProbability(double expectedProbability, IEnumerable<int> hashes) { var store = new HashStore(hashes); double actualProbability = store.Result.CollisionProbability; Assert.AreApproximatelyEqual(expectedProbability, actualProbability, 0.0001); }