Esempio n. 1
0
        public void InsertionAfterClear()
        {
            var dict = new FastDictionary <int, int>(200);

            for (int i = 0; i < 100; i++)
            {
                dict[i] = i;
            }

            dict.Clear();

            Assert.Equal(0, dict.Count);
            Assert.Equal(256, dict.Capacity);

            for (int i = 0; i < 100; i += 10)
            {
                dict[i] = i;
            }


            for (int i = 0; i < 100; i++)
            {
                if (i % 10 == 0)
                {
                    Assert.True(dict.Contains(i));
                }
                else
                {
                    Assert.False(dict.Contains(i));
                }
            }
        }
Esempio n. 2
0
        public void ConsecutiveInsertsWithShrink()
        {
            var dict = new FastDictionary <int, int>();

            for (int i = 0; i < 100; i++)
            {
                dict[i] = i;
            }

            dict.Clear();

            for (int i = 0; i < 33; i++)
            {
                dict[i] = i;
            }

            dict.Remove(32);

            int value;

            Assert.True(dict.TryGetValue(0, out value));

            Assert.Equal(32, dict.Count);
            Assert.True(dict.Capacity > 32);
        }
Esempio n. 3
0
        public void Clear()
        {
            var dict = new FastDictionary <int, int>(200);

            for (int i = 0; i < 100; i++)
            {
                dict[i] = i;
            }

            dict.Clear();

            Assert.Equal(0, dict.Count);
            Assert.Equal(256, dict.Capacity);

            for (int i = 0; i < 100; i++)
            {
                Assert.False(dict.Contains(i));
            }
        }