Не удалось выполнить утверждение при проверке порядка сортировки.C#

Место общения программистов C#
Ответить
Anonymous
 Не удалось выполнить утверждение при проверке порядка сортировки.

Сообщение Anonymous »

Мне нужна помощь, чтобы понять, почему тест завершается неудачей при сортировке по убыванию/возрастанию и какие возможные варианты это исправить?
Вот текст ошибки:

Код: Выделить всё

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.
Код (тест ДДТ):

Код: Выделить всё

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;
});
  • "Название" — это другой столбец, поэтому метод пропускает оператор if.
  • На это стоит обратить внимание , что значения также могут находиться в столбце, как показано ниже:

    "-_1"

    "--"
Я попробовал несколько вариантов класса StringComparer (например, Ordinal и т. д.) но ничего не помогает.

Подробнее здесь: https://stackoverflow.com/questions/791 ... ting-order
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»