Browse Source

Implement EnvDTE.CodeFunction.IsShared

Returns true if the method is static.
pull/28/head
Matt Ward 14 years ago
parent
commit
81671a907d
  1. 2
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs
  2. 26
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeFunctionTests.cs
  3. 5
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MethodHelper.cs

2
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs

@ -81,7 +81,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -81,7 +81,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
}
public virtual bool IsShared {
get { throw new NotImplementedException(); }
get { return method.IsStatic; }
}
public virtual bool MustImplement {

26
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeFunctionTests.cs

@ -70,6 +70,11 @@ namespace PackageManagement.Tests.EnvDTE @@ -70,6 +70,11 @@ namespace PackageManagement.Tests.EnvDTE
helper.AddReturnTypeToMethod(type);
}
void MakeMethodStatic()
{
helper.MakeMethodStatic();
}
[Test]
public void Access_PublicFunction_ReturnsPublic()
{
@ -272,5 +277,26 @@ namespace PackageManagement.Tests.EnvDTE @@ -272,5 +277,26 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual(vsCMFunction.vsCMFunctionConstructor, kind);
}
[Test]
public void IsShared_StaticMethod_ReturnsTrue()
{
CreatePublicFunction("MyClass.MyFunction");
MakeMethodStatic();
bool shared = codeFunction.IsShared;
Assert.IsTrue(shared);
}
[Test]
public void IsShared_MethodIsNotStatic_ReturnsFalse()
{
CreatePublicFunction("MyClass.MyFunction");
bool shared = codeFunction.IsShared;
Assert.IsFalse(shared);
}
}
}

5
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/MethodHelper.cs

@ -118,5 +118,10 @@ namespace PackageManagement.Tests.Helpers @@ -118,5 +118,10 @@ namespace PackageManagement.Tests.Helpers
Method.Stub(m => m.ReturnType).Return(returnTypeHelper.ReturnType);
}
public void MakeMethodStatic()
{
Method.Stub(m => m.IsStatic).Return(true);
}
}
}

Loading…
Cancel
Save