public void GetFriendlyNameForURL_NoFriendlyNameTest() { DynamicTrialListingFriendlyNameMapper friendlyNameMapper = GetMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", false); DynamicTrialListingFriendlyNameMapper friendlyNameWithOverridesMapper = GetMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", true); Assert.Equal(false, GetFriendlyNameForURL(friendlyNameMapper, friendlyNameWithOverridesMapper, "c2955").Value); }
public void OverrideMappingContainsCodes() { DynamicTrialListingFriendlyNameMapper mapper = GetMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", true); Assert.Equal(false, mapper.MappingContainsCode("c4872", true)); Assert.Equal(false, mapper.MappingContainsCode("c118827", true)); Assert.Equal(true, mapper.MappingContainsCode("c118827,c4815", true)); }
public void GetFriendlyNameForURL_OverrideFriendlyNameTest() { DynamicTrialListingFriendlyNameMapper friendlyNameMapper = GetMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", false); DynamicTrialListingFriendlyNameMapper friendlyNameWithOverridesMapper = GetMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", true); Assert.Equal(true, GetFriendlyNameForURL(friendlyNameMapper, friendlyNameWithOverridesMapper, "c118827,c4815").Value); Assert.Equal("thyroid-cancer", GetFriendlyNameForURL(friendlyNameMapper, friendlyNameWithOverridesMapper, "c118827,c4815").Key, new MappingsComparer()); }
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 GetFriendlyNameForURL_EVSFriendlyNameTest() { DynamicTrialListingFriendlyNameMapper friendlyNameMapper = GetMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", false); DynamicTrialListingFriendlyNameMapper friendlyNameWithOverridesMapper = GetMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", true); Assert.Equal(true, GetFriendlyNameForURL(friendlyNameMapper, friendlyNameWithOverridesMapper, "c7768,c139538,c139569").Value); Assert.Equal(true, GetFriendlyNameForURL(friendlyNameMapper, friendlyNameWithOverridesMapper, "c139538").Value); Assert.Equal("stage-ii-breast-cancer", GetFriendlyNameForURL(friendlyNameMapper, friendlyNameWithOverridesMapper, "c7768,c139538,c139569").Key, new MappingsComparer()); Assert.Equal("stage-ii-breast-cancer", GetFriendlyNameForURL(friendlyNameMapper, friendlyNameWithOverridesMapper, "C139538").Key, new MappingsComparer()); Assert.Equal(false, GetFriendlyNameForURL(friendlyNameMapper, friendlyNameWithOverridesMapper, "c2955").Value); }
/// <summary> /// Gets the Friendly Name to replace a c-code in the URL for the dynamic trial listing page. If there is no exact override for that c-code, /// attempt to find a match that contains the given c-code in the EVS mappings. /// Sets needsRedirect to true if there is a friendly name override found. /// </summary> /// <returns>A string with the friendly name for the URL (replaces c-code) if the override exists, otherwise the given c-codes</returns> protected KeyValuePair <string, bool> GetFriendlyNameForURL(DynamicTrialListingFriendlyNameMapper FriendlyNameMapping, DynamicTrialListingFriendlyNameMapper FriendlyNameWithOverridesMapping, string param) { bool needsRedirect = false; if (FriendlyNameWithOverridesMapping.MappingContainsCode(param, true)) { // If an exact match is found in the Friendly Name With Overrides mapping, return the friendly name and set redirection bool needsRedirect = true; return(new KeyValuePair <string, bool>(FriendlyNameWithOverridesMapping.GetFriendlyNameFromCode(param, true), needsRedirect)); } else { if (FriendlyNameMapping.MappingContainsCode(param, false)) { // If an exact match is found in the Friendly Name mapping (without overrides), return the friendly name and set redirection bool // Also if matches are found that contain the given codes and all have the same friendly name, return that friendly name and set redirection bool needsRedirect = true; string evsFriendlyName = FriendlyNameMapping.GetFriendlyNameFromCode(param, false); string codesToOverride = FriendlyNameMapping.GetCodeFromFriendlyName(evsFriendlyName); if (FriendlyNameWithOverridesMapping.MappingContainsCode(codesToOverride, true)) { // If an exact match is found in the Friendly Name With Overrides mapping, return the friendly name and set redirection bool return(new KeyValuePair <string, bool>(FriendlyNameWithOverridesMapping.GetFriendlyNameFromCode(codesToOverride, true), needsRedirect)); } else { return(new KeyValuePair <string, bool>(FriendlyNameMapping.GetFriendlyNameFromCode(param, false), needsRedirect)); } } else { if (FriendlyNameMapping.MappingContainsFriendlyName(param)) { string codesToOverride = FriendlyNameMapping.GetCodeFromFriendlyName(param); if (FriendlyNameWithOverridesMapping.MappingContainsCode(codesToOverride, true)) { // If an exact match is found in the Friendly Name With Overrides mapping, return the friendly name and set redirection bool if (!string.Equals(param, FriendlyNameWithOverridesMapping.GetFriendlyNameFromCode(codesToOverride, true))) { needsRedirect = true; return(new KeyValuePair <string, bool>(FriendlyNameWithOverridesMapping.GetFriendlyNameFromCode(codesToOverride, true), needsRedirect)); } } } } } return(new KeyValuePair <string, bool>(param, needsRedirect)); }
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); }
public void LoadEVSFriendlyNameMapping() { DynamicTrialListingFriendlyNameMapper mapper = GetMappingService("DLPFriendlyNameMapping.txt", "DLPFriendlyNameOverrideMapping.txt", false); Assert.Equal("thyroid-gland-cancer", mapper.GetFriendlyNameFromCode("c118827,c4815", true), new MappingsComparer()); }