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); }