Package org.gnubridge.core.bidding

Source Code of org.gnubridge.core.bidding.BiddingAgentTest

package org.gnubridge.core.bidding;

import static org.gnubridge.core.bidding.Bid.*;

import org.gnubridge.core.Hand;
import org.gnubridge.core.West;

public class BiddingAgentTest extends BiddingAgentTestCase {

  public void testOpeningOneNT() {
    givenNoPriorBids();
    andPlayersCards("K,2", "A,Q,3", "A,8,6,5,3", "K,J,3");
    expectPlayerToBid(ONE_NOTRUMP);
  }

  public void testMajorSuit1NTResponse() {
    givenBidding(ONE_NOTRUMP, PASS);
    andPlayersCards("9,8,7,6,2", "A,3", "6,5,3", "5,4,3");
    expectPlayerToBid(TWO_SPADES);
  }

  public void testOpenersResponseToMajorSuitResponseTo1NT() {
    givenBidding(ONE_NOTRUMP, PASS, THREE_HEARTS, PASS);
    andPlayersCards("K,2", "A,Q,3", "A,8,6,5,3", "K,J,3");
    expectPlayerToBid(FOUR_HEARTS);
  }

  public void testOpeningOneNTSequence() {
    Auctioneer a = new Auctioneer(West.i());
    BiddingAgent west = new BiddingAgent(a, new Hand("K,2", "A,Q,3", "A,8,6,5,3", "K,J,3"));
    assertEquals(ONE_NOTRUMP, west.getBid());
    a.bid(ONE_NOTRUMP);
    a.bid(PASS);
    BiddingAgent east = new BiddingAgent(a, new Hand("K,8,7,6", "A,3,2", "6,5,3", "Q,4,3"));
    assertEquals(TWO_NOTRUMP, east.getBid());
    a.bid(TWO_NOTRUMP);
    a.bid(PASS);
    assertEquals(THREE_NOTRUMP, west.getBid());
  }

  public void testOpenOneColor5ColorSuit() {
    givenNoPriorBids();
    andPlayersCards("K,2", "A,3", "A,8,6,5,3", "5,4,3");
    expectPlayerToBid(ONE_DIAMONDS);
  }

  public void testRespond1ColorWithNewSuit() {
    givenBidding(ONE_DIAMONDS, PASS);
    andPlayersCards("K,3", "K,5,4,3,2", "9,8", "5,4,3,2");
    expectPlayerToBid(ONE_HEARTS);
  }

  public void testRespond1ColorRaisesMajorSuit() {
    givenBidding(ONE_SPADES, PASS);
    andPlayersCards("K,3,2", "K,5,4,3", "9,8,6", "5,4,3");
    expectPlayerToBid(TWO_SPADES);
  }

  public void testRespond1ColorRaisesMajorSuitSupercedesNewSuit() {
    givenBidding(ONE_HEARTS, PASS);
    andPlayersCards("K,10,7,6", "A,9,8,3", "A,8,6,4,2", "");
    expectPlayerToBid(THREE_HEARTS);
  }

  public void testRespond1ColorRaisesMinorSuit() {
    givenBidding(ONE_CLUBS, PASS);
    andPlayersCards("K,3,2", "5,4,3", "9,8,6", "K,5,4,3");
    expectPlayerToBid(TWO_CLUBS);
  }

  public void testRespond1ColorBidsNT() {
    //only way to keep form bidding new suit or raising partner was to have opponents bid
    givenBidding(ONE_CLUBS, ONE_DIAMONDS);
    andPlayersCards("K,3,2", "A,J,4", "K,8,6,3", "K,5,4");
    expectPlayerToBid(TWO_NOTRUMP);
  }

  public void testRebidRespondersColor() {
    givenBidding(ONE_CLUBS, PASS, ONE_DIAMONDS, TWO_CLUBS);
    andPlayersCards("J,8,6", "", "K,7,5,2", "A,K,J,10,9,2");
    expectPlayerToBid(THREE_DIAMONDS);
  }

  public void testRebidNewSuit() {
    givenBidding(ONE_CLUBS, PASS, ONE_DIAMONDS, PASS);
    andPlayersCards("J,5,4,2", "8,4", "A,K,9", "K,5,4,3");
    expectPlayerToBid(ONE_SPADES);
  }

  public void testRebidOriginalSuit() {
    givenBidding(ONE_HEARTS, PASS, ONE_SPADES, PASS);
    andPlayersCards("3,2", "A,K,5,4,3,2", "K,Q,J", "K,8");
    expectPlayerToBid(THREE_HEARTS);
  }

  public void testRebid1ColorWithNT() {
    givenBidding(ONE_SPADES, PASS, ONE_NOTRUMP, PASS);
    andPlayersCards("A,Q,4,3", "K,Q,J", "9,3,2", "A,K,5");
    expectPlayerToBid(THREE_NOTRUMP);
  }

  public void testOvercall1ColorWithOwnColor() {
    givenBidding(ONE_CLUBS);
    andPlayersCards("7,8", "4,3", "A,K,J,9,3,2", "Q,5,4");
  }

  public void testRespondToOvercall() {
    givenBidding(ONE_CLUBS, TWO_DIAMONDS, PASS);
    andPlayersCards("10,9,8,7", "K,3,2", "A,J,9", "9,5,4");
    expectPlayerToBid(THREE_DIAMONDS);
  }

  public void testOvercall1NT() {
    givenBidding(ONE_CLUBS);
    andPlayersCards("A,K,2", "A,Q,3", "8,6,5,3", "K,J,3");
    expectPlayerToBid(ONE_NOTRUMP);
  }

  public void testRespondOvercall1NT() {
    givenBidding(ONE_CLUBS, ONE_NOTRUMP, PASS);
    andPlayersCards("9,8,7,6,2", "A,3", "6,5,3", "Q,4,3");
    expectPlayerToBid(TWO_SPADES);
  }

  public void testHaveToBidSomething() {
    givenNoPriorBids();
    andPlayersCards("5,4,3,2", "5,4,3", "6,5,3", "5,4,3");
    expectPlayerToBid(PASS);
  }

  public void testRP2() {
    Auctioneer a = new Auctioneer(West.i());
    BiddingAgent ba = new BiddingAgent(a, RPQuizzes.Basics.Lesson2.hand2());
    assertEquals(PASS, ba.getBid());
  }

}
TOP

Related Classes of org.gnubridge.core.bidding.BiddingAgentTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.