public void Register1_NullIAbilityScore_Throws() { // Arrange var spell = Mock.Of <ISpell>(); IAbilityScore abilityScore = null; var character = Mock.Of <ICharacter>(); SpellRegistrar spellReg = new SpellRegistrar(character); // Act TestDelegate registerMethod = () => spellReg.Register(spell, abilityScore); // Assert Assert.Throws <ArgumentNullException>(registerMethod, "Null arguments are not allowed."); }
public void Register2_NullISpell_Throws() { // Arrange Func <byte> casterLevel = () => 10; ISpell spell = null; var abilityScore = Mock.Of <IAbilityScore>(); var character = Mock.Of <ICharacter>(); SpellRegistrar spellReg = new SpellRegistrar(character); // Act TestDelegate registerMethod = () => spellReg.Register(spell, abilityScore, casterLevel); // Assert Assert.Throws <ArgumentNullException>(registerMethod, "Null arguments are not allowed."); }
public void GetSpellLikeAbilities_Register1_RoundTrip() { // Arrange var spell = Mock.Of <ISpell>(); var abilityScore = Mock.Of <IAbilityScore>(); var character = Mock.Of <ICharacter>(); SpellRegistrar spellReg = new SpellRegistrar(character); ICastableSpell castable = spellReg.Register(spell, abilityScore); // Act var result = spellReg.GetSpells(); // Assert Assert.That(result, Has.Exactly(1).Matches <ICastableSpell>(sp => castable == sp)); }
public void Register1_TriggersEvent() { // Arrange var spell = Mock.Of <ISpell>(); var abilityScore = Mock.Of <IAbilityScore>(); var character = Mock.Of <ICharacter>(); SpellRegistrar spellReg = new SpellRegistrar(character); bool wasCalled = false; // This tracks whether the event was fired. spellReg.OnRegistered += (sender, e) => { wasCalled = true; }; // Act spellReg.Register(spell, abilityScore); // Assert Assert.IsTrue(wasCalled); }