Ejemplo n.º 1
0
 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));
     }
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        /// <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();
        }
Ejemplo n.º 4
0
 public void IsAtMost_Value_Within_Bounds_Does_Not_Throw_Exception()
 {
     Insist.IsAtMost(1, 5, ARGUMENT_NAME);
 }
Ejemplo n.º 5
0
 public void IsAtMost_Value_Out_Of_Bounds_Throws_Exception()
 {
     Insist.IsAtMost(10, 5, ARGUMENT_NAME);
 }