/// <summary> /// Сортировка массива элементов произвольного типа T /// </summary> /// <typeparam name="T"></typeparam> /// <param name="array"> Сортируемый массив </param> /// <param name="expected"> Ожидаемый результат сортировки</param> /// <param name="descendingOrder">Сортировка по возрастанию или убыванию</param> public void SortingTest <T>(T[] array, T[] expected, bool descendingOrder) { var comparator = new GenericComparator { DescendingOrder = descendingOrder }; var actual = BubbleSort.Sort(array, comparator.CompareObjects); Assert.AreEqual(expected.Length, actual.Length); CollectionAssert.AreEqual(expected, actual); }
public void EmptyIntArrayTest() { var array = new int[] {}; var comparator = new GenericComparator { DescendingOrder = false }; var actual = BubbleSort.Sort(array, comparator.CompareObjects); CollectionAssert.AreEqual(null, actual); }
private List<String> SortFileNames(List<String> fileNameList) { L.Log(LogType.FILE, LogLevel.DEBUG, " SortFileNames() -->> is STARTED "); var _fileNameList = new List<string>(); var fileNameRegEx = new Regex("^.*_([0-9]+_[0-9]+_[0-9]+)[^0-9]+_([0-9]+)\\.csv$"); foreach (var t in fileNameList) { if (fileNameRegEx.IsMatch(new FileInfo(t).Name)) { _fileNameList.Add(t); } } var comparator = new GenericComparator() { ComparisonType = StringComparison.InvariantCultureIgnoreCase, IsNullAndEmptyEqual = true, Pattern = new Regex("^.*_([0-9]+_[0-9]+_[0-9]+)[^0-9]+_([0-9]+)\\.csv$"), PatternFieldComperators = new GenericComparator.Comparer<string>[] { (date1, date2) => DateTime.ParseExact(date1, "yyyy_M_d", CultureInfo.InvariantCulture) .CompareTo(DateTime.ParseExact(date2, "yyyy_M_d", CultureInfo.InvariantCulture)), (order1,order2)=>long.Parse(order1).CompareTo(long.Parse(order2)) } }; _fileNameList.Sort(comparator); foreach (string t in _fileNameList) { L.Log(LogType.FILE, LogLevel.DEBUG, " SortFileNames() " + t); } return _fileNameList; }