示例#1
0
        public static EnglishTaskStatistic GetModel(Guid userId)
        {
            var completedEnglishTasks = CompletedEnglishTaskFactory.GetSimpleModels(20, userId);
            var taskStatistic         = new EnglishTaskStatistic(completedEnglishTasks);

            return(taskStatistic);
        }
        public async Task <UserStatisticAggregate> GetAsync(Guid userId)
        {
            EnglishMultimediaStatistic englishMultimediaStatistic = await _englishMultimediaStatisticRepository.GetByUserId(userId);

            EnglishTaskStatistic englishTaskStatistic = await _englishTaskStatisticRepository.GetByUserId(userId);

            var userStatisticAggregate = new UserStatisticAggregate(userId, englishMultimediaStatistic, englishTaskStatistic);

            return(userStatisticAggregate);
        }
        public static UserStatisticAggregate GetModel(Guid userId)
        {
            var completedEnglishMultimedia = CompletedEnglishMultimediaFactory.GetSimpleModels(20, userId);
            var completedTasks             = CompletedEnglishTaskFactory.GetSimpleModels(20, userId);
            var taskStatistic       = new EnglishTaskStatistic(completedTasks);
            var multimediaStatistic = new EnglishMultimediaStatistic(completedEnglishMultimedia);

            var userStatisticAggregate = new UserStatisticAggregate(userId, multimediaStatistic, taskStatistic);

            return(userStatisticAggregate);
        }
        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 void GetTasksPerEnglishLevelStatistic_ReturnExpectedResult(
            IReadOnlyList <CompletedEnglishTask> allTasks,
            IReadOnlyList <PerEnglishLevelStatistic> expectedModels)
        {
            // Arrange
            var taskStatistic = new EnglishTaskStatistic(allTasks);

            // Act
            IReadOnlyList <PerEnglishLevelStatistic> perEnglishLevelStatistics = taskStatistic.GetTasksPerEnglishLevelStatistic();

            // Arrange
            perEnglishLevelStatistics.Should().BeEquivalentTo(expectedModels);
        }
        public void GetFullStatistic_ReturnExpectedResult(
            Guid userId,
            EnglishMultimediaStatistic englishMultimediaStatistic,
            EnglishTaskStatistic englishTaskStatistic,
            FullStatistic expectedFullStatistic)
        {
            // Arrange
            var userStatisticAggregate = new UserStatisticAggregate(userId, englishMultimediaStatistic, englishTaskStatistic);

            // Act
            var fullStatistic = userStatisticAggregate.GetFullStatistic();

            // Arrange
            fullStatistic.Should().BeEquivalentTo(expectedFullStatistic);
        }
示例#7
0
        public async Task GetTasksCorrectnessStatisticByUserId_ReturnsExpectedResult(
            Guid userId,
            EnglishTaskStatistic taskStatistic,
            TasksCorrectnessStatisticModel expectedResult)
        {
            // Arrange
            var applicationMapper       = new ApplicationMapper();
            var taskStatisticRepository = Substitute.For <IEnglishTaskStatisticRepository>();

            taskStatisticRepository
            .GetByUserId(Arg.Any <Guid>())
            .Returns(taskStatistic);

            var service = new EnglishTasksService(taskStatisticRepository, applicationMapper);

            // Act
            TasksCorrectnessStatisticModel correctnessStatistic = await service.GetTasksCorrectnessStatisticByUserId(userId);

            // Arrange
            correctnessStatistic.Should().BeEquivalentTo(expectedResult);
        }
示例#8
0
        public async Task GetPerEnglishLevelStatisticByUserId_ReturnsExpectedResult(
            Guid userId,
            EnglishTaskStatistic taskStatistic,
            IReadOnlyList <PerEnglishLevelStatisticModel> expectedResult)
        {
            // Arrange
            var applicationMapper       = new ApplicationMapper();
            var taskStatisticRepository = Substitute.For <IEnglishTaskStatisticRepository>();

            taskStatisticRepository
            .GetByUserId(Arg.Any <Guid>())
            .Returns(taskStatistic);

            var service = new EnglishTasksService(taskStatisticRepository, applicationMapper);

            // Act
            IReadOnlyList <PerEnglishLevelStatisticModel> perEnglishLevelModels = await service.GetPerEnglishLevelStatisticByUserId(userId);

            // Arrange
            perEnglishLevelModels.Should().BeEquivalentTo(expectedResult);
        }
        public static IEnumerable <object[]> GetFullStatistic_ReturnExpectedResult_Data()
        {
            var userId = Guid.NewGuid();
            var completedEnglishTask       = CompletedEnglishTaskFactory.GetSimpleModels(_random.Next(15, 25), userId);
            var completedEnglishMultimedia = CompletedEnglishMultimediaFactory.GetSimpleModels(_random.Next(15, 25), userId);

            var englishTaskStatistic       = new EnglishTaskStatistic(completedEnglishTask);
            var englishMultimediaStatistic = new EnglishMultimediaStatistic(completedEnglishMultimedia);
            var generalStatistic           = new GeneralStatistic(completedEnglishMultimedia, completedEnglishTask);

            var expectedFullStatistic = new FullStatistic
            {
                GroupedCompletedStatistic           = generalStatistic.GetAllCompleted(),
                PerDayStatistic                     = generalStatistic.GetPerDayForLastMonthStatistic(),
                PerTasksEnglishLevelsStatistic      = englishTaskStatistic.GetTasksPerEnglishLevelStatistic(),
                TasksCorrectnessStatistic           = englishTaskStatistic.GetTasksCorrectnessStatistic(),
                PerMultimediaEnglishLevelsStatistic = englishMultimediaStatistic.GetMultimediaPerEnglishLevelStatistic(),
                PerTextTypeStatistic                = englishMultimediaStatistic.GetPerTextTypeStatistic(),
                PerVideoTypeStatistic               = englishMultimediaStatistic.GetPerVideoTypeStatistic(),
            };

            yield return(new object[] { userId, englishMultimediaStatistic, englishTaskStatistic, expectedFullStatistic });
        }