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 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 WhichCardUseAI() { gm = GameControllerTestHelper.InitDemoGame(); GameControllerTestHelper.PassStroke(gm); Assert.AreEqual(gm.GetAIUsedCard().LastOrDefault().id, 2, "Компьютер должен использовать карту id 2"); }