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); } } }
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); } }