示例#1
0
        public void TestGoalsThatDone()
        {
            for (int numGoals = MinGoals; numGoals <= MaxGoals; numGoals++)
            {
                //Интервал включает все уже совершенные голы
                var interval = new GoalsInterval(1, numGoals);

                for (int hostGoalsCount = 1; hostGoalsCount <= interval.Length; hostGoalsCount++)
                {
                    var goalsList = new List <GoalType>();
                    for (int k = 1; k <= hostGoalsCount; k++)
                    {
                        goalsList.Add(GoalType.Host);
                    }

                    int guestGoalsCount = interval.Length - hostGoalsCount;
                    for (int i = 0; i < guestGoalsCount; i++)
                    {
                        goalsList.Add(GoalType.Guest);
                    }
                    var hostsWonProbExpected  = hostGoalsCount > guestGoalsCount? 1d : 0d;
                    var guestsWonProbExpected = guestGoalsCount > hostGoalsCount ? 1d : 0d;
                    var drawProbExpected      = 1 - hostsWonProbExpected - guestsWonProbExpected;
                    var inputData             = new InputData(Constants.MinutesPerMatch, goalsList, interval, StatsData.MeanHostGoals,
                                                              StatsData.MeanGuestGoals);
                    var probsResult   = ProbModel.ComputeProbs(inputData).Result;
                    var guestsWonProb = probsResult.GuestsWonProb;
                    var hostsWonProb  = probsResult.HostsWonProb;
                    var drawProb      = probsResult.DrawProb;
                    Assert.AreEqual(hostsWonProbExpected, hostsWonProb, Delta);
                    Assert.AreEqual(guestsWonProbExpected, guestsWonProb, Delta);
                    Assert.AreEqual(drawProbExpected, drawProb, Delta);
                }
            }
        }
示例#2
0
 public void TestSingleGoalInterval()
 {
     for (int i = MinGoals; i <= MaxGoals; i++)
     {
         var interval  = new GoalsInterval(i);
         var inputData = new InputData(Constants.MinutesPerMatch, EmptyGoals, interval, StatsData.MeanHostGoals,
                                       StatsData.MeanGuestGoals);
         var res = ProbModel.ComputeProbs(inputData);
     }
 }