public void DefaultMaterial_Medium_Masterwork()
        {
            // Arrange
            var armor = new StuddedLeatherArmor(SizeCategory.Medium)
            {
                IsMasterwork = true
            };

            // Assert
            Assert.AreEqual(0, armor.ArmorCheckPenalty());
            Assert.AreEqual(175, armor.MundaneMarketPrice());
            Assert.AreEqual("Masterwork Studded Leather Armor", armor.ToString());
        }
        public void DefaultMaterial_Large()
        {
            // Arrange
            var armor = new StuddedLeatherArmor(SizeCategory.Large);

            // Assert
            Assert.IsFalse(armor.IsMasterwork);
            Assert.AreEqual(1, armor.ArmorCheckPenalty());
            Assert.AreEqual(5, armor.MaximumDexterityBonus());
            Assert.AreEqual(0, armor.SpeedPenalty);
            Assert.AreEqual(40, armor.GetWeight());
            Assert.AreEqual(50, armor.MundaneMarketPrice());
            Assert.AreEqual(Leather.Hardness, armor.Hardness.MaterialHardness);
            Assert.AreEqual("Studded Leather Armor", armor.ToString());
        }
        public void Dragonhide_Small()
        {
            // Arrange
            var armor = new StuddedLeatherArmor(SizeCategory.Small, DragonhideColor.Red);

            // Assert
            Assert.IsTrue(armor.IsMasterwork);
            Assert.IsFalse(armor.MasterworkIsToggleable);
            Assert.AreEqual(0, armor.ArmorCheckPenalty());
            Assert.AreEqual(5, armor.MaximumDexterityBonus());
            Assert.AreEqual(0, armor.SpeedPenalty);
            Assert.AreEqual(10, armor.GetWeight());
            Assert.AreEqual(350, armor.MundaneMarketPrice());
            Assert.AreEqual(Dragonhide.Hardness, armor.Hardness.MaterialHardness);
            Assert.AreEqual("Red Dragonhide Studded Leather Armor", armor.ToString());
        }