Package org.gnubridge.core.bidding.rules

Source Code of org.gnubridge.core.bidding.rules.Rebid1NTTest

package org.gnubridge.core.bidding.rules;

import junit.framework.TestCase;

import org.gnubridge.core.Hand;
import org.gnubridge.core.West;
import org.gnubridge.core.bidding.Auctioneer;
import org.gnubridge.core.bidding.Bid;
import org.gnubridge.core.bidding.Pass;
import org.gnubridge.core.deck.Diamonds;
import org.gnubridge.core.deck.Hearts;
import org.gnubridge.core.deck.NoTrump;
import org.gnubridge.core.deck.Spades;

public class Rebid1NTTest extends TestCase {
  public void testRaiseTo4IfAtLeast3CardsInColor() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, NoTrump.i()));
    a.bid(new Pass());
    a.bid(new Bid(3, Hearts.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,2", "A,3,2", "A,Q,8,6", "K,J,5,3"));
    assertEquals(new Bid(4, Hearts.i()), rule.getBid());

    Auctioneer a2 = new Auctioneer(West.i());
    a2.bid(new Bid(1, NoTrump.i()));
    a2.bid(new Pass());
    a2.bid(new Bid(3, Spades.i()));
    a2.bid(new Pass());
    Rebid1NT triangulate = new Rebid1NT(
        a2, new Hand("A,Q,3", "K,2", "A,8,6,3", "K,J,5,3"));
    assertEquals(new Bid(4, Spades.i()), triangulate.getBid());
  }

  public void testRaiseTo3NTIfDoubletonInColor() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, NoTrump.i()));
    a.bid(new Pass());
    a.bid(new Bid(3, Hearts.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,3,2", "A,3", "A,Q,8,6", "K,J,5,3"));
    assertEquals(new Bid(3, NoTrump.i()), rule.getBid());
  }
  public void testDoNotRespondIfPartnerDidNotCallAMajorColor() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, NoTrump.i()));
    a.bid(new Pass());
    a.bid(new Bid(3, Diamonds.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,3,2", "A,3", "A,Q,8,6", "K,J,5,3"));
    assertNull(rule.getBid());
  }
  public void testPassIfPartnerCalled2InAMajorColor() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, NoTrump.i()));
    a.bid(new Pass());
    a.bid(new Bid(2, Spades.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,3,2", "A,3", "A,Q,8,6", "K,J,5,3"));
    assertEquals(new Pass(), rule.getBid());
  }
  public void test2NTInvitational16HCP() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, NoTrump.i()));
    a.bid(new Pass());
    a.bid(new Bid(2, NoTrump.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,3,2", "A,3", "A,J,8,6", "K,J,5,3"));
    assertEquals(new Pass(), rule.getBid());
  }
  public void test2NTInvitational18HCP() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, NoTrump.i()));
    a.bid(new Pass());
    a.bid(new Bid(2, NoTrump.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,3,2", "A,3", "A,K,8,6", "K,J,5,3"));
    assertEquals(new Bid(3, NoTrump.i()), rule.getBid());
  }
  public void test3NTSignoff() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, NoTrump.i()));
    a.bid(new Pass());
    a.bid(new Bid(3, NoTrump.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,3,2", "A,3", "A,K,8,6", "K,J,5,3"));
    assertEquals(new Pass(), rule.getBid());
  }
  public void testDoNotRespondIfPartnersBidWasAnOpening() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(3, Spades.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,3,2", "A,3", "A,Q,8,6", "K,J,5,3"));
    assertNull(rule.getBid());
  }
  public void testDoNotRespondIfPartnersBidWasNotRespondingTo1NT() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, Spades.i()));
    a.bid(new Pass());
    a.bid(new Bid(3, Spades.i()));
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("K,3,2", "A,3", "A,Q,8,6", "K,J,5,3"));
    assertEquals(null, rule.getBid());
  }
 
  public void testBugIdentifyingPartnersBidThrowsNPE() {
    Auctioneer a = new Auctioneer(West.i());
    a.bid(new Bid(1, NoTrump.i()));
    a.bid(new Pass());
    a.bid(new Pass());
    a.bid(new Pass());
    Rebid1NT rule = new Rebid1NT(
        a, new Hand("A,K,5,2", "8,6,5,2", "A,Q,9", "A,7"))
    assertEquals(null, rule.getBid());
  }

}
TOP

Related Classes of org.gnubridge.core.bidding.rules.Rebid1NTTest

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.