public void IsAtMost_Thrown_Exception_Has_Correct_Message() { try { Insist.IsAtMost(10, 5, ARGUMENT_NAME, MESSAGE); } catch (ArgumentException e) { Assert.IsTrue(e.Message.Contains(MESSAGE)); } }
public void IsAtMost_Thrown_Exception_Has_Correct_Argument_Name() { try { Insist.IsAtMost(10, 5, ARGUMENT_NAME); } catch (ArgumentOutOfRangeException e) { Assert.AreEqual(ARGUMENT_NAME, e.ParamName); } }
/// <summary> /// Construct a new bloom filter that tracks the specified number of /// elements with the desired error rate. /// </summary> /// <param name="expectedNumberOfElements"> /// The number of items that this bloom filter is expected to track /// </param> /// <param name="errorRate"> /// The desired error rate for generating false positives. /// </param> /// <exception cref="System.ArgumentException"> /// Thrown if expectedNumberOfElements is less than 0, errorRate is less than 0 or /// errorRate is greater than 1. /// </exception> public BaseBloomFilter(int expectedNumberOfElements, double errorRate) { #region Input validation Insist.IsAtLeast(expectedNumberOfElements, 0, "expectedNumberOfElements"); Insist.IsAtLeast(errorRate, 0, "errorRate"); Insist.IsAtMost(errorRate, 1.0d, "errorRate"); #endregion _expectedNumberOfElements = expectedNumberOfElements; _errorRate = errorRate; _hashAlgorithm = new MurmurHash2(); _numberOfBuckets = (int)Math.Ceiling(1.1d * Math.Abs((((double)_expectedNumberOfElements) * Math.Log(errorRate)) / (Math.Pow(Math.Log(2), 2)))); _numberOfHashes = (int)(Math.Ceiling(0.7d * Math.Abs((double)(_numberOfBuckets / _expectedNumberOfElements)))); _bucketStorage = GetBucketStorage(_numberOfBuckets); _lock = new ReaderWriterLockSlim(); }
public void IsAtMost_Value_Within_Bounds_Does_Not_Throw_Exception() { Insist.IsAtMost(1, 5, ARGUMENT_NAME); }
public void IsAtMost_Value_Out_Of_Bounds_Throws_Exception() { Insist.IsAtMost(10, 5, ARGUMENT_NAME); }