// Path: src/main/java/org/gnubridge/core/deck/Ace.java
// public class Ace {
// 	public static Card of(Suit denomination) {
// 		return new Card("A", denomination);
// 	}
// 
// 	public static boolean isValueOf(Card card) {
// 		return card.getValue() == Card.strToIntValue("A");
// 	}
// 
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Suit.java
// public abstract class Suit extends Trump {
// 
// 	//note, DO NOT USE statics from Trump here, ie SPADES instead of Spades.i()
// 	public static final Suit[] list = { Spades.i(), Hearts.i(), Diamonds.i(), Clubs.i() };
// 	public static final Suit[] reverseList = { Clubs.i(), Diamonds.i(), Hearts.i(), Spades.i(), };
// 	public static final Suit[] mmList = { Hearts.i(), Spades.i(), Clubs.i(), Diamonds.i() };
// 
// 	public static int getIndex(Suit denomination) {
// 		int result = -1;
// 		for (Suit suit : reverseList) {
// 			result++;
// 			if (suit.equals(denomination)) {
// 				break;
// 			}
// 		}
// 		return result;
// 	}
// 
// 	@Override
// 	public abstract String toDebugString();
// 
// 	public boolean isLowerRankThan(Trump other) {
// 		if (other.isNoTrump()) {
// 			return true;
// 		}
// 		return getIndex(this) < getIndex(other.asSuit());
// 	}
// 
// 	public static Suit get(String s) {
// 		if ("S".equals(s)) {
// 			return Spades.i();
// 		} else if ("H".equals(s)) {
// 			return Hearts.i();
// 		} else if ("D".equals(s)) {
// 			return Diamonds.i();
// 		} else if ("C".equals(s)) {
// 			return Clubs.i();
// 		} else {
// 			throw new RuntimeException("do not know how to translate string '" + s
// 					+ "' to a suit (need one of: S,H,D,C)");
// 		}
// 	}
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Hearts.java
// public class Hearts extends Suit {
// 
// 	private static Hearts instance;
// 
// 	private Hearts() {
// 		super();
// 	}
// 	
// 	public static Hearts i() {
// 		if (instance == null) {
// 			instance = new Hearts();
// 		}
// 		return instance ;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "HEARTS";
// 	}
// 	
// 	@Override
// 	public String toDebugString() {
// 		return "Hearts.i()";
// 	}
// 
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/NoTrump.java
// public class NoTrump extends Trump {
// 
// 	private static NoTrump instance = new NoTrump();
// 
// 	private NoTrump() {
// 		super();
// 	}
// 	
// 	public static NoTrump i() {
// 		return instance ;
// 	}	
// 
// 	@Override
// 	public String toString() {
// 		return "NT";
// 	}
// 
// 	@Override
// 	public String toDebugString() {
// 		return "NoTrump.i()";
// 	}
// 
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Queen.java
// public class Queen {
// 	public static Card of(Suit denomination) {
// 		return new Card("Q", denomination);
// 	}
// 
// 	public static boolean isValueOf(Card card) {
// 		return card.getValue() == Card.strToIntValue("Q");
// 	}
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Ten.java
// public class Ten {
// 	   public static Card of(Suit denomination) {
// 		   return new Card("10", denomination);
// 	   }
// }


import java.util.List;
import junit.framework.TestCase;
import org.gnubridge.core.deck.Ace;
import org.gnubridge.core.deck.Clubs;
import org.gnubridge.core.deck.Suit;
import org.gnubridge.core.deck.Diamonds;
import org.gnubridge.core.deck.Hearts;
import org.gnubridge.core.deck.Jack;
import org.gnubridge.core.deck.King;
import org.gnubridge.core.deck.NoTrump;
import org.gnubridge.core.deck.Queen;
import org.gnubridge.core.deck.Spades;
import org.gnubridge.core.deck.Ten;
import org.gnubridge.core.deck.Three;
import org.gnubridge.core.deck.Two;
package org.gnubridge.core;




public class PlayerTest extends TestCase {

