public void Insert_ValidInput_Success()
        {
            int positives = 1000;
            // Arrange
            var filter = new CuckooFilter(2 * positives, 0.01);

            // Act
            for (int i = 0; i < positives; i++)
            {
                filter.Insert(i);
            }

            // Assert
            for (int i = 0; i < positives; i++)
            {
                Assert.That(filter.Contains(i), Is.True, $"{i} is not tested positive");
            }
            for (int i = positives; i < 2 * positives; i++)
            {
                Assert.That(filter.Contains(i), Is.False, $"{i} is a false positive");
            }
        }
        public void Remove_ValidInput_Success()
        {
            // Arrange
            int numElements = 10000;
            var filter      = new CuckooFilter(numElements, 0.01);

            // Act
            for (int i = 0; i < numElements; i++)
            {
                filter.Insert(i);
            }
            for (int i = 0; i < numElements; i++)
            {
                filter.Remove(i);
            }

            // Assert
            for (int i = 0; i < numElements; i++)
            {
                Assert.That(filter.Contains(i), Is.False, $"{i} is not removed");
            }
        }
 public ContentProviderCuckoo(ICache cache, IStorage storage)
 {
     _cache   = cache;
     _storage = storage;
     _cuckoo  = new CuckooFilter(1500000, 0.01);
 }