Ò»´Î¼òµ¥µÄ¼¯³É²âÊÔ²âÊÔCardÀ࣬CardÀàÐèҪʹÓÃSuitÀàºÍCfgÀ࣬ÕâÁ½¸öÀàÔÚÕâ֮ǰÒѾÍê³ÉÁ˲âÊÔ¡£ÔÚÕâÒ»²½ÐèÒª½«ÈýÕß¼¯³ÉÔÚÒ»Æð½øÐвâÊÔ¡£ÔÚ²âÊÔCardÀàʱ½«²»ÔÙ¿¼ÂǶÔSutiºÍCfgÀàµÄ²âÊÔ£¬¶ø½ö½öÊÇ¿¼ÂÇCardÀà±¾ÉíµÄ²âÊÔ£¬Õë¶ÔCardÀàµÄÿһ¸ö·½·¨½øÐвâÊÔ¡£
ʹÓÃJtest×Ô¶¯Éú³É²âÊÔ´úÂ룬²é¿´²âÊÔ´úÂëºó·¢ÏÖ£¬½ö×Ô¶¯Éú³ÉÁ˲¿·Ö²âÊÔ´úÂ룬²¢ÇÒûÓиù¾ÝÐèÒªÊäÈëÊʺϵÄÖµ£¬ÎÒÃÇÐèÒªÊÖ¹¤Íê³É²¿·Ö²âÊÔ´úÂë¡£
´Ó×ÔÓµÄÒ»¸ö·½·¨¿ªÊ¼ÈëÊÖ¡££¨µ±Ê±ÎÒ´Ó×Ôӵķ½·¨ÈëÊÖÊÇÒòΪÓв¿·Ö¼¼ÊõÎÊÌâÐèÒª½â¾ö£©£»getIcon·½·¨·µ»ØÄ³ÕÅֽůËù¶ÔÓ¦µÄͼƬÎļþ£¬ÕâÀïÐèҪʹÓÃCfgÀ࣬¹ý³ÌÊǸù¾ÝÅÆµÄ»¨É«ºÍ·ÖÖµ¼ÆËã³öËù¶ÔÓ¦µÄÊý×éλÖã¬ÒòΪ·µ»ØµÄ½á¹ûÊÇÒ»¸öImageÀ࣬ËùÒÔÔڶԱȲâÊÔ½á¹ûʱÓÐһЩÄѶȣ¬¶ø¸ÃÊý×鲢ûÓнøÐгõʼ»¯£¬ËùÒÔ¶Ô±Èʱ²»¹Ü²âÊÔ½á¹ûÈçºÎ¶Ô±ÈµÄ½á¹û×ÜÊÇÕýÈ·µÄ¡£¶Ô´ËÏȶÔCfgÖеÄÊý×écardIcons½øÐгõʼ»¯£¬ÕâÀï½öʼ»¯ÕýÈ·½á¹ûµÄÊý×飬×îºó½øÐÐÓëÔ¤ÆÚ½á¹û½øÐжԱȣ»´úÂëʾÀýÈçÏ£º
Card card£» //½¨Á¢cardÀà
Suit suit£» //½¨Á¢suitÀà
suit=Suit.CLUB£» //suitÒýÓÃ
card=new Card£¨suit£¬'A'£©£» //³õʼ»¯cardÀà
int ER=1£» //Ô¤ÆÚλÖÃÊÇÊý×é1
byte buffer[] = new byte[ER]£»
Cfg.cardIcons[ER]= Toolkit.getDefaultToolkit£¨£©¡£createImage£¨buffer£©£»£» //³õʼ»¯Êý×é1
Image RETVAL=card.getIcon£¨£©£»
assertEquals£¨Cfg.cardIcons[ER]£¬RETVAL£©£» //¶Ô±È²âÊÔ½á¹û |
×¢£ºÈç¹û²»¶ÔCfgÖеÄÊý×é½øÐгõʼ»¯£¬Ôò¶Ô±È½á¹ûÓÀÔ¶ÊÇÕýÈ·µÄ¡£
½ÓÏÂÀ´¶Ôÿһ¸ö·½·¨½øÐвâÊÔ£¬ÕâЩ·½·¨¿ÉÒÔ·ÖΪ¼¸Àà¡£
¹¹Ôì·½·¨£º
- Card£¨£©
- Card£¨final Card card£©
- Card£¨Suit suit£¬ char value£©
|
¸³ÖµµÄ·½·¨£º
- void assign £¨final Card rhs£©
- boolean setSuit£¨Suit newSuit£©
- boolean setType£¨char newType
|
ȡֵµÄ·½·¨
- char cardType£¨£©
- Suit getSuit£¨£©
- String toString£¨£©
|
ÓÐЧÐÔÅжÏ
- final boolean isAce£¨£©
- final boolean isFaceCard£¨£©
- final boolean isValid£¨£©
- final boolean isValueCard£¨£©
|
ÔËËã
- boolean equals £¨Object obj£©
- boolean lessThan£¨Card rhs£©
- char suitAsChar£¨£©
- Image getIcon£¨£©
|
ÔÚÕâÀï·¢ÏÖµ±¶Ôijһ¸ö·½·¨½øÐвâÊÔʱ¿ÉÄÜ»áµ÷ÓÃÁíÒ»¸ö·½·¨¡£»òÕßÊÇÔÚ²âÊÔ¹ý³ÌÖÐÐèÒª½èÓÃÁíÍâµÄ·½·¨¡£ÄÇôÕâЩ·½·¨±¾ÉíÊÇ·ñÓÐÒ»¸ö²âÊÔµÄÏȺó˳ÐòÄØ£¿ÀýÈ磺getIcon·½·¨Öе÷ÓÃÁËsuitAsChar¡¢isAce¡¢isValueCardÈý¸ö·½·¨£¬ÏȲâÊÔÕâÈý¸ö·½·¨ÊÇ·ñÕýÈ·£¬ÔÙ²âÊÔgetIcon·½·¨ÊÇ·ñÕýÈ·£¬ÕâÑùµ±getIcon·½·¨³öÏÖ´íÎóʱ£¬¿ÉÒÔÈ·ÈÏÊÇÓÉÓÚgetIcon·½·¨±¾ÉíµÄ´íÎó»¹ÊÇÓÉÓÚsuitAsChar¡¢isAce¡¢isValueCardÈý¸ö·½·¨ÖгöÏÖÁË´íÎó¡£
ÊÖ¹¤Íê³Éÿһ¸öÀàµÄ²âÊÔ´úÂë¡£¿ÉÒÔʹÓÃJuintʵÏÖ¶ÔÒѾÍê³ÉµÄÈý¸öÀàµÄÒ»´ÎÐÔÍêÕû²âÊÔ¡£
¼¯³É²âÊÔÔÚ²âÊÔÏîÄ¿ÖмÓÈëDeckÀ࣬ʹÓÃJtest×Ô¶¯Éú²âÊÔ´úÂë¡£¼ì²é×Ô¶¯Éú³ÉµÄ²âÊÔ´úÂë·¢ÏÖÓв¿·ÖûÓÐÅжϽá¹û¡£¶ÔЩÐèÒªÊÖ¹¤¸Äд²âÊÔ´úÂë¡£
²âÊÔAddDeck·½·¨ÔÚ²âÊÔ¹ý³ÌÖÐÐèÒªµ÷ÓÃtoString·½·¨¶Ô½á¹û½øÐÐÅжϡ£Ô¤ÆÚµÄ½á¹ûÊÇ"Card
nums=52 [AH, 2H, 3H, 4H, 5H, 6H, 7H, 8H, 9H, TH, JH,
QH, KH, AD, 2D, 3D, 4D, 5D, 6D, 7D, 8D, 9D, TD, JD,
QD, KD, AS, 2S, 3S, 4S, 5S, 6S, 7S, 8S, 9S, TS, JS,
QS, KS, AC, 2C, 3C, 4C, 5C, 6C, 7C, 8C, 9C, TC, JC,
QC, KC]" ÔÚ²âÊÔAddDeck·½·¨µÄͬʱҲ¶ÔtoString·½·¨½øÐÐÁ˲âÊÔ£»
²âÊÔburnIt·½·¨
public void testBurnIt1() throws Throwable
{
Deck deck=new
Deck();
deck.addDeck(1);
deck.burnIt();
String RET=deck.toString() ;
String Exp="Card nums=0 []";
assertEquals(Exp, RET);
} |
ÏÈÔö¼ÓÒ»·ùÅÆÈ»ºóµ÷ÓÃburnIt·½·¨Çå³ý£¬Ê¹ÓÃtoString·½·¨È¡µÃ·µ»Ø½á¹û£¬¶Ô·µ»Ø½á¹û½øÐÐÅжϡ£Ò²¿ÉÒÔʹÓÃgetCards·½·¨¶Ô²âÊÔ½á¹û½øÐÐÅжϡ£¸öÈ˾õµÃgetCards·½·¨¿ÉÄܸü¼ÓÊʺϣ¬ÒòΪ¸Ã·½·¨Öв¢Ã»ÓÐÈκβÙ×÷£¬²»»á¶Ô²âÊÔ²úÉúÓ°Ïì¡£ÏÂÃæµÄ²âÊÔ·½·¨
»á²»»á¸üºÃÒ»Ð©ÄØ£¿
public void testBurnIt1() throws Throwable
{
Deck deck=new Deck();
deck.addDeck(1);
deck.burnIt();
Vector RET=deck.getCards();
assertEquals(0, RET.size());
} |
²âÊÔgetCard·½·¨testGetCard1²âÊÔʹÓÃÈ¡±ß½çÖµÓëÔ¤ÆÚÖµ½øÐбȽÏÅжϲâÊÔÕýÈ·ÐԵIJâÊÔ²ßÂÔ¡£ÏÂÀýΪȡµÚÒ»¸öÖµ£»
public void testGetCard1() throws Throwable
{
Deck deck=new Deck();
deck.addDeck( 1);
Card card=deck.getCard();
Card card2=new Card();
boolean RET1=card.equals( card2);
assertEquals(true,RET1);
} |
ÏÂÃæµÄÀý×ÓÖУ¬²âÊÔÁËDeckÀàµÄÒì³£Çé¿ö£»ÔÚ²âÊÔ¹ý³ÌÖвâÊÔ³öÏÖÒì³££¨²»ÊÇ´íÎ󣩡£¶ÔÓÚÕâ¸öÀý×ÓÎÒÃÇÊÇ·ñÐèÒª¿¼ÂÇÕâÖÖÌØÊâÇé¿öÄØ£¿ÔÚBJ
Õâ¸öÏîÄ¿Öл᲻»á³öÏÖ²»Ôö¼ÓÅÆ¶øÊ¹ÓÃÅÆµÄÇé¿öÄØ£¿¶ÔÓÚÕâÖÖÇé¿öÊÇ·ñÐèÒª¿¼ÂdzÌÐòµÄÕûÌå¼Ü¹¹ÄØ£¿£¨ÕâÖÖÒì³£¿ÉÄÜ»áÓÉÆäËûµÄ´úÂëÀ´´¦Àí£©
public void testGetCard3() throws Throwable
{
Deck deck=new Deck();
Card card = null;
card=deck.getCard();
assertEquals(null,card);
} |
²âÊÔgetCards·½·¨testGetCards1²âÊÔÓÃÀýÅжϷµ»Ø³¤¶ÈÊÇ·ñÕýÈ·£»
public void testGetCards1() throws Throwable
{
Deck deck=new Deck();
deck.addDeck(1);
Vector deckcard=deck.getCards();
assertEquals(52,deckcard.size());
}
|
testGetCards2²âÊÔÓÃÀý´Ó·µ»ØµÄ½á¹ûÖÐÈ¡ÈÎÒâÖµÅжÏÄÚÈÝÊÇ·ñÕýÈ·£»
public void testGetCards2() throws Throwable
{
Deck deck=new Deck();
deck.addDeck(1);
Vector deckcard=deck.getCards();
Card card=(Card) deckcard.elementAt(1);
String RET=card.toString();
assertEquals("2H",RET);
} |
²âÊÔshuffle·½·¨testShuffle1ÓÃÀý²âÊÔÔÚδÔö¼ÓÅÆÊ±shuffle·½·¨ÊÇ·ñ»á³ö´í£»
public void testShuffle1() throws Throwable
{
Deck deck=new Deck();
deck.shuffle();
Vector RET=deck.getCards();
assertEquals(0, RET.size());
} |
testShuffle2ÓÃÀý²âÊÔÏ´ÅÆºóֽůµÄÄÚÈÝÓÐûÓжªÊ§»ò¸Ä±ä£»´úÂëÖÐʹÓÃÁËÇî¾ÙµÄ·½·¨£¬Ñé֤ÿһÕÅÅÆÊÇ·ñÕæÊµ´æÔÚ¡£ÊÇ·ñÓиüºÃµÄ²âÊÔ·½·¨ÄØ£¿
public void testShuffle2() throws Throwable
{
Deck deck=new Deck();
Deck deck2=new Deck();
deck.addDeck( 1);
deck2.addDeck( 1);
Vector carddeck= deck.getCards();
Vector carddeck2= deck2.getCards();
deck.shuffle();
Card card,card2;
boolean RET;
for(int j=0;j<52;j++){
card=(Card) carddeck.elementAt( j);
RET=false;
for(int i=0;i<52;i++){
card2=(Card) carddeck2.elementAt(i);
if(card2.toString().equals( card.toString()))
RET=true;
}
assertEquals(true,RET);
}
} |
testShuffle3ÓÃÀý²âÊÔÏ´ÅÆºóÅÆµÄÊýÁ¿ÊÇ·ñ´íÎó¡£
public void testShuffle3() throws Throwable
{
Deck deck=new Deck();
deck.addDeck( 1);
deck.shuffle();
Vector RET=deck.getCards();
assertEquals(52, RET.size());
} |
×¢£ºÓÉÓÚÔÚÔ´´úÂëÖÐÒѾעÃ÷ֻʹÓÃÒ»·ùÅÆ£¬ËùÒÔ²âÊÔ¹ý³ÌÖÐδ¿¼ÂÇÅÆ¶àÓÚÒ»·ùµÄÇé¿ö£»
˼¿¼ÎÊÌ⣺
ÊÇ·ñ¿¼ÂÇÒì³£Çé¿ö£¿ÔÚ±¾´ÎµÄÀý×ÓÖУ¬µ±²»Ôö¼Óֽů¶øÈ¡Ä³Ò»ÕÅÅÆÊ±»á³öÏÖ´íÎ󣬵«ÊÇ·ñÓбØÒª½øÐÐÕâÖÖ²âÊÔ£¿
ÔÚgetCard·½·¨ÖÐÈç¹û²âÊÔÕß²»ÖªµÀCardÀàÈçºÎʹÓã¬ÄÇô½«ÎÞ·¨¶Ô²âÊÔ½á¹û½øÐÐÅжϡ£µ±Éè¼ÆÎĵµ±àдµÄ²»¹»Ï¸ÖÂʱ»á²»»á¶Ô°×ºÐ²âÊÔ×è°£¬Õâ¸ö×è°»áÓжà´óÄØ£¿
²âÊÔshuffle·½·¨ÊÇ·ñÓиüºÃµÄ·½·¨ÄØ£¿ÀàËÆÕâÖÖÇé¿öÔÚʵ¼ÊÓ¦ÓÃÖпÉÄÜ»áºÜ¶à£¬ÓÐʱ¿ÉÄÜÎÞ·¨Ê¹ÓÃÇî¾Ù¡¢±ß½çÖµ¡¢·ÖÀàµÈ·½·¨À´½øÐвâÊÔ£¬ÕâʱӦ¸ÃÈçºÎ½øÐвâÊÔÄØ£¿
ÓÉÓÚ²âÊÔ´úÂëµÄÔö¶à£¬Ìá¸ßÁË´íÎó´æÔÚÓÚ²âÊÔ´úÂëÖеķçÏÕ£¬ÕâʱӦ¸ÃÈçºÎ´¦ÀíÄØ£¿
¿¼ÂÇtestBurnIt1²âÊÔ£¬µ±toString·½·¨¸Ä±äʱ£¬¿ÉÄÜ»áÒýÆðtestBurnIt1²âÊÔʧ°Ü£¬ÕâÑù»áÔö¼Ó²âÊÔ´úÂëµÄά»¤ÄѶȣ¬Ó¦¸ÃÈçºÎ½â¾öÕâÒ»ÎÊÌâÄØ£¿
|