	public void testOnePlayerInitialization() {
		String[] westSpades = Card.FullSuit;
		String[] westHearts = {};
		String[] westDiamonds = {};
		String[] westClubs = {};
		Player west = new Player(Direction.WEST_DEPRECATED);
		west.init(westSpades, westHearts, westDiamonds, westClubs);
		for (int i = 0; i < westSpades.length; i++) {
			assertTrue(west.hasUnplayedCard(new Card(westSpades[i], Spades.i())));
		}

// Path: src/main/java/org/gnubridge/core/deck/Ace.java
// public class Ace {
// 	public static Card of(Suit denomination) {
// 		return new Card("A", denomination);
// 	}
// 
// 	public static boolean isValueOf(Card card) {
// 		return card.getValue() == Card.strToIntValue("A");
// 	}
// 
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Suit.java
// public abstract class Suit extends Trump {
// 
// 	//note, DO NOT USE statics from Trump here, ie SPADES instead of Spades.i()
// 	public static final Suit[] list = { Spades.i(), Hearts.i(), Diamonds.i(), Clubs.i() };
// 	public static final Suit[] reverseList = { Clubs.i(), Diamonds.i(), Hearts.i(), Spades.i(), };
// 	public static final Suit[] mmList = { Hearts.i(), Spades.i(), Clubs.i(), Diamonds.i() };
// 
// 	public static int getIndex(Suit denomination) {
// 		int result = -1;
// 		for (Suit suit : reverseList) {
// 			result++;
// 			if (suit.equals(denomination)) {
// 				break;
// 			}
// 		}
// 		return result;
// 	}
// 
// 	@Override
// 	public abstract String toDebugString();
// 
// 	public boolean isLowerRankThan(Trump other) {
// 		if (other.isNoTrump()) {
// 			return true;
// 		}
// 		return getIndex(this) < getIndex(other.asSuit());
// 	}
// 
// 	public static Suit get(String s) {
// 		if ("S".equals(s)) {
// 			return Spades.i();
// 		} else if ("H".equals(s)) {
// 			return Hearts.i();
// 		} else if ("D".equals(s)) {
// 			return Diamonds.i();
// 		} else if ("C".equals(s)) {
// 			return Clubs.i();
// 		} else {
// 			throw new RuntimeException("do not know how to translate string '" + s
// 					+ "' to a suit (need one of: S,H,D,C)");
// 		}
// 	}
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Hearts.java
// public class Hearts extends Suit {
// 
// 	private static Hearts instance;
// 
// 	private Hearts() {
// 		super();
// 	}
// 	
// 	public static Hearts i() {
// 		if (instance == null) {
// 			instance = new Hearts();
// 		}
// 		return instance ;
// 	}
// 
// 	@Override
// 	public String toString() {
// 		return "HEARTS";
// 	}
// 	
// 	@Override
// 	public String toDebugString() {
// 		return "Hearts.i()";
// 	}
// 
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/NoTrump.java
// public class NoTrump extends Trump {
// 
// 	private static NoTrump instance = new NoTrump();
// 
// 	private NoTrump() {
// 		super();
// 	}
// 	
// 	public static NoTrump i() {
// 		return instance ;
// 	}	
// 
// 	@Override
// 	public String toString() {
// 		return "NT";
// 	}
// 
// 	@Override
// 	public String toDebugString() {
// 		return "NoTrump.i()";
// 	}
// 
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Queen.java
// public class Queen {
// 	public static Card of(Suit denomination) {
// 		return new Card("Q", denomination);
// 	}
// 
// 	public static boolean isValueOf(Card card) {
// 		return card.getValue() == Card.strToIntValue("Q");
// 	}
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Ten.java
// public class Ten {
// 	   public static Card of(Suit denomination) {
// 		   return new Card("10", denomination);
// 	   }
// }


// Path: src/test/java/org/gnubridge/core/PlayerTest.java
import java.util.List;
import junit.framework.TestCase;
import org.gnubridge.core.deck.Ace;
import org.gnubridge.core.deck.Clubs;
import org.gnubridge.core.deck.Suit;
import org.gnubridge.core.deck.Diamonds;
import org.gnubridge.core.deck.Hearts;
import org.gnubridge.core.deck.Jack;
import org.gnubridge.core.deck.King;
import org.gnubridge.core.deck.NoTrump;
import org.gnubridge.core.deck.Queen;
import org.gnubridge.core.deck.Spades;
import org.gnubridge.core.deck.Ten;
import org.gnubridge.core.deck.Three;
import org.gnubridge.core.deck.Two;

package org.gnubridge.core;




public class PlayerTest extends TestCase {

	public void testOnePlayerInitialization() {
		String[] westSpades = Card.FullSuit;
		String[] westHearts = {};
		String[] westDiamonds = {};
		String[] westClubs = {};
		Player west = new Player(Direction.WEST_DEPRECATED);
		west.init(westSpades, westHearts, westDiamonds, westClubs);
		for (int i = 0; i < westSpades.length; i++) {
			assertTrue(west.hasUnplayedCard(new Card(westSpades[i], Spades.i())));
		}

		for (int j = 1; j < Suit.list.length; j++) {