public void CSharpRefReturn() { var member = GetMethod(typeof(ReadonlyRefClass), m => m.Name == "Ref"); var formatter = new CSharpFullMemberFormatter(); var sig = formatter.GetDeclaration(member); Assert.AreEqual("public ref int Ref ();", sig); }
public void CSharpNullable() { var member = GetMethod(typeof(NullablesAndTuples), m => m.Name == "NullableInt"); var formatter = new CSharpFullMemberFormatter(); var sig = formatter.GetDeclaration(member); Assert.AreEqual("public int? NullableInt ();", sig); }
public void CSharpTuple() { var member = GetMethod(typeof(NullablesAndTuples), m => m.Name == "TupleReturn"); var formatter = new CSharpFullMemberFormatter(); var sig = formatter.GetDeclaration(member); Assert.AreEqual("public (int,string) TupleReturn ();", sig); }
public void CSharpIndexer(Type type, string expectedSignature) { var member = GetIndexer(type); var formatter = new CSharpFullMemberFormatter(); var sig = formatter.GetDeclaration(member); Assert.AreEqual(expectedSignature, sig); }
public void RefProperty() { var member = GetType(typeof(SpanSpecial <>)) .Properties.FirstOrDefault(t => t.FullName == "T& mdoc.Test.SpanSpecial`1::Item(System.Int32)"); var formatterCsharp = new CSharpFullMemberFormatter(); string sig = formatterCsharp.GetDeclaration(member); Assert.AreEqual("public ref T this[int index] { get; }", sig); }
public void ReplaceInFormatter_Generic_Property() { var typedef = GetTypeDef <UWPProjection>(); var map = TypeMap.FromXDocument(XDocument.Parse(genericInterfaceSourceFile)); CSharpFullMemberFormatter formatter = new CSharpFullMemberFormatter(map); string actual = formatter.GetDeclaration(typedef.Resolve().Properties.Single(t => t.Name == "Thing")); Assert.AreEqual("public System.Collections.Generic.IList<int> Thing { get; }", actual); }
public void ReplaceInFormatter() { var typedef = GetTypeDef <UWPProjection>(); var map = TypeMap.FromXDocument(XDocument.Parse(simplerSourceFile)); CSharpFullMemberFormatter formatter = new CSharpFullMemberFormatter(map); string actual = formatter.GetDeclaration(typedef); string actualName = formatter.GetName(typedef); Assert.AreEqual("public class System.String : mdoc.Test.IInt<int>", actual); Assert.AreEqual("System.String", actualName); }
public void StaticConstructor() { var member = GetMethod( GetType(typeof(StaticClass)), m => m.Name == ".cctor" ); var formatter = new CSharpFullMemberFormatter(); var sigCsharp = formatter.GetDeclaration(member); Assert.AreEqual("static StaticClass ();", sigCsharp); var formatterVB = new VBFullMemberFormatter(); var sigVB = formatterVB.GetDeclaration(member); Assert.AreEqual("Shared Sub New ()", sigVB); var formatterC = new CppFullMemberFormatter(); var sigC = formatterC.GetDeclaration(member); Assert.AreEqual(" static StaticClass();", sigC); }