public void ApplyTo_NullICharacter_Throws() { // Arrange ICharacter character = null; StoneOfGoodLuck luckstone = new StoneOfGoodLuck(); // Act TestDelegate stow = () => luckstone.ApplyTo(character); // Assert Assert.Throws <ArgumentNullException>(stow); }
public void Default() { // Arrange StoneOfGoodLuck luckstone = new StoneOfGoodLuck(); // Assert Assert.AreEqual(0, luckstone.GetWeight()); Assert.AreEqual(5, luckstone.GetCasterLevel().Value); Assert.AreEqual(8, luckstone.GetHardness()); Assert.AreEqual(15, luckstone.GetHitPoints()); Assert.AreEqual(20000, luckstone.GetMarketPrice()); Assert.AreEqual("Stone of Good Luck", luckstone.GetName()[0].Text); Assert.Contains(School.Evocation, luckstone.GetSchools()); }
public void ApplyTo() { // Arrange var initiativeLuckBonus = Mock.Of <IModifierTracker>(); var fortitudeLuckBonus = Mock.Of <IModifierTracker>(); var reflexLuckBonus = Mock.Of <IModifierTracker>(); var willLuckBonus = Mock.Of <IModifierTracker>(); var skillLuckBonus1 = Mock.Of <IModifierTracker>(); var skill1 = new Mock <ISkill>(); skill1.Setup(s => s.LuckBonuses) .Returns(skillLuckBonus1); var skillLuckBonus2 = Mock.Of <IModifierTracker>(); var skill2 = new Mock <ISkill>(); skill2.Setup(s => s.LuckBonuses) .Returns(skillLuckBonus2); var skillLuckBonus3 = Mock.Of <IModifierTracker>(); var skill3 = new Mock <ISkill>(); skill3.Setup(s => s.LuckBonuses) .Returns(skillLuckBonus3); var mockCharacter = new Mock <ICharacter>(); mockCharacter.Setup(c => c.Initiative.LuckBonuses) .Returns(initiativeLuckBonus); mockCharacter.Setup(c => c.SavingThrows.Fortitude.LuckBonuses) .Returns(fortitudeLuckBonus); mockCharacter.Setup(c => c.SavingThrows.Reflex.LuckBonuses) .Returns(reflexLuckBonus); mockCharacter.Setup(c => c.SavingThrows.Will.LuckBonuses) .Returns(willLuckBonus); mockCharacter.Setup(c => c.Skills.GetAllSkills()) .Returns(new ISkill[] { skill1.Object, skill2.Object, skill3.Object }); StoneOfGoodLuck luckstone = new StoneOfGoodLuck(); // Act luckstone.ApplyTo(mockCharacter.Object); // Assert Mock.Get(initiativeLuckBonus) .Verify(lb => lb.Add(It.Is <Func <byte> >(calc => 1 == calc())), "Stone of Good Luck gives a +1 luck bonus to ability checks; Initiative is an ability check."); Mock.Get(fortitudeLuckBonus) .Verify(lb => lb.Add(It.Is <Func <byte> >(calc => 1 == calc())), "Stone of Good Luck gives a +1 luck bonus to saving throws, including Fortitude."); Mock.Get(reflexLuckBonus) .Verify(lb => lb.Add(It.Is <Func <byte> >(calc => 1 == calc())), "Stone of Good Luck gives a +1 luck bonus to saving throws, including Reflex."); Mock.Get(willLuckBonus) .Verify(lb => lb.Add(It.Is <Func <byte> >(calc => 1 == calc())), "Stone of Good Luck gives a +1 luck bonus to saving throws, including Will."); Mock.Get(skillLuckBonus1) .Verify(lb => lb.Add(It.Is <Func <byte> >(calc => 1 == calc())), "Any skill returned by ISkillSection.GetAllSkills() should receive a +1 luck bonus."); Mock.Get(skillLuckBonus2) .Verify(lb => lb.Add(It.Is <Func <byte> >(calc => 1 == calc())), "Any skill returned by ISkillSection.GetAllSkills() should receive a +1 luck bonus."); Mock.Get(skillLuckBonus3) .Verify(lb => lb.Add(It.Is <Func <byte> >(calc => 1 == calc())), "Any skill returned by ISkillSection.GetAllSkills() should receive a +1 luck bonus."); }