006順子の判断修正について
1697 ワード
ユニットテストを受けていないクラスに対して、私は本当に安心できません.そこでJunkoにユニットテストを書きました.コードは以下の通りです.
その結果、私が問題を検出しました.問題は2つあります.1つはカードの数の判断です.1つはその循環位置の処理で、最新のJunkoコードをリストします.
/**
* <p>Title: JunkoTest.java</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007</p>
* @author Tunie
* @date 2014 9 16
* @version 1.0
*/
public class JunkoTest extends TestCase {
public void testJudgeResult() {
List<Card> list = new ArrayList<Card>();
list.add(new Card(CardType.CARD_A));
list.add(new Card(CardType.CARD_K));
list.add(new Card(CardType.CARD_Q));
list.add(new Card(CardType.CARD_J));
list.add(new Card(CardType.CARD_10));
list.add(new Card(CardType.CARD_9));
CardGroup cardGroup = new CardGroup();
cardGroup.addAll(list);
HandCard junko = new Junko();
boolean result = junko.judge(cardGroup);
assertEquals(true, result);
}
}
その結果、私が問題を検出しました.問題は2つあります.1つはカードの数の判断です.1つはその循環位置の処理で、最新のJunkoコードをリストします.
/**
* <p>Title: Junko.java</p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007</p>
* @author Tunie
* @date 2014 9 16
* @version 1.0
*/
public class Junko extends HandCard {
public Junko() {
setType(HandCardType.JUNKO);
}
@Override
protected boolean determineConditions(CardGroup cardGroup) {
return cardGroup.size() >= 5;
}
@Override
protected boolean judgeResult(CardGroup cardGroup) {
cardGroup.doSort(CardGroupSortType.DECREASE);
boolean result = true;
int score = cardGroup.getCard(0).getType();
for(int i = 1; i <cardGroup.size() ; i ++ ) {
score --;
if(score != cardGroup.getCard(i).getType()){
result = false;
break;
}
}
return result;
}
}