public void NotCallDeleteMethodFromSubjectClassOfStudentsDaysOfWeekRepo_AndCommitMethodFromUoWN_WhenItemFoundIsNull() { var mockedSubjectRepo = new Mock <IRepository <Subject> >(); var mockedUserRepo = new Mock <IRepository <User> >(); var mockedTeacherRepo = new Mock <IRepository <Teacher> >(); var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >(); var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >(); var mockedStudentRepo = new Mock <IRepository <Student> >(); var mockedUnitOfWork = new Mock <IUnitOfWork>(); SubjectClassOfStudentsDaysOfWeek expected = null; mockedSubjectClassOfStudentsDaysOfWeekRepo .Setup(x => x.GetFirst(It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > >())) .Returns(expected); var scheduleService = new ScheduleDataService( mockedSubjectRepo.Object, mockedUserRepo.Object, mockedTeacherRepo.Object, mockedSubjectClassOfStudentsDaysOfWeekRepo.Object, mockedDaysOfWeekRepo.Object, mockedStudentRepo.Object, () => mockedUnitOfWork.Object); scheduleService.RemoveSubjectFromSchedule(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>()); mockedSubjectClassOfStudentsDaysOfWeekRepo.Verify(x => x.Delete(It.IsAny <SubjectClassOfStudentsDaysOfWeek>()), Times.Never); mockedUnitOfWork.Verify(x => x.Commit(), Times.Never); }
public void ReturnCorrectData() { var mockedSubjectRepo = new Mock <IRepository <Subject> >(); var mockedUserRepo = new Mock <IRepository <User> >(); var mockedTeacherRepo = new Mock <IRepository <Teacher> >(); var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >(); var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >(); var mockedStudentRepo = new Mock <IRepository <Student> >(); var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var scheduleService = new ScheduleDataService( mockedSubjectRepo.Object, mockedUserRepo.Object, mockedTeacherRepo.Object, mockedSubjectClassOfStudentsDaysOfWeekRepo.Object, mockedDaysOfWeekRepo.Object, mockedStudentRepo.Object, mockedUnitOfWork.Object); var mockedSubjectClassOfStudentsDaysOfWeek = new SubjectClassOfStudentsDaysOfWeek() { DaysOfWeekId = 1, DaysOfWeek = new DaysOfWeek(), ClassOfStudentsId = 1, SubjectClassOfStudents = new SubjectClassOfStudents() { Subject = new Subject() }, StartHour = DateTime.Now, EndHour = DateTime.Now }; var actual = new List <SubjectClassOfStudentsDaysOfWeek>() { mockedSubjectClassOfStudentsDaysOfWeek, mockedSubjectClassOfStudentsDaysOfWeek, mockedSubjectClassOfStudentsDaysOfWeek }; mockedSubjectClassOfStudentsDaysOfWeekRepo .Setup(x => x.GetAll( It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > >(), It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > >(), It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[]>())) .Returns((Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > predicate, Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > expression, Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[] include) => actual.Where(predicate.Compile()).Select(expression.Compile())); var expected = scheduleService.GetClassScheduleForTheDay(1, 1); Assert.AreEqual(actual.Count(), expected.Count()); CollectionAssert.AreNotEquivalent(expected, actual); }
public void Map_DataCorrectly() { var mockedSubjectRepo = new Mock <IRepository <Subject> >(); var mockedUserRepo = new Mock <IRepository <User> >(); var mockedTeacherRepo = new Mock <IRepository <Teacher> >(); var mockedSubjectClassOfStudentsDaysOfWeekRepo = new Mock <IRepository <SubjectClassOfStudentsDaysOfWeek> >(); var mockedDaysOfWeekRepo = new Mock <IRepository <DaysOfWeek> >(); var mockedStudentRepo = new Mock <IRepository <Student> >(); var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >(); var scheduleService = new ScheduleDataService( mockedSubjectRepo.Object, mockedUserRepo.Object, mockedTeacherRepo.Object, mockedSubjectClassOfStudentsDaysOfWeekRepo.Object, mockedDaysOfWeekRepo.Object, mockedStudentRepo.Object, mockedUnitOfWork.Object); var mockedSubjectClassOfStudentsDaysOfWeek = new SubjectClassOfStudentsDaysOfWeek() { DaysOfWeekId = 1, DaysOfWeek = new DaysOfWeek(), ClassOfStudentsId = 1, SubjectClassOfStudents = new SubjectClassOfStudents() { Subject = new Subject() }, StartHour = DateTime.Now, EndHour = DateTime.Now }; var collection = new List <SubjectClassOfStudentsDaysOfWeek>() { mockedSubjectClassOfStudentsDaysOfWeek }; IEnumerable <ManagingScheduleModel> expected = null; mockedSubjectClassOfStudentsDaysOfWeekRepo .Setup(x => x.GetAll( It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > >(), It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > >(), It.IsAny <Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[]>())) .Returns((Expression <Func <SubjectClassOfStudentsDaysOfWeek, bool> > predicate, Expression <Func <SubjectClassOfStudentsDaysOfWeek, ManagingScheduleModel> > expression, Expression <Func <SubjectClassOfStudentsDaysOfWeek, object> >[] include) => { expected = collection.Where(predicate.Compile()).Select(expression.Compile()).ToList(); return(expected); }); var result = scheduleService.GetClassScheduleForTheDay(1, 1).ToList(); //TODO SHOW TO KIKO //Assert.AreSame(collection[0].DaysOfWeek, result[0].DaysOfWeek); //Assert.AreEqual(collection[0].StartHour, result[0].StartHour); //Assert.AreEqual(collection[0].EndHour, result[0].EndHour); //Assert.AreSame(collection[0].SubjectClassOfStudents.Subject, result[0].Subject); CollectionAssert.AreEquivalent(expected, result); }