public void Large_Wood_Default()
        {
            // Arrange
            var shield = new TowerShield(SizeCategory.Large, TowerShieldMaterial.Wood);

            // Assert
            Assert.IsFalse(shield.IsMasterwork);
            Assert.AreEqual(90, shield.GetWeight());
            Assert.AreEqual(Wood.Hardness, shield.GetHardness());
            Assert.AreEqual(40, shield.GetHitPoints());
            Assert.AreEqual(60, shield.GetMarketPrice());
            Assert.AreEqual(10, shield.GetArmorCheckPenalty());
            Assert.AreEqual("Tower Shield", shield.ToString());
        }
        public void Small_Darkwood_Default()
        {
            // Arrange
            var shield = new TowerShield(SizeCategory.Small, TowerShieldMaterial.Darkwood);

            // Assert
            Assert.IsTrue(shield.IsMasterwork);
            Assert.IsFalse(shield.MasterworkIsToggleable);
            Assert.AreEqual(11.25, shield.GetWeight());
            Assert.AreEqual(Darkwood.Hardness, shield.GetHardness());
            Assert.AreEqual(10, shield.GetHitPoints());
            Assert.AreEqual(405, shield.GetMarketPrice());
            Assert.AreEqual(8, shield.GetArmorCheckPenalty());
            Assert.AreEqual("Darkwood Tower Shield", shield.ToString());
        }
        public void Large_Dragonhide_Default()
        {
            // Arrange
            var shield = new TowerShield(SizeCategory.Large, DragonhideColor.Red);

            // Assert
            Assert.IsTrue(shield.IsMasterwork);
            Assert.IsFalse(shield.MasterworkIsToggleable);
            Assert.AreEqual(90, shield.GetWeight());
            Assert.AreEqual(Dragonhide.Hardness, shield.GetHardness());
            Assert.AreEqual(40, shield.GetHitPoints());
            Assert.AreEqual(420, shield.GetMarketPrice());
            Assert.AreEqual(9, shield.GetArmorCheckPenalty());
            Assert.AreEqual("Red Dragonhide Tower Shield", shield.ToString());
        }
        public void Medium_Wood_Masterwork()
        {
            // Arrange
            var shield = new TowerShield(SizeCategory.Medium, TowerShieldMaterial.Wood)
            {
                IsMasterwork = true
            };

            // Assert
            Assert.IsTrue(shield.IsMasterwork);
            Assert.AreEqual(45, shield.GetWeight());
            Assert.AreEqual(Wood.Hardness, shield.GetHardness());
            Assert.AreEqual(20, shield.GetHitPoints());
            Assert.AreEqual(180, shield.GetMarketPrice());
            Assert.AreEqual(9, shield.GetArmorCheckPenalty());
            Assert.AreEqual("Masterwork Tower Shield", shield.ToString());
        }