Example #1
0
        /// <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);
        }
Example #2
0
        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;
        }