Пример #1
0
        [InlineData(0, 4, 2, false, true, true)]//total 12
        public void VerifyWinConditionTest(int settlements, int cities, int victoryCards, bool longestRoad, bool biggestArmy, bool expected)
        {
            var player = new Mock<IPlayer>();
            player.Setup(p => p.Cards).Returns(CreateVictoryCards(victoryCards));

            var board = new Mock<IBoard>();
            board.Setup(b => b.GetEstablishments(player.Object)).Returns(CreateEstablishments(settlements, 1).Concat(CreateEstablishments(cities, 2)));

            var roadAchievement = CreateAchievement(longestRoad ? player.Object : new Mock<IPlayer>().Object);
            var armhyAchievement = CreateAchievement(biggestArmy ? player.Object : new Mock<IPlayer>().Object);

            var bank = new Bank(board.Object, new[] { roadAchievement, armhyAchievement });

            bool result = bank.VerifyWinCondition(player.Object);
            Assert.Equal(expected, result);
        }
Пример #2
0
        public void CantVerifyWinConditionOnNullPlayer()
        {
            var board = new Mock<IBoard>();
            var achievements = new IAchievement[0];

            var bank = new Bank(board.Object, achievements);
            Assert.Throws<ArgumentNullException>(() => bank.VerifyWinCondition(null));
        }