public void NormalTest()
        {
            var services = new ServiceCollection();

            services.AddBloomFilter(setupAction =>
            {
                setupAction.UseInMemory();
            });

            var provider = services.BuildServiceProvider();

            var bf = provider.GetService <IBloomFilter>();

            var len   = 10;
            var array = new string[len];

            for (int i = 0; i < len; i++)
            {
                array[i] = Utilitiy.GenerateString(10);
            }

            Assert.All(bf.Add(array), r => Assert.True(r));
            Assert.All(bf.Contains(array), r => Assert.True(r));

            Assert.True(bf.All(array));

            bf.Clear();

            Assert.All(bf.Contains(array), r => Assert.False(r));
            Assert.False(bf.All(array));
        }
        private void buildTest(IBloomFilter bf)
        {
            var len   = 20;
            var array = new string[len];

            for (int i = 0; i < len; i++)
            {
                array[i] = Utilitiy.GenerateString(10);
            }

            Assert.All(bf.Add(array), r => Assert.True(r));
            Assert.All(bf.Contains(array), r => Assert.True(r));

            Assert.True(bf.All(array));

            bf.Clear();

            Assert.All(bf.Contains(array), r => Assert.False(r));
            Assert.False(bf.All(array));
        }
        public void NormalTest(HashMethod hashMethod)
        {
            var bf = FilterBuilder.Build(10000, 0.01, hashMethod);

            var len   = 10;
            var array = new string[len];

            for (int i = 0; i < len; i++)
            {
                array[i] = Utilitiy.GenerateString(10);
            }

            Assert.All(bf.Add(array), r => Assert.True(r));
            Assert.All(bf.Contains(array), r => Assert.True(r));

            Assert.True(bf.All(array));

            bf.Clear();

            Assert.All(bf.Contains(array), r => Assert.False(r));
            Assert.False(bf.All(array));
        }