// Path: src/main/java/org/gnubridge/core/deck/Trump.java
// public abstract class Trump {
// 
// 	public static final Suit CLUBS = Clubs.i();
// 	public static final Suit DIAMONDS = Diamonds.i();
// 	public static final Suit HEARTS = Hearts.i();
// 	public static final Suit SPADES = Spades.i();
// 	public static final Trump NOTRUMP = NoTrump.i();
// 
// 	@Override
// 	public abstract String toString();
// 
// 	public static Trump instance(String s) {
// 		Trump result = null;
// 		if (NoTrump.i().toString().equalsIgnoreCase(s)) {
// 			result = NoTrump.i();
// 		} else if (Spades.i().toString().equalsIgnoreCase(s)) {
// 			result = Spades.i();
// 		} else if (Hearts.i().toString().equalsIgnoreCase(s)) {
// 			result = Hearts.i();
// 		} else if (Diamonds.i().toString().equalsIgnoreCase(s)) {
// 			result = Diamonds.i();
// 		} else if (Clubs.i().toString().equalsIgnoreCase(s)) {
// 			result = Clubs.i();
// 		}
// 		return result;
// 	}
// 
// 	public abstract String toDebugString();
// 
// 	public boolean isMajorSuit() {
// 		return Spades.i().equals(this) || Hearts.i().equals(this);
// 	}
// 
// 	public Suit asSuit() {
// 		if (this instanceof Suit) {
// 			return (Suit) this;
// 		} else {
// 			throw new RuntimeException("Trying to treat " + this + " as suit.");
// 		}
// 	}
// 
// 	public boolean isMinorSuit() {
// 		return Diamonds.i().equals(this) || Clubs.i().equals(this);
// 	}
// 
// 	public boolean isSuit() {
// 		return isMajorSuit() || isMinorSuit();
// 	}
// 
// 	public boolean isNoTrump() {
// 		return NoTrump.i().equals(this);
// 	}
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Seven.java
// public class Seven {
// 	public static Card of(Suit denomination) {
// 		return new Card("7", denomination);
// 	}
// }


import static org.gnubridge.core.Direction.*;
import static org.gnubridge.core.deck.Trump.*;
import org.gnubridge.core.deck.Four;
import org.gnubridge.core.deck.King;
import org.gnubridge.core.deck.Seven;
	}

	public void testSidneyLenzMiniature() {
		given(SOUTH, "A,3", "", "", "A");
		given(WEST, "J,2", "A", "", "");
		given(NORTH, "Q,8", "", "", "7");
		given(EAST, "K,10", "", "A", "");
		givenTrump(SPADES);
		whenLeadBy(SOUTH);
		shouldWinTricks(2);
	}

	public void testTedMullerFittingEndMiniature() {
		given(SOUTH, "Q", "", "A,Q", "");
		given(WEST, "K", "", "", "J,10");
		given(NORTH, "", "K,J", "", "A");
		given(EAST, "", "A", "9", "7");
		givenTrump(SPADES);
		whenLeadBy(EAST);
		shouldWinTricks(2);
	}
	
	//source - generated by gnubridge stochastic tests

	public void testAlphaBetaBugGivingUpTrick() {
		given(SOUTH, "Q,2", "", "9", "");
		given(WEST, "J,7", "", "", "3");
		given(NORTH, "4,3", "", "5", "");
		given(EAST, "K,5", "", "Q", "");
		givenTrump(CLUBS);
// Path: src/main/java/org/gnubridge/core/deck/Trump.java
// public abstract class Trump {
// 
// 	public static final Suit CLUBS = Clubs.i();
// 	public static final Suit DIAMONDS = Diamonds.i();
// 	public static final Suit HEARTS = Hearts.i();
// 	public static final Suit SPADES = Spades.i();
// 	public static final Trump NOTRUMP = NoTrump.i();
// 
// 	@Override
// 	public abstract String toString();
// 
// 	public static Trump instance(String s) {
// 		Trump result = null;
// 		if (NoTrump.i().toString().equalsIgnoreCase(s)) {
// 			result = NoTrump.i();
// 		} else if (Spades.i().toString().equalsIgnoreCase(s)) {
// 			result = Spades.i();
// 		} else if (Hearts.i().toString().equalsIgnoreCase(s)) {
// 			result = Hearts.i();
// 		} else if (Diamonds.i().toString().equalsIgnoreCase(s)) {
// 			result = Diamonds.i();
// 		} else if (Clubs.i().toString().equalsIgnoreCase(s)) {
// 			result = Clubs.i();
// 		}
// 		return result;
// 	}
// 
// 	public abstract String toDebugString();
// 
// 	public boolean isMajorSuit() {
// 		return Spades.i().equals(this) || Hearts.i().equals(this);
// 	}
// 
// 	public Suit asSuit() {
// 		if (this instanceof Suit) {
// 			return (Suit) this;
// 		} else {
// 			throw new RuntimeException("Trying to treat " + this + " as suit.");
// 		}
// 	}
// 
// 	public boolean isMinorSuit() {
// 		return Diamonds.i().equals(this) || Clubs.i().equals(this);
// 	}
// 
// 	public boolean isSuit() {
// 		return isMajorSuit() || isMinorSuit();
// 	}
// 
// 	public boolean isNoTrump() {
// 		return NoTrump.i().equals(this);
// 	}
// }
// 
// Path: src/main/java/org/gnubridge/core/deck/Seven.java
// public class Seven {
// 	public static Card of(Suit denomination) {
// 		return new Card("7", denomination);
// 	}
// }


// Path: acceptance/org/gnubridge/search/DDRegressionTest.java
import static org.gnubridge.core.Direction.*;
import static org.gnubridge.core.deck.Trump.*;
import org.gnubridge.core.deck.Four;
import org.gnubridge.core.deck.King;
import org.gnubridge.core.deck.Seven;

	}

	public void testSidneyLenzMiniature() {
		given(SOUTH, "A,3", "", "", "A");
		given(WEST, "J,2", "A", "", "");
		given(NORTH, "Q,8", "", "", "7");
		given(EAST, "K,10", "", "A", "");
		givenTrump(SPADES);
		whenLeadBy(SOUTH);
		shouldWinTricks(2);
	}

	public void testTedMullerFittingEndMiniature() {
		given(SOUTH, "Q", "", "A,Q", "");
		given(WEST, "K", "", "", "J,10");
		given(NORTH, "", "K,J", "", "A");
		given(EAST, "", "A", "9", "7");
		givenTrump(SPADES);
		whenLeadBy(EAST);
		shouldWinTricks(2);
	}
	
	//source - generated by gnubridge stochastic tests

	public void testAlphaBetaBugGivingUpTrick() {
		given(SOUTH, "Q,2", "", "9", "");
		given(WEST, "J,7", "", "", "3");
		given(NORTH, "4,3", "", "5", "");
		given(EAST, "K,5", "", "Q", "");
		givenTrump(CLUBS);
		whenLeadBy(WEST, Seven.of(SPADES));