Ejemplo n.º 1
0
        void TestOp(string name, string expectedSig, int argCount, string returnType = "TestClass")
        {
            var member    = GetMethod <TestClass> (m => m.Name == $"op_{name}" && m.Parameters.Count == argCount && m.ReturnType.Name == RealTypeName(returnType));
            var formatter = new CSharpMemberFormatter();
            var sig       = formatter.GetDeclaration(member);

            Assert.AreEqual(expectedSig, sig);
        }
Ejemplo n.º 2
0
        public void Params()
        {
            var member    = GetMethod <TestClass> (m => m.Name == "DoSomethingWithParams");
            var formatter = new CSharpMemberFormatter();
            var sig       = formatter.GetDeclaration(member);

            Assert.AreEqual("public void DoSomethingWithParams (params int[] values);", sig);
        }
Ejemplo n.º 3
0
        void TestMod(string name, string expectedSig, int argCount = 1, string returnType = "SomeClass")
        {
            var member = GetMethod(
                GetType("SampleClasses/cppcli.dll", "cppcli.SomeInterface"),
                m => m.Name == name
                );
            var formatter = new CSharpMemberFormatter();
            var sig       = formatter.GetDeclaration(member);

            Assert.AreEqual(expectedSig, sig);
        }
Ejemplo n.º 4
0
        public void Test_AttachedProperty_Formatter_SetOnly()
        {
            string expected = "see SetSomeSet";

            var type = GetTypeDef <AttachedTestClass>();
            var list = AttachedEntitiesHelper.GetAttachedEntities(type);

            MemberFormatter formatter = new CSharpMemberFormatter();
            string          def       = formatter.GetDeclaration(list.Skip(2).First());

            Assert.AreEqual(expected, def);
        }
Ejemplo n.º 5
0
        public void MemberSignature_Updating_Existing_NoChange_regular()
        {
            var context = InitContext <MyClass> (SigRegular, 1, forceAlignment: false);

            FrameworkTypeEntry typeEntry = context.fx.Frameworks[1].Types.First();


            var sig = new CSharpMemberFormatter();

            MDocUpdater.UpdateSignature(sig, context.method, context.doc.FirstChild as XmlElement, typeEntry, fxAlternateTriggered: false);

            var afterXML = context.doc.OuterXml;

            Assert.AreEqual(Normalize(SigRegular), Normalize(afterXML));
        }
Ejemplo n.º 6
0
        public void MemberSignature_Updating_Existing_Align()
        {
            var context = InitContext <MyClass>(SigmultiFrameworkXml, 0, forceAlignment: true);

            FrameworkTypeEntry typeEntry = context.fx.Frameworks[0].Types.First();


            var sig = new CSharpMemberFormatter();

            MDocUpdater.UpdateSignature(sig, context.method, context.doc.FirstChild as XmlElement, typeEntry, fxAlternateTriggered: false);

            var afterXML = context.doc.OuterXml;

            // first framework looks like it already looked, so no need to update
            Assert.AreEqual(Normalize(SigmultiFrameworkXml), Normalize(afterXML));
        }
Ejemplo n.º 7
0
        public void MemberSignature_Updating_Existing_NameChanged_MultiFX()
        {
            // handles the case
            var context = InitContext <MyClass> (SigRegular, 2, forceAlignment: false);

            Func <int, FrameworkTypeEntry> typeEntry = i => context.fx.Frameworks[i].Types.First();

            var sig = new CSharpMemberFormatter();

            MDocUpdater.UpdateSignature(sig, context.method, context.doc.FirstChild as XmlElement, typeEntry(0), fxAlternateTriggered: true);
            MDocUpdater.UpdateSignature(sig, context.method, context.doc.FirstChild as XmlElement, typeEntry(1), fxAlternateTriggered: false);
            MDocUpdater.UpdateSignature(sig, context.method, context.doc.FirstChild as XmlElement, typeEntry(2), fxAlternateTriggered: false);

            var afterXML = context.doc.OuterXml;

            Assert.AreEqual(Normalize(SigRegularAllAligned), Normalize(afterXML));
        }