public void Display_the_top_3_cards_of_the_draw_pile_when_played() { // Arrange Game game = new Game(2, new ExplodingKittens.Writers.MemoryWriter()); ExplodingKittens.Cards.SeeTheFuture card1 = new ExplodingKittens.Cards.SeeTheFuture(game, 1, "Test card 1"); ExplodingKittens.Cards.SeeTheFuture card2 = new ExplodingKittens.Cards.SeeTheFuture(game, 2, "Test card 2"); ExplodingKittens.Cards.SeeTheFuture card3 = new ExplodingKittens.Cards.SeeTheFuture(game, 3, "Test card 3"); ExplodingKittens.Cards.SeeTheFuture card4 = new ExplodingKittens.Cards.SeeTheFuture(game, 4, "Test card 4"); string expectedOutput = string.Format("{0}\n{1}\n{2}\n", card4.ToString(), card3.ToString(), card2.ToString()); game.Deck.DrawPile.Clear(); game.Deck.DrawPile.Push(card2); game.Deck.DrawPile.Push(card3); game.Deck.DrawPile.Push(card4); Player player = game.Players.First.Value; player.Hand.Cards.Clear(); player.Hand.Cards.Add(card1.Id, card1); // Act player.Hand.Cards[card1.Id].Play(); // Assert NUnit.Framework.Assert.AreEqual(game.Writer.Message, expectedOutput); }
public void Have_non_empty_explanation() { // Arrange & Act ExplodingKittens.Cards.SeeTheFuture seeTheFuture = new ExplodingKittens.Cards.SeeTheFuture(null, 1, "Test see the future card"); // Assert NUnit.Framework.Assert.IsNotEmpty(seeTheFuture.Explanation); }
public void Have_card_added_to_play_pile_when_played() { // Arrange Game game = new Game(2); Player player = game.Players.First.Value; int cardCountBefore = game.Deck.PlayPile.Count; // TODO: FIXME: Need a better way of adding test cards (ie. use test cards rather than actual cards) ExplodingKittens.Cards.SeeTheFuture testCard = new ExplodingKittens.Cards.SeeTheFuture(game, 0, "Test card"); player.Hand.Cards.Add(testCard.Id, testCard); // Act player.PlayCard(testCard); // Assert NUnit.Framework.Assert.AreEqual(game.Deck.PlayPile.Count, cardCountBefore += 1); }