GameRoom.GameProcess.Tests.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System.Collections.Generic;
  2. using System.Threading.Tasks;
  3. using MafiaTelegramBot.Game;
  4. using MafiaTelegramBot.Game.GameRoles;
  5. using MafiaTelegramBot.Game.GameRooms;
  6. using MafiaTelegramBot.Resources;
  7. using Xunit;
  8. namespace MafiaTelegramBotTests.Game.Tests.GameRooms.Tests
  9. {
  10. public class GameRoomTests
  11. {
  12. [Fact]
  13. public async Task Killing_Player_In_Summing_Up_Phase()
  14. {
  15. // arrange
  16. var gameRoom = new NormalGameRoom();
  17. var mafia = new Player {Id = -1, ChatId = -1};
  18. mafia.CurrentRole = new MafiaRole(gameRoom, mafia);
  19. var actual = new Player {Id = -2, ChatId = -2};
  20. actual.CurrentRole = new VillagerRole(gameRoom, actual);
  21. gameRoom.Players.Add(-1, mafia);
  22. gameRoom.Players.Add(-2, actual);
  23. await mafia.CurrentRole.SetNightTarget(-2);
  24. gameRoom.PlayersRole = new Dictionary<Roles, List<Player>>
  25. {
  26. [Roles.Mafia] = new() {mafia},
  27. [Roles.Villager] = new() {actual}
  28. };
  29. var expected = new Player {Id = -2, ChatId = -2, IsAlive = false};
  30. expected.CurrentRole = new VillagerRole(gameRoom, expected);
  31. // actual
  32. await gameRoom.SummingUpPhase();
  33. // assert
  34. Assert.Equal(expected.IsAlive, gameRoom.Players[-2].IsAlive);
  35. }
  36. }
  37. }