Browse Source

Implement EnvDTE.CodeFunction.MustImplement

Returns true if the method is abstract.
pull/28/head
Matt Ward 13 years ago
parent
commit
b1e90b14ef
  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

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

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

@ -75,6 +75,11 @@ namespace PackageManagement.Tests.EnvDTE @@ -75,6 +75,11 @@ namespace PackageManagement.Tests.EnvDTE
helper.MakeMethodStatic();
}
void MakeMethodAbstract()
{
helper.MakeMethodAbstract();
}
[Test]
public void Access_PublicFunction_ReturnsPublic()
{
@ -298,5 +303,26 @@ namespace PackageManagement.Tests.EnvDTE @@ -298,5 +303,26 @@ namespace PackageManagement.Tests.EnvDTE
Assert.IsFalse(shared);
}
[Test]
public void MustImplement_AbstractMethod_ReturnsTrue()
{
CreatePublicFunction("MyClass.MyFunction");
MakeMethodAbstract();
bool mustImplement = codeFunction.MustImplement;
Assert.IsTrue(mustImplement);
}
[Test]
public void MustImplement_MethodIsNotAbstract_ReturnsFalse()
{
CreatePublicFunction("MyClass.MyFunction");
bool mustImplement = codeFunction.MustImplement;
Assert.IsFalse(mustImplement);
}
}
}

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

@ -123,5 +123,10 @@ namespace PackageManagement.Tests.Helpers @@ -123,5 +123,10 @@ namespace PackageManagement.Tests.Helpers
{
Method.Stub(m => m.IsStatic).Return(true);
}
public void MakeMethodAbstract()
{
Method.Stub(m => m.IsAbstract).Return(true);
}
}
}

Loading…
Cancel
Save