public void show_players_score_and_hand() { int score; string name = "John"; string output; IPlayer player = new HumanPlayer(name); ICard card1 = new Card(Suit.Clubs, Rank.Ace); card1.Visible = false; ICard card2 = new Card(Suit.Hearts, Rank.Two); player.AddCardToHand(card1); player.AddCardToHand(card2); score = 3; output = ops.GetScoreMessage(player); ops.DisplayMessage(output); output = ops.GetHandMessage(player.GetHand(), true); ops.DisplayMessage(output); Assert.AreEqual($"Player {player.GetName()}, Score={score}", mockConsoleIO.GetConsoleWrites()[0]); Assert.AreEqual("Ace of Clubs,Two of Hearts", mockConsoleIO.GetConsoleWrites()[1]); Assert.AreEqual(2, mockConsoleIO.GetConsoleWrites().Count); mockConsoleIO.ClearWriteConsole(); ICard card3 = new Card(Suit.Hearts, Rank.Nine); player.AddCardToHand(card3); score = 12; output = ops.GetScoreMessage(player); ops.DisplayMessage(output); output = ops.GetHandMessage(player.GetHand(), true); ops.DisplayMessage(output); Assert.AreEqual($"Player {player.GetName()}, Score={score}", mockConsoleIO.GetConsoleWrites()[0]); Assert.AreEqual("Ace of Clubs,Two of Hearts,Nine of Hearts", mockConsoleIO.GetConsoleWrites()[1]); Assert.AreEqual(2, mockConsoleIO.GetConsoleWrites().Count); mockConsoleIO.ClearWriteConsole(); ICard card4 = new Card(Suit.Spades, Rank.Eight); player.AddCardToHand(card4); score = 20; output = ops.GetScoreMessage(player); ops.DisplayMessage(output); output = ops.GetHandMessage(player.GetHand(), true); ops.DisplayMessage(output); Assert.AreEqual($"Player {player.GetName()}, Score={score}", mockConsoleIO.GetConsoleWrites()[0]); Assert.AreEqual("Ace of Clubs,Two of Hearts,Nine of Hearts,Eight of Spades", mockConsoleIO.GetConsoleWrites()[1]); Assert.AreEqual(2, mockConsoleIO.GetConsoleWrites().Count); Dependencies.consoleIO.reset(); }
public void allow_writeline_to_console() { mockConsoleIO.ClearWriteConsole(); string output1 = "output data 1"; string output2 = "output data 2"; mockConsoleIO.WriteLine(output1); int writesCount1 = mockConsoleIO.GetConsoleWrites().Count; mockConsoleIO.WriteLine(output2); int writesCount2 = mockConsoleIO.GetConsoleWrites().Count; List <string> writes = mockConsoleIO.GetConsoleWrites(); Assert.AreEqual <string>(output1, writes[0]); Assert.AreEqual <string>(output2, writes[1]); Assert.AreEqual(1, writesCount1); Assert.AreEqual(2, writesCount2); }