Использование NUnit для проверки правильности сортировки IEnumerable (использует вложенную сортировку) - PullRequest
1 голос
/ 24 августа 2010

Я использую MVP с ASP.NET Web Forms.Будучи хорошим TDDer, я хочу протестировать все важные поведения в Presenter, включая сортировку по умолчанию, которая применяется к результирующему набору, полученному из уровня обслуживания.Ведущий будет применять вложенную сортировку через LINQ к объектам стиля:

public IEnumerable<ViewModel> MyModel{
   get
      {
          return _myService.GetResults().OrderBy(r=>r.PropertyA).ThenBy(r1=>r1.PropertyB);
      }
}

Я посмотрел на метод расширения IsOrderedBy, описанный в этом вопросе SO , но яне знаю, как расширить его для работы с вложенной сортировкой, которую я описал выше.То же самое относится к коду, опубликованному Джоном Скитом в этом ТАКОМ вопросе .

1 Ответ

1 голос
/ 24 августа 2010

При юнит-тестировании я привык быть максимально явным. Пусть ваш фиктивный сервис вернет список с некоторыми элементами с разными значениями для PropertyA и PropertyB. Затем вручную отсортируйте этот список в «список правильных ответов». Наконец, сравните с .SequenceEqual<>.

...