Win a copy of Java Database Connections & Transactions (e-book only) this week in the JDBC forum!
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
  • Campbell Ritchie
  • Devaka Cooray
  • Knute Snortum
  • Paul Clapham
  • Tim Cooke
  • Liutauras Vilda
  • Jeanne Boyarsky
  • Bear Bibeault
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Ron McLeod
  • Piet Souris
  • Frits Walraven
  • Ganesh Patekar
  • Tim Holloway
  • salvin francis

How to test my code for proper function?  RSS feed

Ranch Hand
Posts: 57
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I am writing he shoe, deck and card class for blackjack. I am in a slum trying to test the code. i have written a testclass but I am not getting any ouput.I was wondering if you could look at my classes and tell me what I am doing wrong.

public class Card {
public final static int SPADES = 0,
CLUBS = 3;

public final static int ACE = 1,
JACK = 11,
QUEEN = 12,
KING = 13;

private final int suit;

private final int value;

public Card(int theValue, int theSuit) {

value = theValue;
suit = theSuit;

public int getSuit() {

return suit;

public int getValue() {

return value;

public String SuittoString() {

switch ( suit ) {
case SPADES: return "Spades";
case HEARTS: return "Hearts";
case DIAMONDS: return "Diamonds";
case CLUBS: return "Clubs";
default: return "Invalid?";

public String getSValue() {

// If the card's value is invalid, "Invalid?" is returned.
switch ( value ) {
case 1: return "Ace";
case 2: return "2";
case 3: return "3";
case 4: return "4";
case 5: return "5";
case 6: return "6";
case 7: return "7";
case 8: return "8";
case 9: return "9";
case 10: return "10";
case 11: return "Jack";
case 12: return "Queen";
case 13: return "King";
default: return "Invalid?";

public String toString() {
// Return a String representation of this card, such as
// "10 of Hearts" or "Queen of Spades".
return getSValue() + " of " + SuittoString();

} // end class Card

Shoe class

public class CardTest {

//public static void main(String[] args) {

// A card dealt from the deck.

CardTest deck = new CardTest(); // Create the deck.


System.println("Deck contains:");
for ( int i = 0; i <= deck; i++ ) {
// Get a card from the deck, print it out,

card = Card.getValue();

System.println(" " + card);

If you could give me some insight on what i am doing wrong I would be truly grateful.
(instanceof Sidekick)
Posts: 8791
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Try making some very small tests. Create a card with (1,1) and see if it returns "Ace of Spades" or whatever you expect. Create a deck and see if it has 52 cards, if the 1st, 26th and 52nd cards are what they should be. Shuffle the deck and see if the deck is no longer in perfect order. Draw one card and see if it is no longer in the deck. (Hmmm, that might suggest a new method!) Once you get in this "tiny test" mode, I'm sure you will think of many more. And if the code doesn't lend itself to a test you think of, it may be a sign that you should refactor the code into smaller, simpler, testable methods.
Then do a google search on "test first" or "test driven development" and discover the wonders of writing the test first. A test that fails is your friend, because it tells you what to write. A test for a method that doesn't exist yet certainly qualifies as a test that fails. For a good time, build your new code one test at a time! is all about a framework to make this kind of testing easy and fun. Test Infected is a great paper on the topic.
Lisa Smith
Ranch Hand
Posts: 57
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What's that smell? Hey, sniff this tiny ad:
how do I do my own kindle-like thing - without amazon
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!