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"); }
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)); } }