private void AssertReset(int playerCount) { ConfigureGame(playerCount); // Dirty up the players. foreach (var p in Game.Players) { p.IsAlive = Random.Next(2) == 1; p.IsChancellor = true; p.IsPresident = true; p.Role = PlayerRole.Hitler; } var util = new GameDataManipulator(Game); util.ResetGame(); Assert.IsTrue(Game.Players.All(p => p.IsAlive), "All players should be alive."); int expectedFascists; switch (Game.Players.Count) { case 5: case 6: expectedFascists = 1; break; case 7: case 8: expectedFascists = 2; break; case 9: case 10: expectedFascists = 3; break; default: throw new Exception("Invalid player count"); } Assert.AreEqual(expectedFascists, Game.Players.Count(p => p.Role == PlayerRole.Fascist), "Expected number of fascists."); Assert.AreEqual(1, Game.Players.Count(p => p.Role == PlayerRole.Hitler), "One player should be Hitler."); Assert.AreEqual(playerCount - expectedFascists - 1, Game.Players.Count(p => p.Role == PlayerRole.Liberal), "Everyone else should be liberals"); }
public void TestInitialize() { Game = new GameData(); Util = new GameDataManipulator(Game); }