Ejemplo n.º 1
0
        public void Sort_Bug76361()
        {
            SortTestComparer comparer = new SortTestComparer();
            List <string>    l        = new List <string> ();

            l.Add("foo");
            l.Add("bar");
            l.Sort(comparer);
            Assert.AreEqual("bar", l[0], "0");
            Assert.AreEqual("foo", l[1], "1");
            Assert.AreEqual(2, l.Count, "Count");
        }
Ejemplo n.º 2
0
        public void SortTest()
        {
            int count = 100;
            LxList <SortTestData> list = new LxList <SortTestData>();
            var comparer = new SortTestComparer();

            for (int i = 0; i < count; ++i)
            {
                list.Add(new SortTestData {
                    Data = i
                }, comparer, true);
            }

            for (int i = 0; i < count; ++i)
            {
                Assert.AreEqual(count - i - 1, list.Get(i).Data);
            }


            int[] testInput = new int[]
            {
                9, 8, 7, 2, 33, 144, 22, 13, 44, 33
            };

            int[] testOuputUnique = new int[]
            {
                144, 44, 33, 22, 13, 9, 8, 7, 2
            };

            int[] testOuputNoUnique = new int[]
            {
                144, 44, 33, 33, 22, 13, 9, 8, 7, 2
            };

            list = new LxList <SortTestData>();
            LxList <int> subList = new LxList <int>();

            for (int i = 0; i < testInput.Length; ++i)
            {
                int insertIndex = list.Add(new SortTestData {
                    Data = testInput[i]
                }, comparer, true);
                if (insertIndex >= 0)
                {
                    subList.Insert(insertIndex, testInput[i]);
                }
            }

            Assert.AreEqual(subList.Count, list.Count);

            for (int i = 0; i < list.Count; ++i)
            {
                Assert.AreEqual(testOuputUnique[i], list.Get(i).Data);
                Assert.AreEqual(testOuputUnique[i], subList.Get(i));
            }

            list    = new LxList <SortTestData>();
            subList = new LxList <int>();
            for (int i = 0; i < testInput.Length; ++i)
            {
                int insertIndex = list.Add(new SortTestData {
                    Data = testInput[i]
                }, comparer, false);
                if (insertIndex >= 0)
                {
                    subList.Insert(insertIndex, testInput[i]);
                }
            }

            Assert.AreEqual(subList.Count, list.Count);
            for (int i = 0; i < list.Count; ++i)
            {
                Assert.AreEqual(testOuputNoUnique[i], list.Get(i).Data);
                Assert.AreEqual(testOuputNoUnique[i], subList.Get(i));
            }
        }