예제 #1
0
        static void TestBasic()
        {
            var dict = stackalloc PtrIntDict[1]; Init(dict);

            Set(dict, 1, (void *)1);
            Should.Equal("(int)Get(dict, 1)", (int)Get(dict, 1), 1);
            Remove(dict, 1);
            Should.Null("Get(dict, 1)", Get(dict, 1));
        }
예제 #2
0
        static void TestRandomSetGetRemove()
        {
            var dict    = stackalloc PtrIntDict[1]; Init(dict);
            var keyList = new System.Collections.Generic.List <int>();
            var valList = new System.Collections.Generic.List <int>();

            for (int i = 2; i < 100; i += 1)
            {
                int key = Fdb.Random(-0x8000000, 0x7fffffff);
                int val = Fdb.Random(-0x8000000, 0x7fffffff);
                if (val == 0)
                {
                    val = 1;
                }
                Set(dict, key, (void *)val);
                keyList.Add(key);
                valList.Add(val);
                for (int j = 0; j < keyList.Count; j += 1)
                {
                    Should.Equal("Get(dict, j)", (int)Get(dict, keyList[j]), valList[j]);
                }
            }
            for (int i = 0; i < keyList.Count; i += 1)
            {
                Remove(dict, keyList[i]);
                for (int j = 0; j < keyList.Count; j += 1)
                {
                    if (j <= i)
                    {
                        Should.Null("Get(dict, j)", Get(dict, keyList[j]));
                    }
                    else
                    {
                        Should.Equal("Get(dict, j)", (int)Get(dict, keyList[j]), valList[j]);
                    }
                }
            }
        }
예제 #3
0
        static void TestSetGetRemove()
        {
            var dict = stackalloc PtrIntDict[1]; Init(dict);

            for (int i = 2; i < 100; i += 1)
            {
                Set(dict, i, (void *)i);
            }
            for (int i = 2; i < 100; i += 1)
            {
                Remove(dict, i);
                for (int j = 2; j < 100; j += 1)
                {
                    if (j <= i)
                    {
                        Should.Null("Get(dict, j)", Get(dict, j));
                    }
                    else
                    {
                        Should.Equal("Get(dict, j)", (int)Get(dict, j), j);
                    }
                }
            }
        }