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); }
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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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); }
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)); }
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); }
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]); }
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); }