public void ParameterTestNoRefKindStringDefaultValue() { var methodSymbol = (IMethodSymbol)TestResource.GetTestMember("TestLibrary.PublicInterface`1", "TypeParamParamsMethod"); MethodApiView method = new MethodApiView(methodSymbol); Assert.Equal(2, method.Parameters.Length); ParameterApiView param = null; ParameterApiView num = null; foreach (ParameterApiView p in method.Parameters) { if (p.Name.Equals("param")) { param = p; } else { num = p; } } Assert.False(param == null || num == null); Assert.Single(param.Type.Tokens); Assert.Equal("T", param.Type.Tokens[0].DisplayString); Assert.Equal(TypeReferenceApiView.TokenType.TypeArgument, param.Type.Tokens[0].Type); Assert.Equal("param", param.Name); Assert.Null(param.ExplicitDefaultValue); Assert.Equal("str", num.Name); Assert.Equal("hello", num.ExplicitDefaultValue); }
public void MethodTestConstructorHTMLRender() { var p = new ParameterApiView { Type = new TypeReferenceApiView(new TokenApiView[] { new TokenApiView("int", TypeReferenceApiView.TokenType.BuiltInType) }), Name = "num", HasExplicitDefaultValue = true, ExplicitDefaultValue = 2, Attributes = new string[] { } }; var m = new MethodApiView { Name = "TestClass", ReturnType = null, Accessibility = "public", Id = "TestClass", IsConstructor = true, IsInterfaceMethod = false, IsStatic = false, IsVirtual = false, IsSealed = false, IsOverride = false, IsAbstract = false, IsExtern = false, Attributes = new AttributeApiView[] { }, Parameters = new ParameterApiView[] { p }, TypeParameters = new TypeParameterApiView[] { } }; var renderer = new HTMLRendererApiView(); var list = new StringListApiView(); renderer.Render(m, list); Assert.Equal("<span class=\"keyword\">public</span> <a href=\"#\" id=\"TestClass\" class=\"class commentable\">TestClass</a>(<span class=\"keyword\">int</span> num" + " = <span class=\"value\">2</span>) { }", list.ToString()); }