public void SetUp()
 {
     gameServiceMoq    = new Mock <IGameService>();
     timeServiceMoq    = new Mock <ITimeService>();
     contestantService = new InMemoryContestantService(gameServiceMoq.Object, timeServiceMoq.Object);
     timeServiceMoq.Setup(ts => ts.Now()).Returns(DateTime.Now);
 }
        public void VerifyGradesArePersisted()
        {
            var gameService       = new GameService();
            var contestantService = new InMemoryContestantService(gameService, timeServiceMoq.Object);
            var startingBoard     = new Coordinate[]
            {
                new Coordinate {
                    X = 1, Y = 1
                }
            };
            var endingBoard = new Coordinate[]
            {
                new Coordinate {
                    X = 1, Y = 1
                }
            };

            gameService.StartGame(startingBoard, 100, endingBoard);
            var jonathan = new Contestant(
                "jonathan",
                "token",
                DateTime.Now,
                0
                );

            contestantService.AddContestant(jonathan);

            jonathan = jonathan
                       .UpdateGenerationsComputed(100)
                       .UpdateFinalBoard(endingBoard);

            contestantService.UpdateContestant(jonathan);

            var newJonathan = contestantService.GetContestantByToken(jonathan.Token);

            newJonathan.CorrectFinalBoard.Should().BeTrue();
        }