public void MappingContainsKeys()
        {
            DynamicTrialListingMapper mapper = GetMappingService("DLPEVSRollupMapping.txt", "DLPEVSOverrideMapping.txt", "DLPTokensMapping.txt");

            Assert.Equal(true, mapper.MappingContainsKey("c4872"));
            Assert.Equal(true, mapper.MappingContainsKey("c118827,c4815"));
        }
        public void GetOverride_EVSFriendlyNameWithOverrideLabelTest()
        {
            DynamicTrialListingMapper             labelMapper        = GetLabelMappingService("DLPEVSRollupMapping.txt", "DLPEVSOverrideMapping.txt", "DLPTokensMapping.txt");
            DynamicTrialListingFriendlyNameMapper friendlyNameMapper = GetFriendlyNameMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", false);
            DynamicTrialListingFriendlyNameMapper friendlyNameWithOverridesMapper = GetFriendlyNameMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", true);

            Assert.Equal("Thyroid Cancer", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "thyroid-gland-cancer", true), new MappingsComparer());

            Assert.Equal("Kidney Small Cell Cancer", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "kidney-small-cell-carcinoma", true), new MappingsComparer());
        }
        public void GetOverride_OverrideCodeTest()
        {
            DynamicTrialListingMapper             labelMapper        = GetLabelMappingService("DLPEVSRollupMapping.txt", "DLPEVSOverrideMapping.txt", "DLPTokensMapping.txt");
            DynamicTrialListingFriendlyNameMapper friendlyNameMapper = GetFriendlyNameMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", false);
            DynamicTrialListingFriendlyNameMapper friendlyNameWithOverridesMapper = GetFriendlyNameMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", true);

            Assert.Equal("Thyroid Cancer", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "c118827,c4815", true), new MappingsComparer());

            Assert.Equal("Kidney Small Cell Cancer", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "c116317", true), new MappingsComparer());
        }
        public void GetOverride_EVSFriendlyNameTest()
        {
            DynamicTrialListingMapper             labelMapper        = GetLabelMappingService("DLPEVSRollupMapping.txt", "DLPEVSOverrideMapping.txt", "DLPTokensMapping.txt");
            DynamicTrialListingFriendlyNameMapper friendlyNameMapper = GetFriendlyNameMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", false);
            DynamicTrialListingFriendlyNameMapper friendlyNameWithOverridesMapper = GetFriendlyNameMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", true);

            Assert.Equal("Breast Cancer", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "breast-cancer", true), new MappingsComparer());

            Assert.Equal("Stage II Breast Cancer", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "stage-ii-breast-cancer", true), new MappingsComparer());
        }
        public void LoadMapping()
        {
            DynamicTrialListingMapper mapper = GetMappingService("DLPEVSRollupMapping.txt", "DLPEVSOverrideMapping.txt", "DLPTokensMapping.txt");

            Assert.Equal("Breast Cancer", mapper.GetTitleCase("c4872"), new MappingsComparer());
            Assert.Equal("stage II breast cancer", mapper.Get("c7768,c139538,c139569"), new MappingsComparer());
            Assert.Equal("Thyroid Cancer", mapper.GetTitleCase("c118827,c4815"), new MappingsComparer());
            Assert.Equal("kidney small cell cancer", mapper.Get("c116317"), new MappingsComparer());
            Assert.Equal("Ependymoma", mapper.GetTitleCase("c8578"), new MappingsComparer());
        }
        public void GetOverride_EVSCodeTest()
        {
            DynamicTrialListingMapper             labelMapper        = GetLabelMappingService("DLPEVSRollupMapping.txt", "DLPEVSOverrideMapping.txt", "DLPTokensMapping.txt");
            DynamicTrialListingFriendlyNameMapper friendlyNameMapper = GetFriendlyNameMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", false);
            DynamicTrialListingFriendlyNameMapper friendlyNameWithOverridesMapper = GetFriendlyNameMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", true);

            Assert.Equal("Breast Cancer", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "c4872", true), new MappingsComparer());

            Assert.Equal("Stage II Breast Cancer", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "c7768", true), new MappingsComparer());

            Assert.Equal("Ependymoma", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "c9092,c3017", true), new MappingsComparer());

            Assert.Equal("Short Limb Dwarfism-Saddle Nose-Spinal Alterations-Metaphyseal Striation Syndrome", GetOverride(friendlyNameMapper, friendlyNameWithOverridesMapper, labelMapper, "c92206", true), new MappingsComparer());
        }
        /// <summary>
        /// Replaces the Placeholder Codes (or text) with Override Labels
        /// </summary>
        /// <param name="codes"></param>
        /// <returns>A string with the override text</returns>
        private string GetOverride(DynamicTrialListingFriendlyNameMapper FriendlyNameMapping,
                                   DynamicTrialListingFriendlyNameMapper FriendlyNameWithOverridesMapping,
                                   DynamicTrialListingMapper LabelMapping,
                                   string valToOverride,
                                   bool needsTitleCase)
        {
            // Get friendly name to c-code mapping
            if (FriendlyNameWithOverridesMapping.MappingContainsFriendlyName(valToOverride.ToLower()))
            {
                valToOverride = FriendlyNameWithOverridesMapping.GetCodeFromFriendlyName(valToOverride);
            }
            else
            {
                if (FriendlyNameMapping.MappingContainsFriendlyName(valToOverride.ToLower()))
                {
                    valToOverride = FriendlyNameMapping.GetCodeFromFriendlyName(valToOverride);
                }
            }

            string overrideText = "";

            // Add check for whether override/EVS mapping has all of the codes.
            // If so, keep as is. If not, split and find the first match.

            // If combination of codes is in label mappings, set override
            if (LabelMapping.MappingContainsKey(valToOverride))
            {
                if (needsTitleCase)
                {
                    overrideText = LabelMapping.GetTitleCase(valToOverride);
                }
                else
                {
                    overrideText = LabelMapping.Get(valToOverride);
                }
            }
            // Raise 404 error if overrides aren't found
            else
            {
                throw new Exception(String.Format("" + "Invalid parameter in dynamic listing page: {0} does not have override", valToOverride));
            }

            return(overrideText);
        }