我有的场景是从卡组中抽取指定数量的卡片并按排序顺序(首先是西装,然后是面值)返回它们。使用Assert的单元测试案例
<param name="howMany">how many cards to draw.
<returns>a list of drawn cards, sorted by suit and face value (rank)</returns>
我已经编写了这个方法来实现它。我必须为它写一个单元测试代码。有什么可能的单元测试,因为它有一个列表来比较和如何实现。
public List<Card> DrawSorted(int howMany)
{
List<Card> drawnCards = _cards.Take(howMany).ToList();
IEnumerable<Card> sortedCards = from card in drawnCards
orderby card.Order ascending
select card;
return sortedCards.ToList();
}
任何帮助深表感谢
其实这不是一个问题,有牌的排序甲板上,然后用第N卡从这个分类结果进行比较甲板。我也会重命名这个方法,因为它不会*画*卡。我会添加测试以验证不正确的* howMany *值的行为(零,小于零,然后是套牌大小) –
好点。虽然方法名称没有说明它正在测试绘图,但严格来说,我现在仍然重命名它,使其更简单一些,不太可能被误解。这是一个开始;我想你可以添加更多的测试,例如去测试各种潜在的错误,但我也不想过度。你不应该觉得你_absolutely有to_测试每一种可能的不测事件 - 刚刚够,你可以感受到有理由相信你的代码。 – Kjartan