public void GetTasksCorrectnessStatistic_ReturnExpectedResult(
            IReadOnlyList <CompletedEnglishTask> allTasks,
            TasksCorrectnessStatistic expectedModel)
        {
            // Arrange
            var taskStatistic = new EnglishTaskStatistic(allTasks);

            // Act
            TasksCorrectnessStatistic tasksCorrectnessStatistic = taskStatistic.GetTasksCorrectnessStatistic();

            // Arrange
            tasksCorrectnessStatistic.Should().BeEquivalentTo(expectedModel);
        }
        public static IEnumerable <object[]> GetTasksCorrectnessStatistic_ReturnExpectedResult_Data()
        {
            var itemsPerTask = 10;
            var tasksCount   = 20;

            var    allTasks            = new List <CompletedEnglishTask>();
            double correctPercentage   = 0;
            double incorrectPercentage = 0;

            for (var i = 0; i < tasksCount; i++)
            {
                var correctAnswers   = _random.Next(1, itemsPerTask - 2);
                var incorrectAnswers = itemsPerTask - correctAnswers;
                var task             = CompletedEnglishTaskFactory.GetSimpleModel(itemsPerTask: itemsPerTask, correctAnswers: correctAnswers, incorrectAnswers: incorrectAnswers);
                allTasks.Add(task);

                correctPercentage   += (double)correctAnswers / itemsPerTask;
                incorrectPercentage += (double)incorrectAnswers / itemsPerTask;
            }

            var expectedModel = new TasksCorrectnessStatistic(correctPercentage / tasksCount, incorrectPercentage / tasksCount);

            yield return(new object[] { allTasks, expectedModel });
        }
Beispiel #3
0
 public static TasksCorrectnessStatisticModel GetApplicationModel(TasksCorrectnessStatistic domainModel)
 {
     return(new TasksCorrectnessStatisticModel(domainModel.CorrectPercentage, domainModel.IncorrectPercentage));
 }