예제 #1
0
        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.");
        }
예제 #2
0
        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");
        }
예제 #3
0
        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");
        }