Exemple #1
0
        public void GetRankTest()
        {
            for (var _ = 0; _ < 100; _++)
            {
                var num  = 100;
                var list = new SortSet <int, int>();
                var lst  = new List <int>();
                var rand = new System.Random();

                for (var i = 0; i < num; i++)
                {
                    if (rand.NextDouble() < 0.1)
                    {
                        lst.Add(i);
                    }
                    list.Add(i, i);
                }

                foreach (var n in lst)
                {
                    if (list.GetRank(n) != n)
                    {
                        Assert.Fail();
                    }
                }

                Assert.AreEqual(-1, list.GetRank(-1));
            }
        }
Exemple #2
0
        public void TestRank()
        {
            var n = 100;

            while (n-- > 0)
            {
                var sortSets = new SortSet <int, int>();

                sortSets.Add(1000, 85);
                sortSets.Add(999, 75);
                sortSets.Add(998, 185);
                sortSets.Add(997, 85);
                sortSets.Add(996, 185);
                sortSets.Add(995, 85);

                Assert.AreEqual(1, sortSets.GetRank(995));
                Assert.AreEqual(995, sortSets.GetElementByRank(1));
                Assert.AreEqual(997, sortSets.GetElementByRank(2));
                Assert.AreEqual(1000, sortSets.GetElementByRank(3));
                Assert.AreEqual(996, sortSets.GetElementByRank(4));
                Assert.AreEqual(998, sortSets.GetElementByRank(5));

                var i     = 100;
                var faild = 0;
                while (i-- > 0)
                {
                    Assert.AreEqual(3, sortSets.GetRangeCount(80, 90));
                }
                Console.WriteLine(faild);
            }
        }
Exemple #3
0
        public void GetRankOverflowTest()
        {
            var master = new SortSet <int, int>();

            master.Add(10, 100);

            Assert.AreEqual(-1, master.GetRank(100));
        }
Exemple #4
0
        public void TestRank()
        {
            var sortSets = new SortSet <int, int>();

            sortSets.Add(1000, 85);
            sortSets.Add(999, 75);
            sortSets.Add(998, 185);
            sortSets.Add(997, 85);
            sortSets.Add(996, 185);
            sortSets.Add(995, 85);

            Assert.AreEqual(1, sortSets.GetRank(995));
            Assert.AreEqual(995, sortSets.GetElementByRank(1));
            Assert.AreEqual(997, sortSets.GetElementByRank(2));
            Assert.AreEqual(1000, sortSets.GetElementByRank(3));
            Assert.AreEqual(996, sortSets.GetElementByRank(4));
            Assert.AreEqual(998, sortSets.GetElementByRank(5));

            Assert.AreEqual(3, sortSets.GetRangeCount(80, 90));
        }
Exemple #5
0
        public void ClearTest()
        {
            var master = new SortSet <int, int>(0.25, 32);

            for (var i = 0; i < 65536; i++)
            {
                master.Add(i, i);
            }
            master.Clear();
            for (var i = 0; i < 65536; i++)
            {
                master.Add(i, i);
            }

            for (var i = 0; i < 65536; i++)
            {
                Assert.AreEqual(i, master.GetRank(i));
            }

            Assert.AreEqual(65536, master.Count);
        }