BalloonsPop.Core.Commands.PopBalloonCommand.Execute C# (CSharp) Метод

Execute() публичный Метод

Executes PopBalloonCommand.
public Execute ( IContext context ) : void
context IContext
Результат void
        public void Execute(IContext context)
        {
            context.LogicProvider.PopBalloons(context.Game.Field, context.UserRow, context.UserCol);
            context.LogicProvider.LetBalloonsFall(context.Game.Field);
            context.Game.IncrementMoves();
        }

Usage Example

Пример #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);
        }