Ejemplo n.º 1
0
        public void TestBuyCurrentField()
        {
            Game        game   = new Game(new Player[] { new Player("XXX"), new Player("YYY") });
            StreetField field1 = (StreetField)game.Fields[1];

            game.SetPlayerPos(game.Players[0], 1);
            game.BuyCurrentStreet(game.Players[0]);

            Assert.That(game.Players[0].OwnerShip[0].Name, Is.EqualTo(FieldNames.OldKentRoad));
            Assert.That(game.Players[0].Money, Is.EqualTo(1500 - 60));

            game.SetPlayerPos(game.Players[1], 1);
            Assert.That(() => game.BuyCurrentStreet(game.Players[1]), Throws.InvalidOperationException);
        }
Ejemplo n.º 2
0
        public void TestSetPlayerPosition()
        {
            Game game = new Game(new Player[] { new Player("XXX"), new Player("YYY") });

            game.SetPlayerPos(game.Players[0], 1);
            Assert.That(game.PlayerPos[game.Players[0]], Is.EqualTo(1));
        }
Ejemplo n.º 3
0
        public void TestCrossedStartField()
        {
            Game game = new Game(new Player[] { new Player("XXX"), new Player("YYY") });

            game.SetPlayerPos(game.Players[0], 10);
            game.NextPlayer();
            game.GoForward(game.CurrentPlayer, new int[] { 2, 2 });
            Assert.That(game.Players[0].Money >= 1700, Is.EqualTo(true));
        }
Ejemplo n.º 4
0
        public void TestMoveCardBackWardsAndCrossStart()
        {
            Game game      = new Game(new Player[] { new Player("X"), new Player("Y"), new Player("Z") });
            int  stepsToGo = -3;

            game.SetPlayerPos(game.Players[0], 0);
            MoveCard card = new MoveCard("", stepsToGo, game);

            card.UseCard(game.Players[0]);
            Assert.That(game.PlayerPos[game.Players[0]], Is.EqualTo(10));
        }
Ejemplo n.º 5
0
        public void TestMoveCardForwards()
        {
            Game game      = new Game(new Player[] { new Player("X"), new Player("Y"), new Player("Z") });
            int  stepsToGo = 3;

            game.SetPlayerPos(game.Players[0], 0);
            MoveCard card = new MoveCard("", stepsToGo, game);

            card.UseCard(game.Players[0]);
            Assert.That(game.PlayerPos[game.Players[0]], Is.EqualTo(3));
        }
Ejemplo n.º 6
0
        public void TestMoveToCard()
        {
            Game game     = new Game(new Player[] { new Player("X"), new Player("Y"), new Player("Z") });
            int  position = 3;

            game.SetPlayerPos(game.Players[0], 0);
            MoveToCard card = new MoveToCard("", position, game);

            card.UseCard(game.Players[0]);
            Assert.That(game.PlayerPos[game.Players[0]], Is.EqualTo(3));
        }
Ejemplo n.º 7
0
        public void GoToNextMemberofGroup()
        {
            Game game = new Game(new Player[] { new Player("X"), new Player("Y"), new Player("Z") });
            GoToNextMemberofGroupCard card = new GoToNextMemberofGroupCard("", Groups.TrainStation, game);

            card.UseCard(game.Players[0]);
            Assert.That(game.PlayerPos[game.Players[0]], Is.EqualTo(5));

            game.SetPlayerPos(game.Players[1], 8);
            card.UseCard(game.Players[1]);
            Assert.That(game.PlayerPos[game.Players[1]], Is.EqualTo(5));
        }
Ejemplo n.º 8
0
        public void TestTrainStationField()
        {
            Game game = new Game(new Player[] { new Player("XXX"), new Player("YYY") });
            TrainstationField field5 = ((TrainstationField)game.Fields[5]);
            TrainstationField field6 = ((TrainstationField)game.Fields[6]);

            field5.Buy(game.Players[0]);
            field6.Buy(game.Players[0]);
            Assert.That(() => field5.Buy(game.Players[0]), Throws.InvalidOperationException);
            game.SetPlayerPos(game.Players[1], 5);
            Assert.That(game.Players[1].Money, Is.EqualTo(1500 - 50));
            Assert.That(() => field5.SetRentToPay(100), Throws.ArgumentException);
        }
