static void Main() { var cardGameRunner = new CardGameRunnerFactory(new ConsoleGameProgressReporter()).Create(); cardGameRunner.InitGame(); cardGameRunner.DetermineWinner(); cardGameRunner.SimulateGame(); }
public void Test() { //preparation var progressReporter = new StringListGameProgressReporter(); var cardGameRunner = new CardGameRunnerFactory(progressReporter).Create(); cardGameRunner.InitGame(); //run var determinedWinner = cardGameRunner.DetermineWinner(); var winner = cardGameRunner.SimulateGame(); //test determinedWinner.Should().NotBeEmpty(); winner.Should().NotBeEmpty(); winner.Should().Be(determinedWinner); var lastMessage = progressReporter.Messages.Last(); lastMessage.Should().Contain("Game finished, winner is"); lastMessage.Should().Contain(determinedWinner); }