Exemplo n.º 1
0
        public void DevelopableLand_CorrectRentReturned()
        {
            int[] rentTable = new int[6] {
                10, 30, 90, 160, 250, 350
            };
            DevelopableLand crapperStreet = new DevelopableLand("Crapper Street",
                                                                60, Colour.Brown, rentTable);
            IPlayer player = new HumanPlayer("Bob", 0, Token.Goblet);

            // Bob buys crapper street, rent = £10
            player.BuyProperty(crapperStreet);
            Assert.AreEqual(10, crapperStreet.GetRent());

            // Bob goes to jail, rent = £0
            player.GoToJail(31);
            Assert.AreEqual(0, crapperStreet.GetRent());

            // Bob is released from jail and develops property by 1 house, rent = £30
            // note: development difference rule is enforced by PropertyTycoon
            player.ReleaseFromJail();
            player.DevelopProperty(crapperStreet);
            Assert.AreEqual(30, crapperStreet.GetRent());

            // Bob develops more
            player.DevelopProperty(crapperStreet);
            player.DevelopProperty(crapperStreet);
            Assert.AreEqual(160, crapperStreet.GetRent());

            // Bob sells 1 house
            player.UndevelopProperty(crapperStreet);
            Assert.AreEqual(90, crapperStreet.GetRent());
        }