using DominionBase; using DominionBase.Cards; using DominionBase.Cards.Adventures2ndEdition; using DominionBase.Enums; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; namespace DominionBaseUnitTest.Cards { [TestClass] public class UnitTestAdventures2ndEdition : UnitTestCards { [TestMethod] public void Test_Artificer_Basic() { using (var card = new Artificer()) { Assert.AreEqual(new Cost(5), card.BaseCost); 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_BridgeTroll_Basic() { using (var card = new BridgeTroll()) { Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(1, card.DurationBenefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack | Categories.Duration, card.Category); } } [TestMethod] public void Test_CaravanGuard_Basic() { using (var card = new CaravanGuard()) { Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(new Currency(1), card.DurationBenefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Reaction | Categories.Duration, card.Category); } } [TestMethod] public void Test_CoinOfTheRealm_Basic() { using (var card = new CoinOfTheRealm()) { Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure | Categories.Reserve, card.Category); } } [TestMethod] public void Test_Dungeon_Basic() { using (var card = new Dungeon()) { Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } } [TestMethod] public void Test_Gear_Basic() { using (var card = new Gear()) { Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(2, card.Benefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } } [TestMethod] public void Test_Giant_Basic() { using (var card = new Giant()) { Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } } [TestMethod] public void Test_HauntedWoods_Basic() { using (var card = new HauntedWoods()) { Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(3, card.DurationBenefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack | Categories.Duration, card.Category); } } [TestMethod] public void Test_TreasureHunter_Basic() { using (var card = new TreasureHunter()) { Assert.AreEqual(new Cost(3), card.BaseCost); Assert.IsTrue(card.BaseCost.Special); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Traveller, card.Category); } } [TestMethod] public void Test_Warrior_Basic() { using (var card = new Warrior()) { Assert.AreEqual(new Cost(4), card.BaseCost); Assert.IsTrue(card.BaseCost.Special); Assert.AreEqual(2, card.Benefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack | Categories.Traveller, card.Category); } } [TestMethod] public void Test_Champion_Basic() { using (var card = new Champion()) { Assert.AreEqual(new Cost(6), card.BaseCost); Assert.IsTrue(card.BaseCost.Special); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } } [TestMethod] public void Test_Port_Basic() { using (var card = new Port()) { 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_Ranger_Basic() { using (var card = new Ranger()) { Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } } [TestMethod] public void Test_Raze_Basic() { using (var card = new Raze()) { Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } } [TestMethod] public void Test_Relic_Basic() { using (var card = new Relic()) { Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Treasure | Categories.Attack, card.Category); } } [TestMethod] public void Test_RoyalCarriage_Basic() { using (var card = new RoyalCarriage()) { Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Reserve, card.Category); } } [TestMethod] public void Test_Storyteller_Basic() { using (var card = new Storyteller()) { Assert.AreEqual(new Cost(5), card.BaseCost); 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_SwampHag_Basic() { using (var card = new SwampHag()) { Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(3), card.DurationBenefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack | Categories.Duration, card.Category); } } [TestMethod] public void Test_Transmogrify_Basic() { using (var card = new Transmogrify()) { Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Reserve, card.Category); } } [TestMethod] public void Test_Borrow_Basic() { using (var card = new Borrow()) { Assert.AreEqual(new Cost(0), card.BaseCost); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Ferry_Basic() { using (var card = new Ferry()) { Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Inheritance_Basic() { using (var card = new Inheritance()) { Assert.AreEqual(new Cost(7), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_LostArts_Basic() { using (var card = new LostArts()) { Assert.AreEqual(new Cost(6), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Mission_Basic() { using (var card = new Mission()) { Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Pathfinding_Basic() { using (var card = new Pathfinding()) { Assert.AreEqual(new Cost(8), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Plan_Basic() { using (var card = new Plan()) { Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Raid_Basic() { using (var card = new Raid()) { Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Save_Basic() { using (var card = new Save()) { Assert.AreEqual(new Cost(1), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_ScoutingParty_Basic() { using (var card = new ScoutingParty()) { Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Seaway_Basic() { using (var card = new Seaway()) { Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_Training_Basic() { using (var card = new Training()) { Assert.AreEqual(new Cost(6), card.BaseCost); Assert.AreEqual(Categories.Event, card.Category); } } [TestMethod] public void Test_TravellingFair_Basic() { using (var card = new TravellingFair()) { Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(2, card.Benefit.Buys); Assert.AreEqual(Categories.Event, card.Category); } } } }