Esempio n. 1
0
        public void testContainsAndAdd()
        {
            FastIDSet set = new FastIDSet();

            Assert.False(set.Contains(1));
            set.Add(1);
            Assert.True(set.Contains(1));
        }
Esempio n. 2
0
        public void testContains()
        {
            FastIDSet set = buildTestFastSet();

            Assert.True(set.Contains(1));
            Assert.True(set.Contains(2));
            Assert.True(set.Contains(3));
            Assert.False(set.Contains(4));
        }
Esempio n. 3
0
        public void testGrow()
        {
            FastIDSet set = new FastIDSet(1);

            set.Add(1);
            set.Add(2);
            Assert.True(set.Contains(1));
            Assert.True(set.Contains(2));
        }
Esempio n. 4
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());
                }
            }
        }
Esempio n. 5
0
        public void testRehash()
        {
            FastIDSet set = buildTestFastSet();

            set.Remove(1);
            set.Rehash();
            Assert.False(set.Contains(1));
        }
Esempio n. 6
0
        public void testReservedValues()
        {
            FastIDSet set = new FastIDSet();

            try {
                set.Add(Int64.MinValue);
                Assert.Fail("Should have thrown IllegalArgumentException");
            } catch (ArgumentException iae) { //IllegalArgumentException
                // good
            }
            Assert.False(set.Contains(Int64.MinValue));
            try {
                set.Add(long.MaxValue);
                Assert.Fail("Should have thrown IllegalArgumentException");
            } catch (ArgumentException iae) {
                // good
            }
            Assert.False(set.Contains(long.MaxValue));
        }
Esempio n. 7
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));
        }
Esempio n. 8
0
        public bool RetainAll(FastIDSet c)
        {
            bool changed = false;

            for (int i = 0; i < keys.Length; i++)
            {
                long k = keys[i];
                if (k != NULL && k != REMOVED && !c.Contains(k))
                {
                    keys[i] = REMOVED;
                    numEntries--;
                    changed = true;
                }
            }
            return(changed);
        }