2010-08-24 55 views
1

我正在使用MVP和ASP.NET Web窗體。作爲一個好的TDDer,我想測試我的Presenter中的所有重要行爲,包括它應用於從服務層檢索到的結果集的默認排序。該演示將通過LINQ可以應用嵌套排序的風格的對象:使用NUnit測試IEnumerable是否正確排序(使用嵌套排序)

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

我已經看過了IsOrderedBy擴展方法描述in this SO question,但我不知道如何擴展它與嵌套工作我在上面描述。 Jon Skeet在this SO question發佈的代碼也是如此。

回答

1

當我使用的單元測試儘可能的明確。讓你的模擬服務返回一個包含PropertyA和PropertyB的不同值的項目的列表。然後手動將該列表分類到「正確答案列表」中。最後與.SequenceEqual<>比較。