示例#1
0
        public void SetUp()
        {
            _arrayAsc  = new int[] { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            _arrayDesc = new int[] { 9, 8, 7, 6, 5, 4, 3, 2, 1, 0 };

            _sort = new BubbleSort <int>();
        }
示例#2
0
 /// <summary>Main test method.</summary>
 /// <param name="sort">Sort algorithm.</param>
 /// <param name="maxLength">Max length of test collections.</param>
 /// <param name="stable">Check if sorting is stable.</param>
 protected void SortTest(SortBase <Item <int> > sort, int maxLength, bool stable)
 {
     // Random numbers sorting.
     SortTest(sort, maxLength, stable, i => Randomizer.Next());
     // Numbers in ascending order sorting.
     SortTest(sort, maxLength, stable, i => i);
     // Numbers in descending order sorting.
     SortTest(sort, maxLength, stable, i => maxLength - i);
     // Identical numbers sorting.
     if (stable)
     {
         SortTest(sort, maxLength, true, i => 1000);
     }
 }
示例#3
0
        private void TestBase(SortBase s)
        {
            string[] a = new string[]
            {
                "bed", "bug", "dad", "yes", "zoo", "...", "all", "bad", "yet", "bug"
            };
            s.Sort(a);
            if (!s.IsSorted(a))
            {
                Console.WriteLine("排序失败");
                throw new Exception("排序失败");
            }

            s.Show(a);
        }
示例#4
0
 /// <summary>Checks collection.</summary>
 /// <param name="sort">Sort algorithm.</param>
 /// <param name="maxLength">Max length of test collections.</param>
 /// <param name="stable">Check if sorting is stable.</param>
 /// <param name="value">Value generator.</param>
 private void SortTest(SortBase <Item <int> > sort, int maxLength, bool stable, Func <int, int> value)
 {
     for (var length = 10; length < maxLength; length++)
     {
         var data = Enumerable.Range(0, length)
                    .Select(i => new Item <int>(value(i), i))
                    .ToArray();
         sort.Sort(data);
         if (stable)
         {
             Assert.True(IsStableSorted(data));
         }
         else
         {
             Assert.True(IsSorted(data));
         }
     }
 }
示例#5
0
        private void AlternatingSortByField(List <HRMISModel.Employee> employees, HRMISModel.Employee.EmployeeSortField employeeSortField,
                                            int columnNum, string columnTitle, SortOrderEnum defaultSortOrder)
        {
            SortOrderEnum sortOrder;

            if (ViewState[employeeSortField.ToString()] != null)
            {
                sortOrder = ViewState[employeeSortField.ToString()].ToString() == SortOrderEnum.Descending.ToString()
                                ? SortOrderEnum.Ascending
                                : SortOrderEnum.Descending;
            }
            else
            {
                sortOrder = defaultSortOrder.ToString() == SortOrderEnum.Descending.ToString()
                                ? SortOrderEnum.Descending
                                : SortOrderEnum.Ascending;
            }
            if (sortOrder == SortOrderEnum.Descending)
            {
                //倒序
                gvMonthAttendanceList.Columns[columnNum].HeaderText = columnTitle +
                                                                      "<img src='../../image/down.gif' border='0'/>";
                ViewState[employeeSortField.ToString()] = SortOrderEnum.Descending.ToString();
                SortBase.InsertionSort(employees,
                                       new EmployeeComparer(employeeSortField, SortOrderEnum.Descending).Compare);
            }
            else
            {
                //正序
                gvMonthAttendanceList.Columns[columnNum].HeaderText = columnTitle +
                                                                      "<img src='../../image/up.gif' border='0'/>";
                ViewState[employeeSortField.ToString()] = SortOrderEnum.Ascending.ToString();
                SortBase.InsertionSort(employees,
                                       new EmployeeComparer(employeeSortField, SortOrderEnum.Ascending).Compare);
            }
        }
示例#6
0
 public void SetUp()
 {
     _sort = new BubbleSort <int>();
 }