Browse Source

Implement EnvDTE.CodeClass2.ClassKind getter.

pull/28/head
Matt Ward 13 years ago
parent
commit
24955c6960
  1. 7
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs
  2. 1
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMClassKind.cs
  3. 28
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs
  4. 5
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ClassHelper.cs

7
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs

@ -28,7 +28,12 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -28,7 +28,12 @@ namespace ICSharpCode.PackageManagement.EnvDTE
}
public vsCMClassKind ClassKind {
get { throw new NotImplementedException(); }
get {
if (Class.IsPartial) {
return vsCMClassKind.vsCMClassKindPartialClass;
}
return vsCMClassKind.vsCMClassKindMainClass;
}
set { throw new NotImplementedException(); }
}

1
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/vsCMClassKind.cs

@ -7,6 +7,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -7,6 +7,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
{
public enum vsCMClassKind
{
vsCMClassKindMainClass = 1,
vsCMClassKindPartialClass = 4
}
}

28
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs

@ -90,6 +90,11 @@ namespace PackageManagement.Tests.EnvDTE @@ -90,6 +90,11 @@ namespace PackageManagement.Tests.EnvDTE
helper.MakeClassAbstract();
}
void ClassIsPartial()
{
helper.MakeClassPartial();
}
[Test]
public void Language_CSharpProject_ReturnsCSharpModelLanguage()
{
@ -306,5 +311,28 @@ namespace PackageManagement.Tests.EnvDTE @@ -306,5 +311,28 @@ namespace PackageManagement.Tests.EnvDTE
Assert.IsFalse(isAbstract);
}
[Test]
public void ClassKind_ClassIsPartial_ReturnsPartialClassKind()
{
CreateProjectContent();
CreatePublicClass("MyClass");
ClassIsPartial();
vsCMClassKind kind = codeClass.ClassKind;
Assert.AreEqual(vsCMClassKind.vsCMClassKindPartialClass, kind);
}
[Test]
public void ClassKind_ClassIsNotPartial_ReturnsMainClassKind()
{
CreateProjectContent();
CreatePublicClass("MyClass");
vsCMClassKind kind = codeClass.ClassKind;
Assert.AreEqual(vsCMClassKind.vsCMClassKindMainClass, kind);
}
}
}

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

@ -167,5 +167,10 @@ namespace PackageManagement.Tests.Helpers @@ -167,5 +167,10 @@ namespace PackageManagement.Tests.Helpers
{
Class.Stub(c => c.IsAbstract).Return(true);
}
public void MakeClassPartial()
{
Class.Stub(c => c.IsPartial).Return(true);
}
}
}

Loading…
Cancel
Save