public void PlayerScoreRecord_Publish_ScoreIsPublished()
        {
            PlayerScoreRecord playerScoreRecord = PlayerScoreRecord.Create(TournamentTestData.PlayerId, TournamentTestData.PlayingHandicap, TournamentTestData.HoleScoresNoReturn);

            playerScoreRecord.SetCountBackScores(TournamentTestData.Last9HolesScore, TournamentTestData.Last6HolesScore, TournamentTestData.Last3HolesScore);

            playerScoreRecord.Publish();

            playerScoreRecord.IsPublished.ShouldBeTrue();
        }
        public void PlayerScoreRecord_SetCountBackScore_CountbackScoresRecorded()
        {
            PlayerScoreRecord playerScoreRecord = PlayerScoreRecord.Create(TournamentTestData.PlayerId, TournamentTestData.PlayingHandicap, TournamentTestData.HoleScoresNoReturn);

            playerScoreRecord.SetCountBackScores(TournamentTestData.Last9HolesScore, TournamentTestData.Last6HolesScore, TournamentTestData.Last3HolesScore);

            playerScoreRecord.Last9HolesScore.ShouldBe(TournamentTestData.Last9HolesScore);
            playerScoreRecord.Last6HolesScore.ShouldBe(TournamentTestData.Last6HolesScore);
            playerScoreRecord.Last3HolesScore.ShouldBe(TournamentTestData.Last3HolesScore);
        }
        public void PlayerScoreRecord_SetResultDetails_ResultDetailsAreSet()
        {
            PlayerScoreRecord playerScoreRecord = PlayerScoreRecord.Create(TournamentTestData.PlayerId, TournamentTestData.PlayingHandicap, TournamentTestData.HoleScoresNoReturn);

            playerScoreRecord.SetCountBackScores(TournamentTestData.Last9HolesScore, TournamentTestData.Last6HolesScore, TournamentTestData.Last3HolesScore);

            playerScoreRecord.Publish();

            playerScoreRecord.SetResultDetails(TournamentTestData.DivisionPosition, TournamentTestData.Division);

            playerScoreRecord.Position.ShouldBe(TournamentTestData.DivisionPosition);
            playerScoreRecord.TournamentDivision.ShouldBe(TournamentTestData.Division);
        }
        public void PlayerScoreRecord_Create_NoReturn_IsCreated()
        {
            PlayerScoreRecord playerScoreRecord = PlayerScoreRecord.Create(TournamentTestData.PlayerId, TournamentTestData.PlayingHandicap, TournamentTestData.HoleScoresNoReturn);

            playerScoreRecord.ShouldNotBeNull();
            playerScoreRecord.PlayerId.ShouldBe(TournamentTestData.PlayerId);
            playerScoreRecord.PlayingHandicap.ShouldBe(TournamentTestData.PlayingHandicap);
            playerScoreRecord.HandicapCategory.ShouldBe(TournamentTestData.HandicapCategory);
            playerScoreRecord.HoleScores.ShouldNotBeNull();
            playerScoreRecord.HoleScores.Count.ShouldBe(TournamentTestData.HoleScores.Count);
            playerScoreRecord.GrossScore.ShouldBe(0);
            playerScoreRecord.NetScore.ShouldBe(0);
        }
        public void PlayerScoreRecord_Create_IsCreated(Int32 playingHandicap, Int32 expectedCategory)
        {
            PlayerScoreRecord playerScoreRecord = PlayerScoreRecord.Create(TournamentTestData.PlayerId, playingHandicap, TournamentTestData.HoleScores);

            playerScoreRecord.ShouldNotBeNull();
            playerScoreRecord.PlayerId.ShouldBe(TournamentTestData.PlayerId);
            playerScoreRecord.PlayingHandicap.ShouldBe(playingHandicap);
            playerScoreRecord.HandicapCategory.ShouldBe(expectedCategory);
            playerScoreRecord.HoleScores.ShouldNotBeNull();
            playerScoreRecord.HoleScores.Count.ShouldBe(TournamentTestData.HoleScores.Count);
            playerScoreRecord.GrossScore.ShouldBe(TournamentTestData.HoleScores.Values.Sum());
            playerScoreRecord.NetScore.ShouldBe(TournamentTestData.HoleScores.Values.Sum() - playingHandicap);
        }