public void GetMemberNameForType_ReturnsCorrectXmlCommentsMemberName_ForGivenType(
            Type type,
            string expectedMemberName
            )
        {
            var memberName = XmlCommentsMemberNameHelper.GetMemberNameForType(type);

            _output.WriteLine(expectedMemberName);
            _output.WriteLine(memberName);
            Assert.Equal(expectedMemberName, memberName);
        }
Пример #2
0
 public void Apply(SwaggerDocument swaggerDoc, DocumentFilterContext context)
 {
     foreach (var keyValuePair in context.ApiDescriptions
              .Select(apiDesc => apiDesc.ActionDescriptor as ControllerActionDescriptor)
              .SkipWhile(actionDesc => actionDesc == null)
              .GroupBy(actionDesc => {
         // ReSharper disable once AssignNullToNotNullAttribute
         var attr = actionDesc
                    .MethodInfo
                    .DeclaringType
                    .GetCustomAttribute <DisplayNameAttribute>();
         return(attr?.DisplayName ?? actionDesc.ControllerName);
     })
              .ToDictionary(grp => grp.Key, grp => grp.Last().ControllerTypeInfo.AsType()))
     {
         var xpathNavigator1 = _xmlNavigator.SelectSingleNode($"/doc/members/member[@name='{XmlCommentsMemberNameHelper.GetMemberNameForType(keyValuePair.Value)}']");
         var xpathNavigator2 = xpathNavigator1?.SelectSingleNode("summary");
         if (xpathNavigator2 != null)
         {
             if (swaggerDoc.Tags == null)
             {
                 swaggerDoc.Tags = new List <Tag>();
             }
             swaggerDoc.Tags.Add(new Tag()
             {
                 Name        = keyValuePair.Key,
                 Description = XmlCommentsTextHelper.Humanize(xpathNavigator2.InnerXml)
             });
         }
     }
 }