示例#1
0
文件: GameTest.cs 项目: Corne/VOC
        public void PlayDevelopmentCardCallsCurrentTurn()
        {
            var players = CreateFakePlayers(3);
            var provider = new Mock<ITurnProvider>();
            var turn = new Mock<IGameTurn>();
            provider.Setup(p => p.GetNext()).Returns(turn.Object);

            var card = new Mock<IDevelopmentCard>();
            var bank = new Mock<IBank>();

            var game = new Game(players, provider.Object, bank.Object);
            game.Start();

            game.PlayDevelopmentCard(card.Object);

            turn.Verify(t => t.PlayDevelopmentCard(card.Object));
        }
示例#2
0
文件: GameTest.cs 项目: Corne/VOC
        public void CantPlayDevelopmentCardIfCurrentTurnIsNotGameTurn()
        {
            var players = CreateFakePlayers(3);
            var provider = new Mock<ITurnProvider>();
            var turn = new Mock<ITurn>();
            provider.Setup(p => p.GetNext()).Returns(turn.Object);

            var card = new Mock<IDevelopmentCard>();
            var bank = new Mock<IBank>();

            var game = new Game(players, provider.Object, bank.Object);
            game.Start();

            Assert.Throws<InvalidOperationException>((() => game.PlayDevelopmentCard(card.Object)));
        }