Ejemplo n.º 9
0
        public void TestPayRent()
        {
            Game        game   = new Game(new Player[] { new Player("XXX"), new Player("YYY") });
            StreetField field1 = (StreetField)game.Fields[1];
            StreetField field2 = (StreetField)game.Fields[2];
            StreetField field3 = (StreetField)game.Fields[3];

            field1.Buy(game.Players[0]);
            field2.Buy(game.Players[0]);
            field1.LevelUp(game.Players[0], 5);

            game.SetPlayerPos(game.Players[1], pos: 1);
            Assert.That(game.Players[1].Money, Is.EqualTo(1500 - 250));
            Assert.That(field3.RentToPay, Is.EqualTo(0));
        }
Ejemplo n.º 10
0
        public void TestTakeMortageSupplierField()
        {
            Game          game   = new Game(new Player[] { new Player("XXX"), new Player("YYY") });
            SupplierField field7 = (SupplierField)game.Fields[7];
            SupplierField field8 = (SupplierField)game.Fields[8];

            field7.Buy(game.Players[0]);

            field7.TakeMortage(game.Players[0]);
            Assert.That(field7.IsMortage, Is.EqualTo(true));
            Assert.That(game.Players[0].Money, Is.EqualTo(1500 - 150 + 75));

            game.SetPlayerPos(game.Players[1], 1);
            Assert.That(game.Players[1].Money, Is.EqualTo(1500));

            Assert.That(() => field8.TakeMortage(game.Players[1]), Throws.InvalidOperationException);
            Assert.That(() => field7.TakeMortage(game.Players[0]), Throws.InvalidOperationException);
            Assert.That(() => field7.TakeMortage(game.Players[1]), Throws.InvalidOperationException);
        }
Ejemplo n.º 11
0
        public void TestTakeMortageTrainStation()
        {
            Game game = new Game(new Player[] { new Player("XXX"), new Player("YYY") });
            TrainstationField field5 = ((TrainstationField)game.Fields[5]);
            TrainstationField field6 = ((TrainstationField)game.Fields[6]);

            field5.Buy(game.Players[0]);

            field5.TakeMortage(game.Players[0]);
            Assert.That(field5.IsMortage, Is.EqualTo(true));
            Assert.That(game.Players[0].Money, Is.EqualTo(1500 - 200 + 100));

            game.SetPlayerPos(game.Players[1], 1);
            Assert.That(game.Players[1].Money, Is.EqualTo(1500));

            Assert.That(() => field6.TakeMortage(game.Players[1]), Throws.InvalidOperationException);
            Assert.That(() => field5.TakeMortage(game.Players[0]), Throws.InvalidOperationException);
            Assert.That(() => field5.TakeMortage(game.Players[1]), Throws.InvalidOperationException);
            field6.Buy(game.Players[0]);
        }
Ejemplo n.º 12
0
        public void TestTakeMortage()
        {
            Game        game   = new Game(new Player[] { new Player("XXX"), new Player("YYY") });
            StreetField field1 = (StreetField)game.Fields[1];
            StreetField field2 = (StreetField)game.Fields[2];
            StreetField field3 = (StreetField)game.Fields[3];

            field1.Buy(game.Players[0]);

            field1.TakeMortage(game.Players[0]);
            Assert.That(field1.IsMortage, Is.EqualTo(true));
            Assert.That(game.Players[0].Money, Is.EqualTo(1500 - 60 + 30));

            game.SetPlayerPos(game.Players[1], 1);
            Assert.That(game.Players[1].Money, Is.EqualTo(1500));

            Assert.That(() => field3.TakeMortage(game.Players[1]), Throws.InvalidOperationException);
            Assert.That(() => field1.TakeMortage(game.Players[0]), Throws.InvalidOperationException);
            Assert.That(() => field1.TakeMortage(game.Players[1]), Throws.InvalidOperationException);
            field2.Buy(game.Players[0]);
            field1.LevelUp(game.Players[0], 5);
            Assert.That(() => field1.TakeMortage(game.Players[0]), Throws.InvalidOperationException);
        }