Я внедряю сортируемые столбцы в своей сетке Kendo, и ожидаемое пользователем поведение позволяет одновременно сортировать несколько столбцов.
Естественно, я начинаю с написания модульного теста, чтобы можно было убедиться, что сортировка (по умолчанию) выполняется сначала по Ref
по возрастанию, а затем Name
по возрастанию.
Поставщики тестов, о которых идет речь, находятся здесь:
_context.Suppliers.Add(new Supplier { Ref = "abc", Name = "steve"});
_context.Suppliers.Add(new Supplier { Ref = "abc", Name = "bob"});
_context.Suppliers.Add(new Supplier { Ref = "cde", Name = "ian"});
_context.Suppliers.Add(new Supplier { Ref = "fgh", Name = "dan"});
Тогда я иду и спрашиваю тест для моих отсортированных поставщиков.
Свободные утверждения, которые я знаю, имеют методы BeInAscendingOrder
и BeInDescendingOrder
, однако даже после просмотра документации и после возможных связанных вопросов Я не смог увидеть пример методов сортировки по цепочке.
Моя текущая проверка теста выглядит следующим образом:
results.Should().HaveCount(4).And.BeInAscendingOrder(x => x.Ref)
.And.BeInAscendingOrder(x => x.Name);
Я ожидал, что проверка будет работать примерно так же, как LINQ
, где она имеет OrderBy(x => x.Ref).ThenBy(x => x.Name)
.
Однако при запуске теста он не проходит, поскольку ожидает, что коллекция будет упорядочена по возрастанию на Name
(окончательное утверждение сортировки).
Есть ли способ сказать Свободным Утверждениям, что сортировки должны применяться в сочетании друг с другом, а не только в последовательности?