You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
131 lines
3.0 KiB
131 lines
3.0 KiB
// 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 NUnit.Framework; |
|
using PackageManagement.Tests.Helpers; |
|
|
|
namespace PackageManagement.Tests.EnvDTE |
|
{ |
|
[TestFixture] |
|
public class CodeFunction2Tests |
|
{ |
|
CodeFunction2 codeFunction; |
|
MethodHelper helper; |
|
|
|
[SetUp] |
|
public void Init() |
|
{ |
|
helper = new MethodHelper(); |
|
} |
|
|
|
void CreatePublicFunction(string name) |
|
{ |
|
helper.CreatePublicMethod(name); |
|
CreateFunction(); |
|
} |
|
|
|
void CreateFunction() |
|
{ |
|
codeFunction = new CodeFunction2(helper.Method); |
|
} |
|
|
|
[Test] |
|
public void OverrideKind_OrdinaryMethod_ReturnsNone() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
|
|
vsCMOverrideKind kind = codeFunction.OverrideKind; |
|
|
|
Assert.AreEqual(vsCMOverrideKind.vsCMOverrideKindNone, kind); |
|
} |
|
|
|
[Test] |
|
public void OverrideKind_AbstractMethod_ReturnsAbstract() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
helper.MakeMethodAbstract(); |
|
|
|
vsCMOverrideKind kind = codeFunction.OverrideKind; |
|
|
|
Assert.AreEqual(vsCMOverrideKind.vsCMOverrideKindAbstract, kind); |
|
} |
|
|
|
[Test] |
|
public void OverrideKind_VirtualMethod_ReturnsVirtual() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
helper.MakeMethodVirtual(); |
|
|
|
vsCMOverrideKind kind = codeFunction.OverrideKind; |
|
|
|
Assert.AreEqual(vsCMOverrideKind.vsCMOverrideKindVirtual, kind); |
|
} |
|
|
|
[Test] |
|
public void OverrideKind_MethodOverride_ReturnsOverride() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
helper.MakeMethodOverride(); |
|
|
|
vsCMOverrideKind kind = codeFunction.OverrideKind; |
|
|
|
Assert.AreEqual(vsCMOverrideKind.vsCMOverrideKindOverride, kind); |
|
} |
|
|
|
[Test] |
|
public void OverrideKind_SealedMethod_ReturnsSealed() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
helper.MakeMethodSealed(); |
|
|
|
vsCMOverrideKind kind = codeFunction.OverrideKind; |
|
|
|
Assert.AreEqual(vsCMOverrideKind.vsCMOverrideKindSealed, kind); |
|
} |
|
|
|
[Test] |
|
public void OverrideKind_MethodHiddenByNewKeyword_ReturnsNew() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
helper.MakeMethodNewOverride(); |
|
|
|
vsCMOverrideKind kind = codeFunction.OverrideKind; |
|
|
|
Assert.AreEqual(vsCMOverrideKind.vsCMOverrideKindNew, kind); |
|
} |
|
|
|
[Test] |
|
public void IsGeneric_MethodHasTypeParameter_ReturnsTrue() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
helper.AddTypeParameter("TResult"); |
|
|
|
bool generic = codeFunction.IsGeneric; |
|
|
|
Assert.IsTrue(generic); |
|
} |
|
|
|
[Test] |
|
public void IsGeneric_MethodHasTypeParameters_ReturnsFalse() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
helper.NoTypeParameters(); |
|
|
|
bool generic = codeFunction.IsGeneric; |
|
|
|
Assert.IsFalse(generic); |
|
} |
|
|
|
[Test] |
|
public void IsGeneric_MethodTypeParametersIsNull_ReturnsFalse() |
|
{ |
|
CreatePublicFunction("MyClass.MyFunction"); |
|
|
|
bool generic = codeFunction.IsGeneric; |
|
|
|
Assert.IsFalse(generic); |
|
} |
|
} |
|
}
|
|
|