public void testPlayMilitiaSetup() { Game g = new Game(2); Player p = g.getCurrentPlayer(); p.getHand().getHand().Add(CardMother.Militia()); StatusObject o = p.play(CardMother.Militia()); Assert.IsTrue(o.wasPlayedProperly()); Assert.AreEqual(7, p.getCurrency()); p = g.nextTurnPlayer(); Assert.AreEqual(1, p.functionsToCall.Count); o = p.callDelayedFunctions(); Assert.IsTrue(o.wasMilitiaPlayed()); Assert.IsTrue(o.needToContinueWithDelayedFunctions()); List<Card> cards = new List<Card>(); o = p.militiaDiscardEffect(cards); Assert.IsTrue(o.wasMilitiaPlayed()); cards.Add(CardMother.Copper()); cards.Add(CardMother.Copper()); o = p.militiaDiscardEffect(cards); Assert.IsFalse(o.wasMilitiaPlayed()); Assert.IsTrue(o.needToContinueWithDelayedFunctions()); o = p.callDelayedFunctions(); Assert.IsFalse(o.needToContinueWithDelayedFunctions()); }