From 5d0b7ed89d84aa2fa4caf55245c61b16c7ecb315 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sun, 22 Jul 2012 14:47:42 +0100 Subject: [PATCH] Fix scaffolding unit tests for controller actions. --- .../Project/Src/EnvDTE/CodeFunction.cs | 2 +- .../Project/Src/EnvDTE/CodeParameter.cs | 2 +- .../Test/Src/EnvDTE/CodeFunctionTests.cs | 22 +++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs index 57caa1d11e..dc90f2ccbf 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeFunction.cs @@ -56,7 +56,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE } public virtual CodeTypeRef2 Type { - get { return new CodeTypeRef2(method.ProjectContent, null, method.ReturnType); } + get { return new CodeTypeRef2(method.ProjectContent, this, method.ReturnType); } } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeParameter.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeParameter.cs index b571566266..22e0e9b2b8 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeParameter.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeParameter.cs @@ -26,7 +26,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE } public virtual CodeTypeRef2 Type { - get { return new CodeTypeRef2(projectContent, null, parameter.ReturnType); } + get { return new CodeTypeRef2(projectContent, this, parameter.ReturnType); } } } } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeFunctionTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeFunctionTests.cs index 64da29f8fa..9fd2169bf4 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeFunctionTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeFunctionTests.cs @@ -203,6 +203,17 @@ namespace PackageManagement.Tests.EnvDTE Assert.AreEqual("string", parameter.Type.AsString); } + [Test] + public void Parameters_MethodHasOneStringParameter_CreatesCodeParameterWithCodeTypeRefThatHasParameterAsParent() + { + AddParameterToMethod("System.String", "test"); + CreatePublicFunction("MyClass.MyMethod"); + + CodeParameter parameter = codeFunction.Parameters.FirstCodeParameterOrDefault(); + + Assert.AreEqual(parameter, parameter.Type.Parent); + } + [Test] public void Type_MethodReturnsString_TypeRefHasSystemStringAsFullName() { @@ -224,5 +235,16 @@ namespace PackageManagement.Tests.EnvDTE Assert.AreEqual("string", typeRef.AsString); } + + [Test] + public void Type_MethodReturnsString_TypeRefParentIsCodeFunction() + { + CreatePublicFunction("MyClass.MyFunction"); + AddReturnTypeToMethod("System.String"); + + CodeTypeRef2 typeRef = codeFunction.Type; + + Assert.AreEqual(codeFunction, typeRef.Parent); + } } }