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>(); }
/// <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); } }
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); }
/// <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)); } } }
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); } }
public void SetUp() { _sort = new BubbleSort <int>(); }