public TrendMarkersAction(IFilteredChildAreaListProvider areaListBuilder, ITrendMarkersProvider trendMarkersProvider, SingleGroupingProvider singleGroupingProvider) { _areaListBuilder = areaListBuilder; _trendMarkersProvider = trendMarkersProvider; _singleGroupingProvider = singleGroupingProvider; }
public void TestGetGroupingWhereGroupIdAppearsInAProfile() { var groupId = GroupIds.Phof_WiderDeterminantsOfHealth; var provider = new SingleGroupingProvider(ReaderFactory.GetGroupDataReader(), GroupIdProviderThatWontBeUsed()); var grouping = provider.GetGroupingByProfileIdAndGroupIdAndAreaTypeIdAndIndicatorIdAndSexIdAndAgeId(ProfileIds.Phof, groupId, areaTypeId, indicatorId, sexId, ageId); Assert.AreEqual(groupId, grouping.GroupId); AssertIdsAreSameAsRequested(grouping); }
private Grouping GetGrouping(int profileId) { if (_parameters.GroupIds.Count > 1) { throw new FingertipsException("Only one group ID at a time allowed"); } var groupId = _parameters.GroupIds.First(); GroupIdProvider groupIdProvider = new GroupIdProvider(profileReader); var grouping = new SingleGroupingProvider(groupDataReader, groupIdProvider) .GetGroupingByProfileIdAndGroupIdAndAreaTypeIdAndIndicatorIdAndSexIdAndAgeId(profileId, groupId, _parameters.AreaTypeId, _parameters.IndicatorId, _parameters.SexId, _parameters.AgeId); return grouping; }
public void TestGetGroupingWhereGroupIdIsSearchAndProfileIdIsOfASpecificProfile() { var groupId = GroupIds.Search; var expectedGroupId = GroupIds.Phof_WiderDeterminantsOfHealth; var groupIdProvider = MockGroupIdProvider(); groupIdProvider .Setup(x => x.GetGroupIds(ProfileIds.Phof)) .Returns(new List<int> { expectedGroupId }); var provider = new SingleGroupingProvider(ReaderFactory.GetGroupDataReader(), groupIdProvider.Object); var grouping = provider.GetGroupingByProfileIdAndGroupIdAndAreaTypeIdAndIndicatorIdAndSexIdAndAgeId(ProfileIds.Phof, groupId, areaTypeId, indicatorId, sexId, ageId); Assert.AreEqual(expectedGroupId, grouping.GroupId); AssertIdsAreSameAsRequested(grouping); }
public void TestGetGroupingWhereGroupIdAppearsInAProfileNotUsingAreaTypeId() { var groupId = GroupIds.Phof_WiderDeterminantsOfHealth; var groupIdProvider = MockGroupIdProvider(); groupIdProvider .Setup(x => x.GetGroupIds(ProfileIds.Phof)) .Returns(new List<int> { groupId }); var provider = new SingleGroupingProvider(ReaderFactory.GetGroupDataReader(), groupIdProvider.Object); var grouping = provider.GetGroupingByProfileIdAndAreaTypeIdAndIndicatorIdAndSexIdAndAgeId(ProfileIds.Phof, AreaTypeIds.CountyAndUnitaryAuthority, indicatorId, sexId, ageId); Assert.AreEqual(groupId, GroupIds.Phof_WiderDeterminantsOfHealth); Assert.AreEqual(indicatorId, grouping.IndicatorId); Assert.AreEqual(sexId, grouping.SexId); Assert.AreEqual(ageId, grouping.AgeId); }
private void InitGrouping(int profileId, int areaTypeId, int indicatorId, int sexId, int ageId) { var groupingProvider = new SingleGroupingProvider(_groupDataReader, new GroupIdProvider(_profileReader)); _grouping = groupingProvider.GetGroupingByProfileIdAndAreaTypeIdAndIndicatorIdAndSexIdAndAgeId(profileId, areaTypeId, indicatorId, sexId, ageId); }
public Dictionary<string, TrendMarkerResult> GetTrendMarkers(string parent_area_code, int group_id, int area_type_id, int indicator_id, int sex_id, int age_id) { try { // Create dependencies var groupDataReader = ReaderFactory.GetGroupDataReader(); var trendMarkersProvider = new TrendMarkersProvider(ReaderFactory.GetTrendDataReader(), new TrendMarkerCalculator()); var areaListProvider = new FilteredChildAreaListProvider(ReaderFactory.GetAreasReader()); var groupIdProvider = new GroupIdProvider(ReaderFactory.GetProfileReader()); var singleGroupingProvider = new SingleGroupingProvider(groupDataReader, groupIdProvider); var groupMetadataList = groupDataReader.GetGroupMetadataList(new List<int> { group_id }); var profileId = groupMetadataList.First().ProfileId; return new TrendMarkersAction(areaListProvider, trendMarkersProvider, singleGroupingProvider) .GetTrendMarkers(parent_area_code, profileId, group_id, area_type_id, indicator_id, sex_id, age_id); } catch (Exception ex) { Log(ex); throw; } }
public void TestGetGroupingWhereGroupIdIsSearchAndProfileIdIsUndefined() { var provider = new SingleGroupingProvider(ReaderFactory.GetGroupDataReader(), new GroupIdProvider(ReaderFactory.GetProfileReader())); var grouping = provider.GetGroupingByProfileIdAndGroupIdAndAreaTypeIdAndIndicatorIdAndSexIdAndAgeId(ProfileIds.Undefined, GroupIds.Search, areaTypeId, indicatorId, sexId, ageId); AssertIdsAreSameAsRequested(grouping); }
public void TestWhenNoGroupingInPholioMatchesRequestedParameters() { var provider = new SingleGroupingProvider(ReaderFactory.GetGroupDataReader(), new GroupIdProvider(ReaderFactory.GetProfileReader())); var grouping = provider.GetGroupingByProfileIdAndGroupIdAndAreaTypeIdAndIndicatorIdAndSexIdAndAgeId(ProfileIds.Undefined, 1, 2, 3, 4, 5); Assert.IsNull(grouping); }