public void CastOnCritTriggeredDoesNotOverrideCooldown()
        {
            var(activeDefinition, activeSkill)   = CreateClarityDefinition();
            var(supportDefinition, supportSkill) = CreateCastOnCritTriggeredDefinition();
            var context = MockValueCalculationContextForMainSkill(activeSkill,
                                                                  ("MainSkill.Has.Triggered", 1));
            var sut = CreateSut(activeDefinition, supportDefinition);

            var result = Parse(sut, activeSkill, supportSkill);

            Assert.IsEmpty(GetModifiersWithIdentity(result.Modifiers, "Cooldown"));
        }
        public void CastOnCritTriggeredSetsCooldown()
        {
            var(activeDefinition, activeSkill)   = CreateEnfeebleDefinition();
            var(supportDefinition, supportSkill) = CreateCastOnCritTriggeredDefinition();
            var context = MockValueCalculationContextForMainSkill(activeSkill,
                                                                  ("MainSkill.Has.Triggered", 1));
            var sut = CreateSut(activeDefinition, supportDefinition);

            var result = Parse(sut, activeSkill, supportSkill);

            var actual = GetValueForIdentity(result.Modifiers, "Cooldown").Calculate(context);

            Assert.AreEqual((NodeValue?)supportDefinition.Levels.Values.First().Cooldown, actual);
        }