Browse Source

Implement EnvDTE.CodeClass2.IsGeneric

The T4MVC template checks for generic controller classes and does not process them.
pull/28/head
Matt Ward 14 years ago
parent
commit
9963d62468
  1. 2
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeClass2.cs
  2. 34
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs
  3. 5
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ClassHelper.cs

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

@ -24,7 +24,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -24,7 +24,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
}
public bool IsGeneric {
get { throw new NotImplementedException(); }
get { return Class.DotNetName.Contains("`"); }
}
public vsCMClassKind ClassKind {

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

@ -95,6 +95,16 @@ namespace PackageManagement.Tests.EnvDTE @@ -95,6 +95,16 @@ namespace PackageManagement.Tests.EnvDTE
helper.MakeClassPartial();
}
void ClassIsGeneric()
{
helper.SetDotNetName("MyClass`1");
}
void ClassIsNotGeneric()
{
helper.SetDotNetName("MyClass");
}
[Test]
public void Language_CSharpProject_ReturnsCSharpModelLanguage()
{
@ -334,5 +344,29 @@ namespace PackageManagement.Tests.EnvDTE @@ -334,5 +344,29 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual(vsCMClassKind.vsCMClassKindMainClass, kind);
}
[Test]
public void IsGeneric_ClassIsGeneric_ReturnsTrue()
{
CreateProjectContent();
CreatePublicClass("MyClass");
ClassIsGeneric();
bool generic = codeClass.IsGeneric;
Assert.IsTrue(generic);
}
[Test]
public void IsGeneric_ClassIsNotGeneric_ReturnsFalse()
{
CreateProjectContent();
CreatePublicClass("MyClass");
ClassIsNotGeneric();
bool generic = codeClass.IsGeneric;
Assert.IsFalse(generic);
}
}
}

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

@ -180,5 +180,10 @@ namespace PackageManagement.Tests.Helpers @@ -180,5 +180,10 @@ namespace PackageManagement.Tests.Helpers
Class.Stub(c => c.UsingScope).Return(usingScopeHelper.UsingScope);
}
public void SetDotNetName(string className)
{
Class.Stub(c => c.DotNetName).Return(className);
}
}
}

Loading…
Cancel
Save