Пример #1
0
        public void BindSubjectsForSpecifiedTeacher_ToModel_WhenArgumentsArevalid()
        {
            var mockedManagingMarksView                = new Mock <IManagingMarksView>();
            var mockedSubjectManagementService         = new Mock <ISubjectManagementService>();
            var mockedClassOfStudentsManagementService = new Mock <IClassOfStudentsManagementService>();
            var mockedMarkManagementService            = new Mock <IMarksManagementService>();
            var mockedStudentManagementService         = new Mock <IStudentManagementService>();

            var teacherName = It.IsAny <string>();

            var expectedSubjects = new List <SubjectBasicInfoModel>()
            {
                new SubjectBasicInfoModel(),
                new SubjectBasicInfoModel(),
                new SubjectBasicInfoModel()
            };

            mockedManagingMarksView
            .SetupGet(x => x.Model)
            .Returns(new ManagingMarksModel());

            mockedSubjectManagementService
            .Setup(x => x.GetSubjectsPerTeacher(teacherName))
            .Returns(expectedSubjects);

            var managingMarksPrseenter = new ManagingMarksPresenter(
                mockedManagingMarksView.Object,
                mockedSubjectManagementService.Object,
                mockedClassOfStudentsManagementService.Object,
                mockedStudentManagementService.Object,
                mockedMarkManagementService.Object);

            var args = new BindSubjectsEventArgs()
            {
                TecherName = teacherName
            };

            mockedManagingMarksView.Raise(x => x.EventBindSubjectsForTheSelectedTeacher += null, args);

            CollectionAssert.AreEquivalent(expectedSubjects, mockedManagingMarksView.Object.Model.SubjectsForTheSpecifiedTeacher);
        }
 private void View_EventBindSubjects(object sender, BindSubjectsEventArgs e)
 {
     this.View.Model.SubjectsForTheSpecifiedTeacher = this.subjectManagementService.GetSubjectsPerTeacher(e.TecherName);
 }