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); }
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); }
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); }
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); }
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)); }
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)); }
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)); }