#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
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.
 
 
 
 
 
 

59 lines
1.5 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 System.Linq;
using ICSharpCode.NRefactory.TypeSystem;
using ICSharpCode.PackageManagement.EnvDTE;
using NUnit.Framework;
namespace PackageManagement.Tests.EnvDTE
{
[TestFixture]
public class CodeStructTests : CodeModelTestBase
{
CodeStruct codeStruct;
void CreateStruct(string code)
{
AddCodeFile("class.cs", code);
ITypeDefinition typeDefinition = assemblyModel
.TopLevelTypeDefinitions
.First()
.Resolve();
codeStruct = new CodeStruct(codeModelContext, typeDefinition);
}
[Test]
public void Access_PublicStruct_ReturnsPublic()
{
CreateStruct("public struct MyStruct {}");
global::EnvDTE.vsCMAccess access = codeStruct.Access;
Assert.AreEqual(global::EnvDTE.vsCMAccess.vsCMAccessPublic, access);
}
[Test]
public void Access_PrivateStruct_ReturnsPrivate()
{
CreateStruct("struct MyStruct {}");
global::EnvDTE.vsCMAccess access = codeStruct.Access;
Assert.AreEqual(global::EnvDTE.vsCMAccess.vsCMAccessPrivate, access);
}
[Test]
public void Kind_PublicStruct_ReturnsStruct()
{
CreateStruct("public struct MyStruct {}");
global::EnvDTE.vsCMElement kind = codeStruct.Kind;
Assert.AreEqual(global::EnvDTE.vsCMElement.vsCMElementStruct, kind);
}
}
}