21 changed files with 560 additions and 17 deletions
@ -0,0 +1,62 @@ |
|||||||
|
// 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.FakeProjectContent, fakeDelegate); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void Access_PublicDelegate_ReturnsPublic() |
||||||
|
{ |
||||||
|
CreatePublicDelegate("MyDelegate"); |
||||||
|
|
||||||
|
vsCMAccess access = codeDelegate.Access; |
||||||
|
|
||||||
|
Assert.AreEqual(vsCMAccess.vsCMAccessPublic, access); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void Access_PrivateDelegate_ReturnsPrivate() |
||||||
|
{ |
||||||
|
CreatePrivateDelegate("MyDelegate"); |
||||||
|
|
||||||
|
vsCMAccess access = codeDelegate.Access; |
||||||
|
|
||||||
|
Assert.AreEqual(vsCMAccess.vsCMAccessPrivate, access); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,82 @@ |
|||||||
|
// 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; |
||||||
|
using Rhino.Mocks; |
||||||
|
|
||||||
|
namespace PackageManagement.Tests.EnvDTE |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class CodeFunctionTests |
||||||
|
{ |
||||||
|
CodeFunction codeFunction; |
||||||
|
IMethod method; |
||||||
|
ProjectContentHelper helper; |
||||||
|
|
||||||
|
[SetUp] |
||||||
|
public void Init() |
||||||
|
{ |
||||||
|
helper = new ProjectContentHelper(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateMSBuildMethod(string name) |
||||||
|
{ |
||||||
|
method = MockRepository.GenerateMock<IMethod, IEntity>(); |
||||||
|
method.Stub(m => m.ProjectContent).Return(helper.FakeProjectContent); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateMSBuildPublicMethod(string name) |
||||||
|
{ |
||||||
|
CreateMSBuildMethod(name); |
||||||
|
method.Stub(m => m.IsPublic).Return(true); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateMSBuildPrivateMethod(string name) |
||||||
|
{ |
||||||
|
CreateMSBuildMethod(name); |
||||||
|
method.Stub(m => m.IsPublic).Return(false); |
||||||
|
method.Stub(m => m.IsPrivate).Return(true); |
||||||
|
} |
||||||
|
|
||||||
|
void CreatePublicFunction(string name) |
||||||
|
{ |
||||||
|
CreateMSBuildPublicMethod(name); |
||||||
|
CreateFunction(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreatePrivateFunction(string name) |
||||||
|
{ |
||||||
|
CreateMSBuildPrivateMethod(name); |
||||||
|
CreateFunction(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateFunction() |
||||||
|
{ |
||||||
|
codeFunction = new CodeFunction(method); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void Access_PublicFunction_ReturnsPublic() |
||||||
|
{ |
||||||
|
CreatePublicFunction("MyFunction"); |
||||||
|
|
||||||
|
vsCMAccess access = codeFunction.Access; |
||||||
|
|
||||||
|
Assert.AreEqual(vsCMAccess.vsCMAccessPublic, access); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void Access_PrivateFunction_ReturnsPrivate() |
||||||
|
{ |
||||||
|
CreatePrivateFunction("MyFunction"); |
||||||
|
|
||||||
|
vsCMAccess access = codeFunction.Access; |
||||||
|
|
||||||
|
Assert.AreEqual(vsCMAccess.vsCMAccessPrivate, access); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,62 @@ |
|||||||
|
// 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 CodeStructTests |
||||||
|
{ |
||||||
|
CodeStruct codeStruct; |
||||||
|
ProjectContentHelper helper; |
||||||
|
IClass fakeStruct; |
||||||
|
|
||||||
|
[SetUp] |
||||||
|
public void Init() |
||||||
|
{ |
||||||
|
helper = new ProjectContentHelper(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreatePublicStruct(string name) |
||||||
|
{ |
||||||
|
fakeStruct = helper.AddPublicStructToProjectContent(name); |
||||||
|
CreateStruct(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreatePrivateStruct(string name) |
||||||
|
{ |
||||||
|
fakeStruct = helper.AddPrivateStructToProjectContent(name); |
||||||
|
CreateStruct(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateStruct() |
||||||
|
{ |
||||||
|
codeStruct = new CodeStruct(helper.FakeProjectContent, fakeStruct); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void Access_PublicStruct_ReturnsPublic() |
||||||
|
{ |
||||||
|
CreatePublicStruct("MyStruct"); |
||||||
|
|
||||||
|
vsCMAccess access = codeStruct.Access; |
||||||
|
|
||||||
|
Assert.AreEqual(vsCMAccess.vsCMAccessPublic, access); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void Access_PrivateStruct_ReturnsPrivate() |
||||||
|
{ |
||||||
|
CreatePrivateStruct("MyStruct"); |
||||||
|
|
||||||
|
vsCMAccess access = codeStruct.Access; |
||||||
|
|
||||||
|
Assert.AreEqual(vsCMAccess.vsCMAccessPrivate, access); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
@ -0,0 +1,82 @@ |
|||||||
|
// 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; |
||||||
|
using Rhino.Mocks; |
||||||
|
|
||||||
|
namespace PackageManagement.Tests.EnvDTE |
||||||
|
{ |
||||||
|
[TestFixture] |
||||||
|
public class CodeVariableTests |
||||||
|
{ |
||||||
|
CodeVariable codeVariable; |
||||||
|
IField field; |
||||||
|
ProjectContentHelper helper; |
||||||
|
|
||||||
|
[SetUp] |
||||||
|
public void Init() |
||||||
|
{ |
||||||
|
helper = new ProjectContentHelper(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateMSBuildField(string name) |
||||||
|
{ |
||||||
|
field = MockRepository.GenerateMock<IField, IEntity>(); |
||||||
|
field.Stub(f => f.ProjectContent).Return(helper.FakeProjectContent); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateMSBuildPublicField(string name) |
||||||
|
{ |
||||||
|
CreateMSBuildField(name); |
||||||
|
field.Stub(f => f.IsPublic).Return(true); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateMSBuildPrivateField(string name) |
||||||
|
{ |
||||||
|
CreateMSBuildField(name); |
||||||
|
field.Stub(f => f.IsPublic).Return(false); |
||||||
|
field.Stub(f => f.IsPrivate).Return(true); |
||||||
|
} |
||||||
|
|
||||||
|
void CreatePublicVariable(string name) |
||||||
|
{ |
||||||
|
CreateMSBuildPublicField(name); |
||||||
|
CreateVariable(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreatePrivateVariable(string name) |
||||||
|
{ |
||||||
|
CreateMSBuildPrivateField(name); |
||||||
|
CreateVariable(); |
||||||
|
} |
||||||
|
|
||||||
|
void CreateVariable() |
||||||
|
{ |
||||||
|
codeVariable = new CodeVariable(field); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void Access_PublicVariable_ReturnsPublic() |
||||||
|
{ |
||||||
|
CreatePublicVariable("MyVariable"); |
||||||
|
|
||||||
|
vsCMAccess access = codeVariable.Access; |
||||||
|
|
||||||
|
Assert.AreEqual(vsCMAccess.vsCMAccessPublic, access); |
||||||
|
} |
||||||
|
|
||||||
|
[Test] |
||||||
|
public void Access_PrivateVariable_ReturnsPrivate() |
||||||
|
{ |
||||||
|
CreatePrivateVariable("MyVariable"); |
||||||
|
|
||||||
|
vsCMAccess access = codeVariable.Access; |
||||||
|
|
||||||
|
Assert.AreEqual(vsCMAccess.vsCMAccessPrivate, access); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
||||||
Loading…
Reference in new issue