上面都是異常測試(Exception Test2)的例子。我們再一次運行這些測試看它們失敗,然后加入實現讓它們通過。
public int top()
{
if(isEmpty())
throw new IllegalStateException("Cannot call top on an empty deck");
return ((Integer) cards.get(0)).intValue();
}
public void remove()
{
if(isEmpty())
throw new IllegalStateException("Cannot call remove on an empty deck");
cards.remove(0);
}
盡管guard語句有重復,但是我們決定不去管它,沒有將它們簡化成一個共同的方法。這是因為溝通的價值超過了重復的代價,當然這只是一個個人的選擇。
一手牌
我們已經完成了對牌桌和投注臺面的測試和實現,現在就到了創建一手牌的時候了。待辦事項列表再一次發揮其作用,我們得到了下面這樣一個列表:
創建一個一開始沒有紙牌的空手
向手上加入紙牌
檢查一只手是否擊敗了另一手
文章來源于領測軟件測試網 http://www.kjueaiud.com/