public void Call_GetAllMethod_FromSubjectsClassOfStudentsRepo_Once_AndReturnCorrectResult()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <IUnitOfWork>();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object);

            var subjectId = 1;

            var firstClassOofStudents = new ClassOfStudents()
            {
                Id = 1
            };
            var secondClassOfStudents = new ClassOfStudents()
            {
                Id = 2
            };
            var thirdClassOfStudents = new ClassOfStudents()
            {
                Id = 3
            };

            var dataToFilter = new List <SubjectClassOfStudents>()
            {
                new SubjectClassOfStudents()
                {
                    SubjectId = 1, ClassOfStudents = firstClassOofStudents
                },
                new SubjectClassOfStudents()
                {
                    SubjectId = 1, ClassOfStudents = secondClassOfStudents
                },
                new SubjectClassOfStudents()
                {
                    SubjectId = 1, ClassOfStudents = thirdClassOfStudents
                },
            };

            IEnumerable <ClassOfStudents> expected = null;

            mockedSubjectClassOfStudentsRepo.Setup(x => x.GetAll(It.IsAny <Expression <Func <SubjectClassOfStudents, bool> > >(), It.IsAny <Expression <Func <SubjectClassOfStudents, ClassOfStudents> > >()))
            .Returns(
                (Expression <Func <SubjectClassOfStudents, bool> > predicate,
                 Expression <Func <SubjectClassOfStudents, ClassOfStudents> > select) =>
                expected = dataToFilter
                           .Where(predicate.Compile())
                           .Select(select.Compile()));

            var result = service.GetAllClassesWithSpecifiedSubject(subjectId);

            mockedSubjectClassOfStudentsRepo
            .Verify(x => x.GetAll(It.IsAny <Expression <Func <SubjectClassOfStudents, bool> > >(), It.IsAny <Expression <Func <SubjectClassOfStudents, ClassOfStudents> > >()), Times.Once);

            CollectionAssert.AreEquivalent(expected, result);
        }
Esempio n. 2
0
        public void ThrowArgumentNullException_WhenClassOfStudentsRepoIsNull()
        {
            var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >().Object;

            Assert.Throws <ArgumentNullException>(() =>
            {
                var service = new ClassOfStudentsManagementService(null, mockedSubjectClassOfStudentsRepo, mockedUnitOfWork.Object);
            });
        }
Esempio n. 3
0
        public void NotThrow_WhenAllArgumentsAreValid()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >().Object;
            var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >();

            Assert.DoesNotThrow(() =>
            {
                var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo, mockedUnitOfWork.Object);
            });
        }
Esempio n. 4
0
        public void CallGetAllMethodFromClassesrepoOnce()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <Func <IUnitOfWork> >();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object);

            service.GetAllClasses();

            mockedClassOfStudentsRepo.Verify(x => x.GetAll(), Times.Once);
        }
        public void ThrowArgumentNullException_WithMessageContaining_Subjects_WhenSubjectIdsParamIsNuull()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <Func <IUnitOfWork> >();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object);

            Assert.That(
                () => service.AddClass(NotNullString, null),
                Throws.ArgumentNullException.With.Message.Contain("subjecIds"));
        }
        public void ThrowArgumentNullException_WhenSubjectIdsParamIsNuull()
        {
            var mockedClassOfStudentsRepo = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork          = new Mock <Func <IUnitOfWork> >();

            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object);

            Assert.Throws <ArgumentNullException>(
                () => service.AddClass(NotNullString, null));
        }
Esempio n. 7
0
        public void Throw_ArgumentNullException_WihMessageContaining_SubjectIds_WhenSubhectsIdsAreNull()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <IUnitOfWork>();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object);

            Assert.That(
                () => service.AddSubjectsToClass(It.IsAny <int>(), null),
                Throws.ArgumentNullException.With.Message.Contain("subjectIds"));
        }
        public void ThrowArgumentNullException_WithMessageContatining_Name_WhenNameParamIsNuull()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <Func <IUnitOfWork> >();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object);
            IEnumerable <string> subjectIds = new List <string>();

            Assert.That(
                () => service.AddClass(null, subjectIds),
                Throws.ArgumentNullException.With.Message.Contain("name"));
        }
        public void ThrowArgumentNullException_WhenNameParamIsNuull()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();
            var mockedUnitOfWork = new Mock <Func <IUnitOfWork> >();

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object);
            IEnumerable <string> subjectIds = new List <string>();

            Assert.Throws <ArgumentNullException>(() =>
            {
                service.AddClass(null, subjectIds);
            });
        }
