0

こんにちは、メソッド ウィッチには 2 つの for ループがあります。メソッドは次のようになります。

 public ElearningSessionsDTO FilterElearningSession(IEnumerable<GetELearningSessionsForStudent_Result> eLearningSession)
    {
        var eLearningSessionDTO = new ElearningSessionsDTO();
        var clossedLessons = new List<LessonsInElearningDTO>();
        var plannedLessons = new List<LessonsInElearningDTO>();

        var groupLessons = eLearningSession.GroupBy(key => new { key.LessonNumber, key.LessonTitle, key.TargetDate },
                                                    data => new { data.Status, data.EventTitle });

        foreach (var groupLesson in groupLessons)
        {
            bool isPlanned = false;

            var lessonInElearningDTO = new LessonsInElearningDTO
            {
                LessonNumber = groupLesson.Key.LessonNumber,
                LessonTitle = groupLesson.Key.LessonTitle,
                TargetDate = groupLesson.Key.TargetDate
            };
            var assignmentsInLessonDTO = new List<AssignmentsInLessonDTO>();

            foreach (var assignment in groupLesson)
            {
                var assignmentInLessonDTO = new AssignmentsInLessonDTO
                {
                    EventTitle = assignment.EventTitle,
                    Status = assignment.Status
                };

                if (assignment.Status != (int)ElearningEventSubscriptionStatuses.Closed)
                {
                    isPlanned = true;
                }
                assignmentsInLessonDTO.Add(assignmentInLessonDTO);
            }

            lessonInElearningDTO.LessonsAssignments = assignmentsInLessonDTO;

            if (isPlanned)
            {
                plannedLessons.Add(lessonInElearningDTO);
            }
            else
            {
                clossedLessons.Add(lessonInElearningDTO);
            }
        }

        eLearningSessionDTO.ClossedLessons = clossedLessons;
        eLearningSessionDTO.PlannedLessons = plannedLessons;

        return eLearningSessionDTO;
    }

最初の foreach ループが呼び出された回数を確認するための 1 つと、2 番目の foreach ループが呼び出された回数を確認するための 2 つです。

私はmoqをモッキングフレームワークとして使用していますが、通常、この種のシナリオでは、外部クラスから呼び出される追加のメソッドがあり、それを使用して、ループ内でそのメソッドが呼び出された回数を判断できます.しかし、私の現在ではシナリオこれをテストする方法が見つかりません。

私がどのように進めるべきかについて、誰かがアイデアを与えることができますか?

4

0 に答える 0