using DominionBase; using DominionBase.Cards; using DominionBase.Cards.Prosperity; using DominionBase.Enums; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; namespace DominionBaseUnitTest.Cards { [TestClass] public class UnitTestProsperity : UnitTestCards { [TestMethod] public void Test_Bank_Basic() { var card = new Bank(); Assert.AreEqual(new Cost(7), card.BaseCost); Assert.IsTrue(card.Benefit.Currency.IsVariable); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_Bishop_Basic() { var card = new Bishop(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(1, card.Benefit.VictoryPoints); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_City_Basic() { var card = new City(); Assert.AreEqual(new Cost(5), 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_Colony_Basic() { var card = new Colony(); Assert.AreEqual(new Cost(11), card.BaseCost); Assert.AreEqual(10, card.VictoryPoints); Assert.AreEqual(Categories.Card | Categories.Victory, card.Category); } [TestMethod] public void Test_Contraband_Basic() { var card = new Contraband(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(3), card.Benefit.Currency); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_CountingHouse_Basic() { var card = new CountingHouse(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Expand_Basic() { var card = new Expand(); Assert.AreEqual(new Cost(7), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Forge_Basic() { var card = new Forge(); Assert.AreEqual(new Cost(7), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Goons_Basic() { var card = new Goons(); Assert.AreEqual(new Cost(6), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_GrandMarket_Basic() { var card = new GrandMarket(); Assert.AreEqual(new Cost(6), card.BaseCost); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(1, card.Benefit.Actions); 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_Hoard_Basic() { var card = new Hoard(); Assert.AreEqual(new Cost(6), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_KingsCourt_Basic() { var card = new KingsCourt(); Assert.AreEqual(new Cost(7), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Loan_Basic() { var card = new Loan(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_Mint_Basic() { var card = new Mint(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Monument_Basic() { var card = new Monument(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(1, card.Benefit.VictoryPoints); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Mountebank_Basic() { var card = new Mountebank(); 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_Peddler_Basic() { var card = new Peddler(); Assert.AreEqual(new Cost(8), card.BaseCost); Assert.IsTrue(card.BaseCost.Special); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Platinum_Basic() { var card = new Platinum(); Assert.AreEqual(new Cost(9), card.BaseCost); Assert.AreEqual(new Currency(5), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_Quarry_Basic() { var card = new Quarry(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_Rabble_Basic() { var card = new Rabble(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(3, card.Benefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_RoyalSeal_Basic() { var card = new RoyalSeal(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_Talisman_Basic() { var card = new Talisman(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure, card.Category); } [TestMethod] public void Test_TradeRoute_Basic() { var card = new TradeRoute(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Vault_Basic() { var card = new Vault(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(2, card.Benefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Venture_Basic() { var card = new Venture(); 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_Watchtower_Basic() { var card = new Watchtower(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Reaction, card.Category); } [TestMethod] public void Test_WorkersVillage_Basic() { var card = new WorkersVillage(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(2, card.Benefit.Actions); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } } }