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