コード例 #1
0
        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");
        }
コード例 #2
0
 public void TestInitialize()
 {
     Game = new GameData();
     Util = new GameDataManipulator(Game);
 }