using DominionBase; using DominionBase.Cards; using DominionBase.Cards.Guilds; using DominionBase.Enums; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; namespace DominionBaseUnitTest.Cards { [TestClass] public class UnitTestGuilds : UnitTestCards { [TestMethod] public void Test_Advisor_Basic() { var card = new Advisor(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Baker_Basic() { var card = new Baker(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Butcher_Basic() { var card = new Butcher(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_CandlestickMaker_Basic() { var card = new CandlestickMaker(); Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Doctor_Basic() { var card = new Doctor(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.IsTrue(card.BaseCost.CanOverpay); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Herald_Basic() { var card = new Herald(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.IsTrue(card.BaseCost.CanOverpay); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Journeyman_Basic() { var card = new Journeyman(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Masterpiece_Basic() { var card = new Masterpiece(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.IsTrue(card.BaseCost.CanOverpay); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_MerchantGuild_Basic() { var card = new MerchantGuild(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Plaza_Basic() { var card = new Plaza(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(2, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Soothsayer_Basic() { var card = new Soothsayer(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Stonemason_Basic() { var card = new Stonemason(); Assert.AreEqual(new Cost(2), card.BaseCost); Assert.IsTrue(card.BaseCost.CanOverpay); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Taxman_Basic() { var card = new Taxman(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } } }