using DominionBase; using DominionBase.Cards; using DominionBase.Cards.Seaside; using DominionBase.Enums; using Microsoft.VisualStudio.TestTools.UnitTesting; using Moq; namespace DominionBaseUnitTest.Cards { [TestClass] public class UnitTestSeaside : UnitTestCards { [TestMethod] public void Test_Ambassador_Basic() { var card = new Ambassador(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Bazaar_Basic() { var card = new Bazaar(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(2, card.Benefit.Actions); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Caravan_Basic() { var card = new Caravan(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(1, card.Benefit.Cards); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(1, card.DurationBenefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } [TestMethod] public void Test_Cutpurse_Basic() { var card = new Cutpurse(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Embargo_Basic() { var card = new Embargo(); 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_Explorer_Basic() { var card = new Explorer(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_FishingVillage_Basic() { var card = new FishingVillage(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(2, card.Benefit.Actions); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(1, card.DurationBenefit.Actions); Assert.AreEqual(new Currency(1), card.DurationBenefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } [TestMethod] public void Test_GhostShip_Basic() { var card = new GhostShip(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(2, card.Benefit.Cards); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Haven_Basic() { var card = new Haven(); 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 | Categories.Duration, card.Category); } [TestMethod] public void Test_Island_Basic() { var card = new Island(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(2, card.VictoryPoints); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Victory, card.Category); } [TestMethod] public void Test_Lighthouse_Basic() { var card = new Lighthouse(); Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(new Currency(1), card.Benefit.Currency); Assert.AreEqual(new Currency(1), card.DurationBenefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } [TestMethod] public void Test_Lookout_Basic() { var card = new Lookout(); 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_MerchantShip_Basic() { var card = new MerchantShip(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(new Currency(2), card.DurationBenefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } [TestMethod] public void Test_NativeVillage_Basic() { var card = new NativeVillage(); Assert.AreEqual(new Cost(2), card.BaseCost); Assert.AreEqual(2, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Navigator_Basic() { var card = new Navigator(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(new Currency(2), card.Benefit.Currency); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Outpost_Basic() { var card = new Outpost(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } [TestMethod] public void Test_PearlDiver_Basic() { var card = new PearlDiver(); 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_PirateShip_Basic() { var card = new PirateShip(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Salvager_Basic() { var card = new Salvager(); 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_SeaHag_Basic() { var card = new SeaHag(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Attack, card.Category); } [TestMethod] public void Test_Smugglers_Basic() { var card = new Smugglers(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Tactician_Basic() { var card = new Tactician(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } [TestMethod] public void Test_TreasureMap_Basic() { var card = new TreasureMap(); Assert.AreEqual(new Cost(4), card.BaseCost); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Treasury_Basic() { var card = new Treasury(); 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_Warehouse_Basic() { var card = new Warehouse(); Assert.AreEqual(new Cost(3), card.BaseCost); Assert.AreEqual(3, card.Benefit.Cards); Assert.AreEqual(1, card.Benefit.Actions); Assert.AreEqual(Categories.Card | Categories.Action, card.Category); } [TestMethod] public void Test_Wharf_Basic() { var card = new Wharf(); Assert.AreEqual(new Cost(5), card.BaseCost); Assert.AreEqual(2, card.Benefit.Cards); Assert.AreEqual(1, card.Benefit.Buys); Assert.AreEqual(Categories.Card | Categories.Action | Categories.Duration, card.Category); } } }