예제 #1
0
        public void testSizeEmpty()
        {
            FastIDSet set = new FastIDSet();

            Assert.AreEqual(0, set.Count());
            Assert.True(set.IsEmpty());
            set.Add(1);
            Assert.AreEqual(1, set.Count());
            Assert.False(set.IsEmpty());
            set.Remove(1);
            Assert.AreEqual(0, set.Count());
            Assert.True(set.IsEmpty());
        }
예제 #2
0
        public void testVersusHashSet()
        {
            FastIDSet actual   = new FastIDSet(1);
            var       expected = new HashSet <int>(); //1000000
            var       r        = RandomUtils.getRandom();

            for (int i = 0; i < 1000000; i++)
            {
                double d   = r.nextDouble();
                var    key = r.nextInt(100);
                if (d < 0.4)
                {
                    Assert.AreEqual(expected.Contains(key), actual.Contains(key));
                }
                else
                {
                    if (d < 0.7)
                    {
                        Assert.AreEqual(expected.Add(key), actual.Add(key));
                    }
                    else
                    {
                        Assert.AreEqual(expected.Remove(key), actual.Remove(key));
                    }
                    Assert.AreEqual(expected.Count, actual.Count());
                    Assert.AreEqual(expected.Count == 0, actual.IsEmpty());
                }
            }
        }
예제 #3
0
        public void testClear()
        {
            FastIDSet set = new FastIDSet();

            set.Add(1);
            set.Clear();
            Assert.AreEqual(0, set.Count());
            Assert.True(set.IsEmpty());
            Assert.False(set.Contains(1));
        }