public void RemoveProgressesForEnrollment_Exception()
        {
            //Arrange
            int _enrollmentId = 1;
            string _message = "";
            Enrollment _enrollment = null;

            Mock<IRepository<Enrollment>> _enrollmentRepository;
            _enrollmentRepository = new Mock<IRepository<Enrollment>>();

            _uow.Setup(u => u.EnrollmentRepository).Returns(_enrollmentRepository.Object);
            _uow.Setup(u => u.WordProgressRepository).Returns(_progressRepository.Object);
            _uow.Setup(u => u.Save());
            _enrollmentRepository.Setup(e => e.GetById(_enrollmentId)).Returns(_enrollment);
            _progressRepository.Setup(p => p.Delete(It.IsAny<IEnumerable<WordProgress>>()));
            var _service = new WordProgressService(_factory.Object);

            //Act 

            try
            {
                _service.RemoveProgressesForEnrollment(_enrollmentId);
            }
            catch (ArgumentException ex)
            {
                _message = ex.Message;
            }

            //Assert
            Assert.AreEqual("Enrollment with id you are requesting does not exist", _message);



            _factory.Verify(f => f.GetUnitOfWork(), Times.Once);
            _uow.Verify(u => u.EnrollmentRepository, Times.Exactly(1));
            _uow.Verify(u => u.WordProgressRepository, Times.Never);
            _enrollmentRepository.Verify(e => e.GetById(_enrollmentId), Times.Exactly(1));
            _progressRepository.Verify(p => p.Delete(It.IsAny<IEnumerable<WordProgress>>()), Times.Never);
            _uow.Verify(u => u.Save(), Times.Never);




        }
        public void RemoveProgressesForEnrollment_Removed()
        {
            //Arrange
            int _enrollmentId = 1;

            List<WordSuite> _collection = new List<WordSuite>() 
            {
                new WordSuite(){Id = 1, PrototypeId = null},
                new WordSuite()
                {OwnerId = 3, PrototypeId = 1, 
                    WordProgresses = new List<WordProgress>()
                    {
                        new WordProgress()
                    }
                }
            };
            Enrollment _enrollment = new Enrollment()
            {
                Date = System.DateTime.Now,
                Group = new Group()
                {
                    Course = new Course()
                    {
                        WordSuites = _collection
                    }
                },
                GroupId = 0,
                Id = _enrollmentId,
                User = new User()
                {
                    Id = 3
                },
                UserId = 0
            };


            Mock<IRepository<Enrollment>> _enrollmentRepository;
            _enrollmentRepository = new Mock<IRepository<Enrollment>>();

            _uow.Setup(u => u.EnrollmentRepository).Returns(_enrollmentRepository.Object);
            _uow.Setup(u => u.WordProgressRepository).Returns(_progressRepository.Object);
            _uow.Setup(u => u.Save());
            _enrollmentRepository.Setup(e => e.GetById(_enrollmentId)).Returns(_enrollment);
            _progressRepository.Setup(p => p.Delete(It.IsAny<IEnumerable<WordProgress>>()));
            var _service = new WordProgressService(_factory.Object);

            //Act
            _service.RemoveProgressesForEnrollment(_enrollmentId);


            //Assert
            _factory.Verify(f => f.GetUnitOfWork(), Times.Once);
            _uow.Verify(u => u.EnrollmentRepository, Times.Exactly(1));
            _uow.Verify(u => u.WordProgressRepository, Times.Exactly(1));
            _enrollmentRepository.Verify(e => e.GetById(_enrollmentId), Times.Exactly(1));
            _progressRepository.Verify(p => p.Delete(It.IsAny<IEnumerable<WordProgress>>()), Times.Once);
            _uow.Verify(u => u.Save(), Times.Once);





        }