public void TestGenerateMetadataFromAssemblyWithReferences() { var compilation = CompilationUtility.CreateCompilationFromAssembly(TupleAssemblyFiles.Concat(TupleReferencesFiles)); var referenceAssembly = CompilationUtility.GetAssemblyFromAssemblyComplation(compilation, TupleAssemblyFiles).Select(s => s.assembly).ToList(); var output = GenerateYamlMetadata(compilation, referenceAssembly[0]); var @class = output.Items[0].Items[0]; Assert.NotNull(@class); Assert.Equal("XmlTasks", @class.DisplayNames[SyntaxLanguage.CSharp]); Assert.Equal("XmlTasks", @class.DisplayNamesWithType[SyntaxLanguage.CSharp]); Assert.Equal("TupleLibrary.XmlTasks", @class.DisplayQualifiedNames[SyntaxLanguage.CSharp]); { var method = @class.Items.Single(i => i.Name == "TupleLibrary.XmlTasks.ToNamespace(System.String,System.String)"); Assert.Equal("ToNamespace(String, String)", method.DisplayNames[SyntaxLanguage.CSharp]); Assert.Equal("XmlTasks.ToNamespace(String, String)", method.DisplayNamesWithType[SyntaxLanguage.CSharp]); Assert.Equal("TupleLibrary.XmlTasks.ToNamespace(System.String, System.String)", method.DisplayQualifiedNames[SyntaxLanguage.CSharp]); Assert.Equal("public (string prefix, string uri) ToNamespace(string prefix, string uri)", method.Syntax.Content[SyntaxLanguage.CSharp]); } { var method = @class.Items.Single(i => i.Name == "TupleLibrary.XmlTasks.XmlPeek(System.String,System.ValueTuple{System.String,System.String}[])"); Assert.Equal("XmlPeek(String, (String prefix, String uri)[])", method.DisplayNames[SyntaxLanguage.CSharp]); Assert.Equal("XmlTasks.XmlPeek(String, (String prefix, String uri)[])", method.DisplayNamesWithType[SyntaxLanguage.CSharp]); Assert.Equal("TupleLibrary.XmlTasks.XmlPeek(System.String, System.ValueTuple<System.String, System.String>[])", method.DisplayQualifiedNames[SyntaxLanguage.CSharp]); Assert.Equal("public string XmlPeek(string xpath, params (string prefix, string uri)[] namespaces)", method.Syntax.Content[SyntaxLanguage.CSharp]); } }
public void TestGenerateMetadataFromAssembly() { var compilation = CompilationUtility.CreateCompilationFromAssembly(AssemblyFiles); var referenceAssembly = CompilationUtility.GetAssemblyFromAssemblyComplation(compilation); var output = GenerateYamlMetadata(compilation, referenceAssembly[1]); var @class = output.Items[0].Items[2]; Assert.NotNull(@class); Assert.Equal("Cat<T, K>", @class.DisplayNames.First().Value); Assert.Equal("Cat<T, K>", @class.DisplayNamesWithType.First().Value); Assert.Equal("CatLibrary.Cat<T, K>", @class.DisplayQualifiedNames.First().Value); }
public void TestGenerateMetadataFromAssembly() { var compilation = CompilationUtility.CreateCompilationFromAssembly(AssemblyFiles); var referenceAssembly = CompilationUtility.GetAssemblyFromAssemblyComplation(compilation, AssemblyFiles).Select(s => s.assembly).ToList(); { var output = GenerateYamlMetadata(compilation, referenceAssembly[1]); var @class = output.Items[0].Items[2]; Assert.NotNull(@class); Assert.Equal("Cat<T, K>", @class.DisplayNames.First().Value); Assert.Equal("Cat<T, K>", @class.DisplayNamesWithType.First().Value); Assert.Equal("CatLibrary.Cat<T, K>", @class.DisplayQualifiedNames.First().Value); } { var output = GenerateYamlMetadata(compilation, referenceAssembly[2]); var @class = output.Items[0].Items[0]; Assert.NotNull(@class); Assert.Equal("CarLibrary2.Cat2", @class.Name); Assert.Equal(new[] { "System.Object", "CatLibrary.Cat{CatLibrary.Dog{System.String},System.Int32}" }, @class.Inheritance); } }