Мне нужна помощь, чтобы понять, почему тест завершается неудачей при сортировке по убыванию/возрастанию и какие возможные варианты это исправить?
Вот текст ошибки:
Expected sortedColumnEntries to be in descending order, but found {"17_2", "14_8", "14_5", "13_2", "10_8", "8_5", "5_13", "5_6", "3_7", "3_3", "3_3", "2_5, ..."} where item at index 0 is in wrong order.
Мне нужна помощь, чтобы понять, почему тест завершается неудачей при сортировке по убыванию/возрастанию и какие возможные варианты это исправить? Вот текст ошибки: [code]Expected sortedColumnEntries to be in descending order, but found {"17_2", "14_8", "14_5", "13_2", "10_8", "8_5", "5_13", "5_6", "3_7", "3_3", "3_3", "2_5, ..."} where item at index 0 is in wrong order. [/code] Код (тест ДДТ): [code]var sortedColumnEntries = customPage.GetValuesForColumn(columnName); if (customPage.Grid.Header[columnName].IsSortButtonAscending) { using (new AssertionScope()) { customPage.Grid.Header[columnName].IsAscending.Should().BeTrue(); sortedColumnEntries.Should().BeInAscendingOrder(StringComparer.InvariantCultureIgnoreCase); } } else { using (new AssertionScope()) { customPage.Grid.Header[columnName].IsSortButtonDescending.Should().BeTrue(); customPage.Grid.Header[columnName].IsAscending.Should().BeFalse(); sortedColumnEntries.Should().BeInDescendingOrder(StringComparer.InvariantCultureIgnoreCase); } }
public IEnumerable GetValuesForColumn(string columnName) { if (columnName == "Title") { return GetTitlesOnCurrentGrid(); }
var headers = Grid.Header.HeaderItems.ToList(); var columnHeader = headers.First(x => x.Text == columnName); var columnIndex = headers.IndexOf(columnHeader); return Grid.RowItems.Select(i => { if (columnName == "Tutor" && i.MultipleTeacherRowItem.Visible) { i.MultipleTeacherRowItem.HoverMouse(isLongHover: true); return i.MultipleTeacherRowItem.TooltipText; }
return i[columnIndex].Text; }); [/code] [list] [*]"Название" — это другой столбец, поэтому метод пропускает оператор if. [*]На это стоит обратить внимание , что значения также могут находиться в столбце, как показано ниже:
"-_1"
"--" [/list]Я попробовал несколько вариантов класса StringComparer (например, Ordinal и т. д.) но ничего не помогает.