public void HealAction_CheckCoins_AreNotEnough()
        {
            GameState state = new GameState();

            state.CurrentPlayer = new Player();
            state.CurrentPlayer.Initialize(10, 10, 10, 9);

            IAction healAction = new HealAction();

            Assert.AreEqual(healAction.CanApply(state, config), false);
        }
        public void HealAction_Heal_DecreaseCoins()
        {
            GameState state = new GameState();

            state.CurrentPlayer = new Player();
            state.CurrentPlayer.Initialize(10, 20, 10, 10);

            IAction healAction = new HealAction();

            Assert.AreEqual(healAction.CanApply(state, config), true);

            ActionResultBase actionResult = healAction.Process(state, config);

            Assert.AreEqual(actionResult.IsSeccessful, true);

            Assert.AreEqual(state.CurrentPlayer.Coins, 0);
            Assert.AreEqual(state.CurrentPlayer.Health, 20);
        }