public void ApplyTo_NullICharacter_Throws() { // Arrange ICharacter character = null; LightningReflexes feat = new LightningReflexes(); // Act TestDelegate applyTo = () => feat.ApplyTo(character); // Assert Assert.Throws <ArgumentNullException>(applyTo); }
public void ApplyTo_RaisesReflexByTwo() { // Arrange var bonusTracker = Mock.Of <IModifierTracker>(); var mockCharacter = new Mock <ICharacter>(); mockCharacter.Setup(c => c.SavingThrows.Reflex.UntypedBonuses) .Returns(bonusTracker); LightningReflexes feat = new LightningReflexes(); // Act feat.ApplyTo(mockCharacter.Object); // Assert Mock.Get(bonusTracker) .Verify(bt => bt.Add(It.Is <Func <byte> >(calc => 2 == calc())), "Lightning Reflexes did not correctly apply a +2 untyped bonus to the character's Reflex saving throw."); }