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