/// <summary>
        /// Calculates a team's Pythagorean Winning Percentage
        /// </summary>
        /// <param name = "pointsFor"></param>
        /// <param name = "pointsAgainst"></param>
        /// <returns></returns>
        public virtual double?CalculatePythagoreanWinningPercentage(ITeamSeason teamSeason)
        {
            var numerator   = Math.Pow(teamSeason.PointsFor, Exponent);
            var denominator = Add(Math.Pow(teamSeason.PointsFor, Exponent), Math.Pow(teamSeason.PointsAgainst,
                                                                                     Exponent));
            var pct = Divide(numerator, denominator);

            return(pct);
        }
 public Matchup(ITeamSeason guestSeason, ITeamSeason hostSeason)
 {
     GuestSeason = guestSeason;
     HostSeason  = hostSeason;
 }
        /// <summary>
        /// Calculates a team's winning percentage for the selected season
        /// </summary>
        /// <param name="teamSeason"></param>
        /// <returns></returns>
        public virtual double?CalculateWinningPercentage(ITeamSeason teamSeason)
        {
            var result = Divide((2 * teamSeason.Wins + teamSeason.Ties), (2 * teamSeason.Games));

            return(result);
        }