Esempio n. 10
0
        public void GetExpectedCollection_FromTheRepo()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <Func <IUnitOfWork> >();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            IEnumerable <ClassOfStudents> expected = new List <ClassOfStudents>();

            mockedClassOfStudentsRepo.Setup(x => x.GetAll()).Returns(expected);
            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, mockedUnitOfWork.Object);

            var result = service.GetAllClasses();

            Assert.AreSame(expected, result);
        }
Esempio n. 11
0
        public void ReturnFalse_WhenAddingWasNotSuccessfull()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <IUnitOfWork>();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            mockedUnitOfWork.Setup(x => x.Commit()).Returns(false);

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object);
            IEnumerable <int> subjectIds = Enumerable.Range(1, 10);

            var result = service.AddSubjectsToClass(It.IsAny <int>(), subjectIds);

            Assert.False(result);
        }
Esempio n. 12
0
        public void Call_AddMethodFromSubjectsClassOfStudentsRepo_AsManyTimesAsTheCountOfIdsParams()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <IUnitOfWork>();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            var service = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object);

            IEnumerable <int> subjectIds = Enumerable.Range(1, 10);
            var expectedCalls            = subjectIds.Count();

            service.AddSubjectsToClass(It.IsAny <int>(), subjectIds);

            mockedSubjectClassOfStudentsRepo.Verify(
                x => x.Add(It.IsAny <SubjectClassOfStudents>()),
                Times.Exactly(expectedCalls));
        }
        public void Return_True_WhenCreatingClassIsSuccesfull()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <IUnitOfWork>();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            mockedUnitOfWork.Setup(x => x.Commit()).Returns(true);

            IEnumerable <string> classNames = new List <string>();

            mockedClassOfStudentsRepo.Setup(x => x.GetAll(null, y => y.Name)).Returns(classNames);

            var service      = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object);
            var nonEmptyList = new List <string>()
            {
                "2"
            };

            var result = service.AddClass(NotNullString, nonEmptyList);

            Assert.True(result);
        }
        public void Call_AddMethod_Once_FromClassOfStudentsRepoOnce()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <IUnitOfWork>();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            IEnumerable <string> classNames = new List <string>()
            {
            };

            mockedClassOfStudentsRepo.Setup(x => x.GetAll(null, y => y.Name)).Returns(classNames);
            mockedClassOfStudentsRepo.Setup(x => x.Add(It.IsAny <ClassOfStudents>()));
            var service      = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object);
            var nonEmptyList = new List <string>()
            {
                "2"
            };

            service.AddClass(NotNullString, nonEmptyList);

            mockedClassOfStudentsRepo.Verify(x => x.Add(It.IsAny <ClassOfStudents>()), Times.Once);
        }
        public void Return_False_WhenThereIsClassOfStudentsWithTheSameName()
        {
            var mockedClassOfStudentsRepo        = new Mock <IRepository <ClassOfStudents> >();
            var mockedUnitOfWork                 = new Mock <IUnitOfWork>();
            var mockedSubjectClassOfStudentsRepo = new Mock <IRepository <SubjectClassOfStudents> >();

            string className = NotNullString;
            IEnumerable <string> classNames = new List <string>()
            {
                className
            };

            mockedClassOfStudentsRepo.Setup(x => x.GetAll(null, y => y.Name)).Returns(classNames);

            var service      = new ClassOfStudentsManagementService(mockedClassOfStudentsRepo.Object, mockedSubjectClassOfStudentsRepo.Object, () => mockedUnitOfWork.Object);
            var nonEmptyList = new List <string>()
            {
                "2"
            };

            var result = service.AddClass(NotNullString, nonEmptyList);

            Assert.False(result);
        }