public GeneralDataPointsController(
     IGeneralDataPointService generalDataPointService,
     IMapper mapper)
 {
     _service = generalDataPointService;
     _mapper  = mapper;
 }
        public GeneralDataPointServiceTest()
        {
            // Arrange
            foreach (var gdp in TestData.generalDataPoints)
            {
                _generalDataPoints.Add(new GeneralDataPoint
                {
                    Id       = gdp.Id,
                    User     = gdp.User,
                    Section  = gdp.Section,
                    Text     = gdp.Text,
                    OrderNum = gdp.OrderNum,
                });
            }
            foreach (var generalDataPoint in _generalDataPoints)
            {
                _repository.Setup(mock =>
                                  mock.GetById(generalDataPoint.Id)).Returns(
                    _generalDataPoints.SingleOrDefault(v => v.Id == generalDataPoint.Id));
            }
            foreach (var user in TestData.users)
            {
                _mockUserRepo.Setup(mock =>
                                    mock.GetById(user.Id)).Returns(
                    TestData.users.SingleOrDefault(v => v.Id == user.Id));

                foreach (var generalDataSection in TestData.generalDataSections)
                {
                    _repository.Setup(mock =>
                                      mock.GetAllByUserAndSectionId(user.Id, generalDataSection.Id)).Returns(
                        _generalDataPoints.Where(
                            v => v.User.Id == user.Id && v.Section.Id == generalDataSection.Id));

                    foreach (var generalDataPoint in _generalDataPoints)
                    {
                        _repository.Setup(mock =>
                                          mock.GetByUniqueKey(
                                              user.Id, generalDataSection.Id, generalDataPoint.Text)).Returns(
                            _generalDataPoints.SingleOrDefault(
                                v => v.User.Id == user.Id && v.Section.Id == generalDataSection.Id &&
                                v.Text == generalDataPoint.Text));
                    }
                }
            }
            foreach (var generalDataSection in TestData.generalDataSections)
            {
                _mockGeneralDataSectionRepo.Setup(mock =>
                                                  mock.GetById(generalDataSection.Id)).Returns(
                    TestData.generalDataSections.SingleOrDefault(
                        v => v.Id == generalDataSection.Id));
            }

            _repository.Setup(mock =>
                              mock.Add(It.IsAny <GeneralDataPoint>())).Verifiable();
            _repository.Setup(mock =>
                              mock.Update(It.IsAny <GeneralDataPoint>())).Verifiable();
            _repository.Setup(mock =>
                              mock.Delete(It.IsAny <GeneralDataPoint>())).Verifiable();

            _service = new GeneralDataPointService(
                _repository.Object,
                _mockUserRepo.Object,
                _mockGeneralDataSectionRepo.Object);
        }