public void NotCurrentPlayerExceptionThrowsTest(
            [Frozen] Game game,
            VerifyPlayCardGameAction sut)
        {
            game.IsFinished = false;

            Assert.Throws <NotCurrentPlayerException>(() => sut.Execute(1));
        }
        public void GameFinishedExceptionThrowsTest(
            [Frozen] Game game,
            VerifyPlayCardGameAction sut)
        {
            game.IsFinished = true;

            Assert.Throws <GameFinishedException>(() => sut.Execute(1));
        }
        public void NotEnoughResourcesExceptionThrowsTest(
            [Frozen] Game game,
            [Frozen] Player player,
            [Frozen] Mock <Card> cardMock,
            VerifyPlayCardGameAction sut)
        {
            game.IsFinished  = false;
            game.FirstPlayer = player;
            cardMock.Setup(c => c.IsEnoughResources(It.IsAny <Resources>())).Returns(false);

            Assert.Throws <NotEnoughResourcesException>(() => sut.Execute(1));
        }
        public void NoExceptionThrowsTest(
            [Frozen] Game game,
            [Frozen] Player player,
            [Frozen] Mock <Card> cardMock,
            VerifyPlayCardGameAction sut)
        {
            game.IsFinished  = false;
            game.FirstPlayer = player;
            game.FirstPlayer.CardSet.Cards[1] = cardMock.Object;
            cardMock.Setup(c => c.IsEnoughResources(It.IsAny <Resources>())).Returns(true);

            sut.Execute(1);
        }