using DominionBase; using DominionBase.Cards; using DominionBase.Cards.Hinterlands2ndEdition; using DominionBase.Enums; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; namespace DominionBaseUnitTest.Cards { [TestClass] public class UnitTestHinterlands2ndEdition : UnitTestCards { [TestMethod] public void Test_BorderVillage_Basic() { var card = new BorderVillage(); Assert.AreEqual(new Cost(6), 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_Cache_Basic() { var card = new Cache(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(3), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_Cartographer_Basic() { var card = new Cartographer(); 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_Crossroads_Basic() { var card = new Crossroads(); Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Develop_Basic() { var card = new Develop(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Duchess_Basic() { var card = new Duchess(); Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Farmland_Basic() { var card = new Farmland(); Assert.AreEqual(new Cost(6), card.BaseCost); Assert.AreEqual(2, card.VictoryPoints); Assert.AreEqual(Categories.Card | Categories.Victory, card.Category); } [TestMethod] public void Test_FoolsGold_Basic() { var card = new FoolsGold(); Assert.AreEqual(new Cost(2), card.BaseCost); Assert.IsTrue(card.Benefit.Currency.IsVariable); Assert.AreEqual(Categories.Card | Categories.Treasure | Categories.Reaction, card.Category); } [TestMethod] public void Test_Haggler_Basic() { var card = new Haggler(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_IllGottenGains_Basic() { var card = new IllGottenGains(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_Inn_Basic() { var card = new Inn(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(2, card.Benefit.Cards); Assert.AreEqual(2, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_JackOfAllTrades_Basic() { var card = new JackOfAllTrades(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Mandarin_Basic() { var card = new Mandarin(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(3), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_NobleBrigand_Basic() { var card = new NobleBrigand(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_NomadCamp_Basic() { var card = new NomadCamp(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Oracle_Basic() { var card = new Oracle(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Scheme_Basic() { var card = new Scheme(); Assert.AreEqual(new Cost(3), 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_SilkRoad_Basic() { var card = new SilkRoad(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Victory, card.Category); } [TestMethod] public void Test_SpiceMerchant_Basic() { var card = new SpiceMerchant(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Stables_Basic() { var card = new Stables(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Trader_Basic() { var card = new Trader(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Reaction, card.Category); } [TestMethod] public void Test_Tunnel_Basic() { var card = new Tunnel(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(2, card.VictoryPoints); Assert.AreEqual(Categories.Card | Categories.Victory | Categories.Reaction, card.Category); } } }