public void TestBuildRoad()
        {
            var target = new Player();

            target.incrementSettlements();
            target.generateBrick();
            target.generateLumber();

            target.buildRoad();

            Assert.AreEqual(0, target.getHand().getBrick());
            Assert.AreEqual(0, target.getHand().getLumber());
        }
        public void TestBuildCity()
        {
            var target = new Player();

            target.incrementCities();
            target.generateGrain();
            target.generateOre();
            target.generateOre();

            target.buildCity();

            Assert.AreEqual(1, target.getHand().getOre());
            Assert.AreEqual(0, target.getHand().getGrain());
        }
 public RemoveCardsForm(Player p, GameScreen gs)
 {
     this.player = p;
     this.gameScreen = gs;
     this.hand = p.getHand();
     InitializeComponent();
     updateLabels();
     updateComboBoxes();
 }
 public void TestThatIntersectionCanDetemineWhenPlayerHasExistingConnection()
 {
     var world = new World(3, 0, null);
     Player player = new Player("sam", Color.Turquoise, world);
     player.getHand().incrementAllResources(3);
     world.addPlayer(player);
     world.setCurrentPlayer(player.getName());
     Assert.AreNotEqual(Color.White, world.tryToBuildAtIntersection(new Point(2, 4)));
     Assert.AreNotEqual(Color.White, world.roadButtonClicked(new Point(4, 4)));
     Assert.True(world.getMap().getIslandMap().getIntAtIndex(new Point(2, 5)).playerHasExistingConnection(Color.Turquoise));
 }
        public void TestTradeForDevCard()
        {
            var target = new Player();

            target.incrementSettlements();
            target.generateWool();
            target.generateGrain();
            target.generateOre();

            target.tradeForDevCard();
            Assert.AreEqual(0, target.getHand().getResources());
            Assert.AreEqual(1, target.getHand().getDevCardCount());
        }
        public void TestTradeCards()
        {
            var target = new Player();
            int[] emptyArray = new int[] {0, 0, 0, 0, 0};
            int[] tenArray = new int[] {10, 10, 10, 10, 10};
            target.tradeCards(emptyArray, tenArray);

            Assert.AreEqual(10, target.getHand().getBrick());
            Assert.AreEqual(10, target.getHand().getOre());
            Assert.AreEqual(10, target.getHand().getWool());
            Assert.AreEqual(10, target.getHand().getLumber());
            Assert.AreEqual(10, target.getHand().getGrain());
        }
        public void TestTradeAtPort()
        {
            var target = new Player();

            target.incrementCities();
            target.incrementSettlements();

            target.generateBrick();
            target.generateGrain();
            target.generateLumber();
            target.generateOre();
            target.generateWool();

            target.tradeAtPort(3, "grain", "brick");
            target.tradeAtPort(3, "lumber", "grain");
            target.tradeAtPort(3, "ore", "lumber");
            target.tradeAtPort(3, "wool", "ore");
            target.tradeAtPort(3, "brick", "wool");

            Assert.AreEqual(1, target.getHand().getGrain());
            Assert.AreEqual(1, target.getHand().getLumber());
            Assert.AreEqual(1, target.getHand().getOre());
            Assert.AreEqual(1, target.getHand().getWool());
            Assert.AreEqual(1, target.getHand().getBrick());
        }
 public void TestGetHandWhenEmpty()
 {
     var target = new Player();
     Assert.NotNull(target.getHand());
     Assert.AreEqual(0, target.getHand().getResources());
 }
        public void TestGenerateWoolWithSettlementsThrowsWhenBankHasInsufficientResources()
        {
            var target = new Player();
            target.incrementSettlements();
            target.incrementSettlements();
            target.incrementSettlements();
            target.incrementSettlements();
            target.incrementSettlements();
            Assert.AreEqual(0, target.getSettlementsRemaining());

            target.generateWool();
            target.generateWool();
            target.generateWool();

            Assert.AreEqual(15, target.getHand().getWool());

            target.generateWool();
        }
        public void TestGenerateResourcesWithOnlySettlements()
        {
            var target = new Player();
            target.incrementSettlements();
            target.incrementSettlements();
            Assert.AreEqual(3, target.getSettlementsRemaining());

            target.generateBrick();
            target.generateGrain();
            target.generateLumber();
            target.generateOre();
            target.generateWool();

            Assert.AreEqual(2, target.getHand().getBrick());
            Assert.AreEqual(2, target.getHand().getGrain());
            Assert.AreEqual(2, target.getHand().getLumber());
            Assert.AreEqual(2, target.getHand().getOre());
            Assert.AreEqual(2, target.getHand().getWool());
        }
 public void TestGenerateResourcesWithNoCitiesOrSettlements()
 {
     var target = new Player();
     target.generateBrick();
     target.generateGrain();
     target.generateLumber();
     target.generateOre();
     target.generateWool();
     Assert.AreEqual(0, target.getHand().getResources());
 }
        public void TestGenerateOreWithCitiesThrowsWhenBankHasInsufficientResources()
        {
            var target = new Player();
            target.incrementCities();
            target.incrementCities();
            target.incrementCities();
            target.incrementCities();
            Assert.AreEqual(0, target.getCitiesRemaining());

            target.generateOre();
            target.generateOre();

            Assert.AreEqual(16, target.getHand().getOre());

            target.generateOre();
        }
 public void givePlayerAllResources(Player thePlayer, int numberOfResourcesToGive)
 {
     thePlayer.getHand().incrementAllResources(numberOfResourcesToGive);
     this.bank.decrementAllResources(numberOfResourcesToGive);
 }
        public void TestThatVerticalRoadIsBuiltIfPlayerHasSettlement()
        {
            World world = new World(3, 0, null);
            Player player1 = new Player("Meeeeee!", Color.HotPink, world);
            world.addPlayer(player1);
            world.setCurrentPlayer(player1.getName());

            // Give player 5 resources of each except ore
            player1.getHand().modifyBrick(5);
            player1.getHand().modifyGrain(5);
            player1.getHand().modifyLumber(5);
            player1.getHand().modifyWool(5);
            world.tryToBuildAtIntersection(new Point(0, 2));
            Assert.AreEqual(Color.HotPink, world.roadButtonClicked(new Point(1, 0)));
        }
        public void TestThatSettlementGetsBuild()
        {
            World world = new World(3, 0, null);
            Player player1 = new Player("Meeeeee!", Color.HotPink, world);
            world.addPlayer(player1);
            world.setCurrentPlayer(player1.getName());

            // Give player the resources needed for a settlement
            player1.getHand().modifyBrick(1);
            player1.getHand().modifyGrain(1);
            player1.getHand().modifyLumber(1);
            player1.getHand().modifyWool(1);
            Assert.AreEqual(Color.HotPink, world.tryToBuildAtIntersection(new Point(3, 3)));
            Assert.AreEqual(Global_Variables.GAME_PIECE.SETTLEMENT,
                world.getMap().getIslandMap().getIntAtIndex(3, 3).getPieceType());

            // Give player the resources needed for city
            player1.getHand().modifyOre(5);
            player1.getHand().modifyGrain(5);
            Assert.AreEqual(Color.Black, world.tryToBuildAtIntersection(new Point(3, 3)));
            Assert.AreEqual(Global_Variables.GAME_PIECE.CITY,
                world.getMap().getIslandMap().getIntAtIndex(3, 3).getPieceType());
        }
        public void TestThatBuildingRoadReturnsWhiteIfIndexIsOutOfRange()
        {
            World world = new World(3, 0, null);
            Player player1 = new Player("Meeeeee!", Color.HotPink, world);
            world.addPlayer(player1);
            world.setCurrentPlayer(player1.getName());

            // Give player 5 resources of each except ore
            player1.getHand().modifyBrick(5);
            player1.getHand().modifyGrain(5);
            player1.getHand().modifyLumber(5);
            player1.getHand().modifyWool(5);
            world.tryToBuildAtIntersection(new Point(0, 2));
            Assert.AreEqual(Color.White, world.roadButtonClicked(new Point(52, 1)));
        }