From 05deb98ab475203ac518b5fde00efb9821eaa492 Mon Sep 17 00:00:00 2001 From: Matt Ward Date: Sat, 4 Jan 2014 12:46:26 +0000 Subject: [PATCH] Update unit tests for EnvDTE.CodeDelegate. --- .../Project/Src/EnvDTE/CodeDelegate.cs | 6 +- .../Test/Src/EnvDTE/CodeDelegateTests.cs | 127 ++++++++---------- 2 files changed, 58 insertions(+), 75 deletions(-) diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeDelegate.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeDelegate.cs index 9a797d3b28..f17c70badc 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeDelegate.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeDelegate.cs @@ -2,14 +2,14 @@ // This code is distributed under the GNU LGPL (for details please see \doc\license.txt) using System; -using ICSharpCode.SharpDevelop.Dom; +using ICSharpCode.NRefactory.TypeSystem; namespace ICSharpCode.PackageManagement.EnvDTE { public class CodeDelegate : CodeType, global::EnvDTE.CodeDelegate { - public CodeDelegate(CodeModelContext context, ITypeDefinitionModel typeModel) - : base(context, typeModel) + public CodeDelegate(CodeModelContext context, ITypeDefinition typeDefinition) + : base(context, typeDefinition) { } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeDelegateTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeDelegateTests.cs index 0b781b5181..d838961cf3 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeDelegateTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeDelegateTests.cs @@ -1,72 +1,55 @@ -//// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) -//// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) -// -//using System; -//using ICSharpCode.PackageManagement.EnvDTE; -//using ICSharpCode.SharpDevelop.Dom; -//using NUnit.Framework; -//using PackageManagement.Tests.Helpers; -// -//namespace PackageManagement.Tests.EnvDTE -//{ -// [TestFixture] -// public class CodeDelegateTests -// { -// CodeDelegate codeDelegate; -// ProjectContentHelper helper; -// IClass fakeDelegate; -// -// [SetUp] -// public void Init() -// { -// helper = new ProjectContentHelper(); -// } -// -// void CreatePublicDelegate(string name) -// { -// fakeDelegate = helper.AddPublicDelegateToProjectContent(name); -// CreateDelegate(); -// } -// -// void CreatePrivateDelegate(string name) -// { -// fakeDelegate = helper.AddPrivateDelegateToProjectContent(name); -// CreateDelegate(); -// } -// -// void CreateDelegate() -// { -// codeDelegate = new CodeDelegate(helper.ProjectContent, fakeDelegate); -// } -// -// [Test] -// public void Access_PublicDelegate_ReturnsPublic() -// { -// CreatePublicDelegate("MyDelegate"); -// -// global::EnvDTE.vsCMAccess access = codeDelegate.Access; -// -// Assert.AreEqual(global::EnvDTE.vsCMAccess.vsCMAccessPublic, access); -// } -// -// [Test] -// public void Access_PrivateDelegate_ReturnsPrivate() -// { -// CreatePrivateDelegate("MyDelegate"); -// -// global::EnvDTE.vsCMAccess access = codeDelegate.Access; -// -// Assert.AreEqual(global::EnvDTE.vsCMAccess.vsCMAccessPrivate, access); -// } -// -// [Test] -// public void Kind_PublicDelegate_ReturnsClass() -// { -// CreatePublicDelegate("MyDelegate"); -// -// global::EnvDTE.vsCMElement kind = codeDelegate.Kind; -// -// Assert.AreEqual(global::EnvDTE.vsCMElement.vsCMElementDelegate, kind); -// } -// } -//} +// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt) +// This code is distributed under the GNU LGPL (for details please see \doc\license.txt) + +using System; +using System.Linq; +using ICSharpCode.NRefactory.TypeSystem; +using ICSharpCode.PackageManagement.EnvDTE; +using NUnit.Framework; + +namespace PackageManagement.Tests.EnvDTE +{ + [TestFixture] + public class CodeDelegateTests : CodeModelTestBase + { + CodeDelegate codeDelegate; + + void CreateDelegate(string code) + { + AddCodeFile("delegate.cs", code); + codeDelegate = new CodeDelegate( + codeModelContext, + assemblyModel.TopLevelTypeDefinitions.First().Resolve()); + } + + [Test] + public void Access_PublicDelegate_ReturnsPublic() + { + CreateDelegate("public delegate void MyDelegate(string param1);"); + + global::EnvDTE.vsCMAccess access = codeDelegate.Access; + + Assert.AreEqual(global::EnvDTE.vsCMAccess.vsCMAccessPublic, access); + } + + [Test] + public void Access_PrivateDelegate_ReturnsPrivate() + { + CreateDelegate("delegate void MyDelegate(string param1);"); + + global::EnvDTE.vsCMAccess access = codeDelegate.Access; + + Assert.AreEqual(global::EnvDTE.vsCMAccess.vsCMAccessPrivate, access); + } + + [Test] + public void Kind_PublicDelegate_ReturnsDelegate() + { + CreateDelegate("public delegate void MyDelegate(string param1);"); + + global::EnvDTE.vsCMElement kind = codeDelegate.Kind; + + Assert.AreEqual(global::EnvDTE.vsCMElement.vsCMElementDelegate, kind); + } + } +}