private void PrepareMockAbility(IAbility <IAbilityDataHub> ability, uint slot, bool reset = true) { ability = Substitute.For <IAbility <IAbilityDataHub> >(); ability.Cooldown.Returns(_cd); ability.ChannelingTime.Returns(_castTime); ability.When(x => x.Cast(_mockFactory, _controller.FinishAbilityCasting)).Do(x => { _casted = true; if (reset) { _controller.FinishAbilityCasting(); } }); _controller.SetAbility(slot, ability); }