public void execution_must_be_fast( Type type, string key) { //warm up _resourceHelper .LookupResource(type, key); _resourceHelper .ExecutionTimeOf(s => s.LookupResource(type, key)) .Should() .BeLessOrEqualTo(MaxExecutionTime); }
/// <summary> /// Recupera a lista de valores dos atributos Description de um enum /// </summary> /// <param name="enumType">Tipo do enum</param> /// <returns>Lista de valores dos atributos Description</returns> private IQueryable <ViewModel.TypeDescriptionResponse> GetDescription( Type enumType) { try { if (CachedDescriptions == null || !CachedDescriptions.Any(w => w.Key == enumType)) { Array enumValues = enumType.GetEnumValues(); if (enumValues != null && enumValues.Length > 0) { IList <ViewModel.TypeDescriptionResponse> result = new List <ViewModel.TypeDescriptionResponse>(); foreach (object item in enumValues) { MemberInfo memberInfo = enumType.GetMember(item.ToString()).FirstOrDefault(); if (memberInfo != null) { ViewModel.TypeDescriptionResponse typeDescription = new ViewModel.TypeDescriptionResponse() { Id = (int)item }; DisplayAttribute displayAttribute = memberInfo.GetCustomAttribute <DisplayAttribute>(false); if (displayAttribute != null && displayAttribute.ResourceType != null) { typeDescription.Description = _resourceHelper.LookupResource(displayAttribute.ResourceType, displayAttribute.Name); } else { typeDescription.Description = item.ToString(); } result.Add(typeDescription); } } CachedDescriptions.TryAdd(enumType, result); return(result.AsQueryable()); } } else { return(CachedDescriptions.First(w => w.Key == enumType).Value.AsQueryable()); } } catch (Exception ex) { _logger.LogError(ex, ex.Message); } return(null); }