Implements command to pop balloon.
Inheritance: ICommand
Exemplo n.º 1
0
        public void TestIfPopBalloonsCommandCallsTheNeededMethodsFromGameModelAndGameLogic()
        {
            var mockLogic = new Mock<IGameLogicProvider>();
            mockLogic.Setup(x => x.PopBalloons(It.IsAny<IBalloon[,]>(), It.IsAny<int>(), It.IsAny<int>())).Verifiable();
            var mockGame = new Mock<IGameModel>();
            mockGame.SetupGet<IBalloon[,]>(x => x.Field).Returns(() => new IBalloon[5, 10]).Verifiable();

            var context = new Context()
            {
                LogicProvider = mockLogic.Object,
                Game = mockGame.Object
            };

            var popCmd = new PopBalloonCommand();

            popCmd.Execute(context);

            mockLogic.Verify(x => x.PopBalloons(It.IsAny<IBalloon[,]>(), It.IsAny<int>(), It.IsAny<int>()), Times.Once);
            mockLogic.Verify(x => x.LetBalloonsFall(It.IsAny<IBalloon[,]>()), Times.Once);
        }