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);
        }
        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 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);
 }