public void CheckApplyCardParams() { gm = GameControllerTestHelper.InitDemoGame(); GameControllerTestHelper.useCard(2, gm); var playerParams = gm.GetPlayerParams(SelectPlayer.First); Assert.AreEqual(playerParams[Attributes.Wall], 5 - 4, "Не правильно применен параметр PlayerWall"); Assert.AreEqual(playerParams[Attributes.Tower], 10 - 8, "Не правильно применен параметр PlayerTower"); Assert.AreEqual(playerParams[Attributes.DiamondMines], 1 + 2, "Не правильно применен параметр PlayerDiamondMines"); Assert.AreEqual(playerParams[Attributes.Menagerie], 1 + 3, "Не правильно применен параметр PlayerMenagerie"); Assert.AreEqual(playerParams[Attributes.Colliery], 1 + 4, "Не правильно применен параметр PlayerColliery"); Assert.AreEqual(playerParams[Attributes.Diamonds], 5 + 11 + 3, "Не правильно применен параметр PlayerDiamonds"); Assert.AreEqual(playerParams[Attributes.Animals], 5 + 12 + 4 - 5, "Не правильно применен параметр PlayerAnimals"); Assert.AreEqual(playerParams[Attributes.Rocks], 5 + 13 + 5, "Не правильно применен параметр PlayerRocks"); playerParams = gm.GetPlayerParams(SelectPlayer.Second); Assert.AreEqual(playerParams[Attributes.Wall], 5 - 4, "Не правильно применен параметр EnemyWall"); Assert.AreEqual(playerParams[Attributes.Tower], 10 - 8, "Не правильно применен параметр EnemyTower"); Assert.AreEqual(playerParams[Attributes.DiamondMines], 1 + 2, "Не правильно применен параметр EnemyDiamondMines"); Assert.AreEqual(playerParams[Attributes.Menagerie], 1 + 3, "Не правильно применен параметр EnemyMenagerie"); Assert.AreEqual(playerParams[Attributes.Colliery], 1 + 4, "Не правильно применен параметр EnemyColliery"); Assert.AreEqual(playerParams[Attributes.Diamonds], 5 + 11, "Не правильно применен параметр EnemyDiamonds"); Assert.AreEqual(playerParams[Attributes.Animals], 5 + 12, "Не правильно применен параметр EnemyAnimals"); Assert.AreEqual(playerParams[Attributes.Rocks], 5 + 13, "Не правильно применен параметр EnemyRocks"); }
public void CheckApplyEnemyDirectDamage() { gm = GameControllerTestHelper.InitDemoGame(); GameControllerTestHelper.useCard(3, gm); Assert.AreEqual(gm.GetPlayerParams(SelectPlayer.Second)[Attributes.Wall], 0, "Не правильно применен параметр EnemyDirectDamage"); Assert.AreEqual(gm.GetPlayerParams(SelectPlayer.Second)[Attributes.Tower], 0, "Не правильно применен параметр EnemyDirectDamage"); }
public void CheckAddDiamonds() { gm = GameControllerTestHelper.InitDemoGame(2); GameControllerTestHelper.useCard(6, gm); var playerParams = gm.GetPlayerParams(SelectPlayer.First); Assert.AreEqual(playerParams[Attributes.Diamonds], 5 + 11 + 1, "Не правильно применен параметр PlayerDiamonds"); }
public void AICanPassMove() { gm = GameControllerTestHelper.InitDemoGame(5); GameControllerTestHelper.PassStroke(gm); //Внимание: при усовершенствование AI данный тест может измениться, .т.к. комп уже осознано будет выбирать какую карту сбросить Assert.AreEqual(gm.logCard.LastOrDefault(x => x.player.type == TypePlayer.AI && x.gameEvent == GameEvent.Droped).card.id, 2, "AI должен сбросить карту 2"); }
public void PlayerMustWin() { gm = GameControllerTestHelper.InitDemoGame(); GameControllerTestHelper.useCard(1, gm); Assert.AreEqual(gm.GetPlayerParams(SelectPlayer.Second)[Attributes.Tower], 0, "Башня врага должна быть уничтожена"); Assert.AreEqual(gm.Status, CurrentAction.UpdateStatHuman, "Текущий статус должен быть равным обновлению статистики игрока"); gm.SendGameNotification(new Dictionary <string, object>() { { "CurrentAction", CurrentAction.EndHumanMove } }); Assert.AreEqual(gm.Winner, "Human", "Игрок не может проиграть!"); }
public void AICanGetAnotherCard() { //Внимание: при усовершенствование AI данный тест может измениться, .т.к. комп уже осознано будет выбирать какую карту сбросить gm = GameControllerTestHelper.InitDemoGame(4); GameControllerTestHelper.PassStroke(gm); Assert.AreEqual(gm.logCard.LastOrDefault(x => x.player.type == TypePlayer.AI && x.gameEvent == GameEvent.Used).card.id, 6, "AI должен был использовать карту 6"); Assert.AreEqual(gm.logCard.FirstOrDefault(x => x.player.type == TypePlayer.AI && x.gameEvent == GameEvent.Used).card.id, 55, "AI должен был использовать карту 55"); Assert.AreEqual(gm.GetAIUsedCard().Count, 2, "AI должен был использовать 2 карты"); }
public void ComputerMustWin() { gm = GameControllerTestHelper.InitDemoGame(3); GameControllerTestHelper.PassStroke(gm); gm.SendGameNotification(new Dictionary <string, object>() { { "CurrentAction", CurrentAction.AIMoveIsAnimated } }); Assert.AreEqual(gm.Status, CurrentAction.UpdateStatAI, "Текущий статус должен быть равным обновлению статистики компьютера"); gm.SendGameNotification(new Dictionary <string, object>() { { "CurrentAction", CurrentAction.EndAIMove } }); Assert.AreEqual(gm.GetPlayerParams(SelectPlayer.First)[Attributes.Tower], 0, "Башня врага должна быть уничтожена"); Assert.AreEqual(gm.Winner, "AI", "Компьютер не может проиграть!"); }
public void CheckPlayAgain() { gm = GameControllerTestHelper.InitDemoGame(); Assert.AreEqual(gm.IsCanUseCard(55), true, "Не возможно использовать карту"); gm.SendGameNotification(new Dictionary <string, object>() { { "CurrentAction", CurrentAction.HumanUseCard }, { "ID", 55 } }); Assert.AreEqual(gm.logCard.FirstOrDefault(x => x.player.type == TypePlayer.Human && x.gameEvent == GameEvent.Used).card.id, 55, "Human должен был использовать карту 55"); var result2 = gm.GetPlayerParams(); Assert.AreEqual(result2[Attributes.Rocks], 7, "Должен быть прирост камней"); Assert.AreEqual(result2[Attributes.Diamonds], 7, "Должен быть прирост брилиантов"); Assert.AreEqual(gm.Status, CurrentAction.WaitHumanMove, "Человек может использовать еще одну карту"); }
public void CheckPlayerInit() { gm = GameControllerTestHelper.InitDemoGame(); Assert.IsNotNull(gm.GetPlayerParams(), "Стартовые параметры игрока не должны быть пустыми"); Assert.IsTrue(gm.GetPlayersCard().Count > 1, " Должно быть хотя бы одна карта"); }
public void PlayerCanUserCard() { gm = GameControllerTestHelper.InitDemoGame(); Assert.AreEqual(gm.IsCanUseCard(1), true, "Не возможно использовать карту"); }
public void GameIsStarted() { gm = GameControllerTestHelper.InitDemoGame(); Assert.AreEqual(gm.Status, CurrentAction.WaitHumanMove, "Игра не стартовала"); }
public void WhichCardUseAI() { gm = GameControllerTestHelper.InitDemoGame(); GameControllerTestHelper.PassStroke(gm); Assert.AreEqual(gm.GetAIUsedCard().LastOrDefault().id, 2, "Компьютер должен использовать карту id 2"); }