public void GetMarketPrice_EmptySpellbook_15() { // Arrange var spellbook = new Spellbook(); // Act double marketPrice = spellbook.GetMarketPrice(); // Assert Assert.AreEqual(15, marketPrice, "Incorrect market price for empty spellbook."); }
public void GetMarketPrice_NoobSpellbook_20() { // Arrange var spellbook = new Spellbook(); var mockLevel0 = new Mock <ISpell>(); mockLevel0.Setup(s => s.Level).Returns(0); spellbook.Add(mockLevel0.Object); // Act double marketPrice = spellbook.GetMarketPrice(); // Assert Assert.AreEqual(20, marketPrice, "Incorrect market price for spellbook with one level 0 spell. 15 + 5 = 20gp"); }
public void GetMarketPrice_TypicalSpellbook_355() { // Arrange var spellbook = new Spellbook(); // Add 20 level 0 spells to spellbook for (int i = 0; i < 20; i++) { var mockLevel0 = new Mock <ISpell>(); mockLevel0.Setup(s => s.Level).Returns(0); spellbook.Add(mockLevel0.Object); } // Add 8 level 1 spells to spellbook for (int i = 0; i < 8; i++) { var mockLevel1 = new Mock <ISpell>(); mockLevel1.Setup(s => s.Level).Returns(1); spellbook.Add(mockLevel1.Object); } // Add 4 level 2 spells to spellbook for (int i = 0; i < 4; i++) { var mockLevel2 = new Mock <ISpell>(); mockLevel2.Setup(s => s.Level).Returns(2); spellbook.Add(mockLevel2.Object); } // Act double marketPrice = spellbook.GetMarketPrice(); // Assert Assert.AreEqual(355, marketPrice, "Incorrect market price for spellbook with one level 0 spell. 15 + (20 * 5) + ( 8 * 10 ) + (4 * 40) = 355"); }