using DominionBase; using DominionBase.Cards; using DominionBase.Cards.Cornucopia2ndEdition; using DominionBase.Enums; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; namespace DominionBaseUnitTest.Cards { [TestClass] public class UnitTestCornucopia2ndEdition : UnitTestCards { [TestMethod] public void Test_BagOfGold_Basic() { var card = new BagOfGold(); Assert.AreEqual(new Cost(special: true), card.BaseCost); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Prize, card.Category); } [TestMethod] public void Test_Fairgrounds_Basic() { var card = new Fairgrounds(); Assert.AreEqual(new Cost(6), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Victory, card.Category); } [TestMethod] public void Test_FarmingVillage_Basic() { var card = new FarmingVillage(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(2, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Followers_Basic() { var card = new Followers(); Assert.AreEqual(new Cost(special: true), card.BaseCost); Assert.AreEqual(2, card.Benefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack | Categories.Prize, card.Category); } [TestMethod] public void Test_FortuneTeller_Basic() { var card = new FortuneTeller(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Hamlet_Basic() { var card = new Hamlet(); Assert.AreEqual(new Cost(2), 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_HornOfPlenty_Basic() { var card = new HornOfPlenty(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(0), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_HorseTraders_Basic() { var card = new HorseTraders(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(3), card.Benefit.Currency); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(2, card.Benefit.DiscardCards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Reaction, card.Category); } [TestMethod] public void Test_HuntingParty_Basic() { var card = new HuntingParty(); 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_Jester_Basic() { var card = new Jester(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Menagerie_Basic() { var card = new Menagerie(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Remake_Basic() { var card = new Remake(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Tournament_Basic() { var card = new Tournament(); 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_TrustySteed_Basic() { var card = new TrustySteed(); Assert.AreEqual(new Cost(special: true), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Prize, card.Category); } [TestMethod] public void Test_YoungWitch_Basic() { var card = new YoungWitch(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(2, card.Benefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } } }