Example #1
0
        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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        public void CSharpIndexer(Type type, string expectedSignature)
        {
            var member    = GetIndexer(type);
            var formatter = new CSharpFullMemberFormatter();
            var sig       = formatter.GetDeclaration(member);

            Assert.AreEqual(expectedSignature, sig);
        }
Example #5
0
        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);
        }
Example #6
0
        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);
        }
Example #7
0
        public void ReplaceInFormatter_ButDont()
        {
            var typedef = GetTypeDef <UWPProjection>();

            var map = TypeMap.FromXDocument(XDocument.Parse(simplerSourceFile));
            CSharpFullMemberFormatter formatter = new CSharpFullMemberFormatter(map);

            string actualName = formatter.GetName(typedef, useTypeProjection: false);

            Assert.AreEqual("mdoc.Test.TypeMapTests.UWPProjection", actualName);
        }
Example #8
0
        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);
        }
Example #9
0
        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);
        }