|
|
|
@ -1,66 +1,76 @@ |
|
|
|
//// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
|
|
|
|
// 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)
|
|
|
|
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
|
|
|
|
//
|
|
|
|
|
|
|
|
//using System;
|
|
|
|
using System; |
|
|
|
//using System.Collections.Generic;
|
|
|
|
using System.Collections.Generic; |
|
|
|
//using System.Linq;
|
|
|
|
using System.Linq; |
|
|
|
//using ICSharpCode.PackageManagement.EnvDTE;
|
|
|
|
|
|
|
|
//using ICSharpCode.SharpDevelop.Dom;
|
|
|
|
using ICSharpCode.Core; |
|
|
|
//using NUnit.Framework;
|
|
|
|
using ICSharpCode.NRefactory.TypeSystem; |
|
|
|
//using PackageManagement.Tests.Helpers;
|
|
|
|
using ICSharpCode.NRefactory.TypeSystem.Implementation; |
|
|
|
//using Rhino.Mocks;
|
|
|
|
using ICSharpCode.PackageManagement; |
|
|
|
//
|
|
|
|
using ICSharpCode.PackageManagement.EnvDTE; |
|
|
|
//namespace PackageManagement.Tests.EnvDTE
|
|
|
|
using ICSharpCode.SharpDevelop.Dom; |
|
|
|
//{
|
|
|
|
using NUnit.Framework; |
|
|
|
// [TestFixture]
|
|
|
|
using PackageManagement.Tests.Helpers; |
|
|
|
// public class CodeModelTests
|
|
|
|
using Rhino.Mocks; |
|
|
|
// {
|
|
|
|
|
|
|
|
// CodeModel codeModel;
|
|
|
|
namespace PackageManagement.Tests.EnvDTE |
|
|
|
// ProjectContentHelper helper;
|
|
|
|
{ |
|
|
|
// TestableProject msbuildProject;
|
|
|
|
[TestFixture] |
|
|
|
//
|
|
|
|
public class CodeModelTests : CodeModelTestBase |
|
|
|
// void CreateCodeModel()
|
|
|
|
{ |
|
|
|
// {
|
|
|
|
CodeModel codeModel; |
|
|
|
// CreateProjectContentHelper();
|
|
|
|
Project dteProject; |
|
|
|
// CreateProjectForProjectContent();
|
|
|
|
IPackageManagementProjectService fakeProjectService; |
|
|
|
// CreateCodeModel(helper.ProjectContent);
|
|
|
|
IPackageManagementFileService fakeFileService; |
|
|
|
// }
|
|
|
|
TestableProject msbuildProject; |
|
|
|
//
|
|
|
|
|
|
|
|
// void CreateProjectForProjectContent()
|
|
|
|
void CreateCodeModel() |
|
|
|
// {
|
|
|
|
{ |
|
|
|
// msbuildProject = ProjectHelper.CreateTestProject();
|
|
|
|
msbuildProject = ProjectHelper.CreateTestProject(); |
|
|
|
// helper.SetProjectForProjectContent(msbuildProject);
|
|
|
|
|
|
|
|
// }
|
|
|
|
fakeProjectService = MockRepository.GenerateStub<IPackageManagementProjectService>(); |
|
|
|
//
|
|
|
|
fakeFileService = MockRepository.GenerateStub<IPackageManagementFileService>(); |
|
|
|
// void CreateProjectContentHelper()
|
|
|
|
dteProject = new Project(msbuildProject, fakeProjectService, fakeFileService); |
|
|
|
// {
|
|
|
|
codeModelContext.DteProject = dteProject; |
|
|
|
// helper = new ProjectContentHelper();
|
|
|
|
|
|
|
|
// }
|
|
|
|
codeModel = new CodeModel(codeModelContext, dteProject); |
|
|
|
//
|
|
|
|
|
|
|
|
// void CreateCodeModel(IProjectContent projectContent)
|
|
|
|
msbuildProject.SetAssemblyModel(assemblyModel); |
|
|
|
// {
|
|
|
|
project.Stub(p => p.AssemblyModel).Return(assemblyModel); |
|
|
|
// codeModel = new CodeModel(projectContent);
|
|
|
|
|
|
|
|
// }
|
|
|
|
fakeFileService |
|
|
|
//
|
|
|
|
.Stub(fileService => fileService.GetCompilationUnit(msbuildProject)) |
|
|
|
// void CreateCodeModelWithCSharpProject()
|
|
|
|
.WhenCalled(compilation => compilation.ReturnValue = CreateCompilation()); |
|
|
|
// {
|
|
|
|
} |
|
|
|
// CreateProjectContentHelper();
|
|
|
|
|
|
|
|
// helper.ProjectContentIsForCSharpProject();
|
|
|
|
ICompilation CreateCompilation() |
|
|
|
// CreateCodeModel(helper.ProjectContent);
|
|
|
|
{ |
|
|
|
// }
|
|
|
|
var solutionSnapshot = new TestableSolutionSnapshot(msbuildProject); |
|
|
|
//
|
|
|
|
msbuildProject.SetProjectContent(projectContent); |
|
|
|
// void CreateCodeModelWithVisualBasicProject()
|
|
|
|
ICompilation compilation = new SimpleCompilation(solutionSnapshot, projectContent, projectContent.AssemblyReferences); |
|
|
|
// {
|
|
|
|
solutionSnapshot.AddCompilation(projectContent, compilation); |
|
|
|
// CreateProjectContentHelper();
|
|
|
|
return compilation; |
|
|
|
// helper.ProjectContentIsForVisualBasicProject();
|
|
|
|
} |
|
|
|
// CreateCodeModel(helper.ProjectContent);
|
|
|
|
|
|
|
|
// }
|
|
|
|
void CreateCodeModelWithCSharpProject() |
|
|
|
//
|
|
|
|
{ |
|
|
|
// void AddClassToProjectContent(string className)
|
|
|
|
CreateCodeModel(); |
|
|
|
// {
|
|
|
|
msbuildProject.FileName = new FileName(@"c:\projects\MyProject.csproj"); |
|
|
|
// helper.AddClassToProjectContent(className);
|
|
|
|
} |
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
void CreateCodeModelWithVisualBasicProject() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
CreateCodeModel(); |
|
|
|
|
|
|
|
msbuildProject.FileName = new FileName(@"c:\projects\MyProject.vbproj"); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void AddClassToProject(string code) |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
AddCodeFile("class.cs", code); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// void AddClassToDifferentProjectContent(string className)
|
|
|
|
// void AddClassToDifferentProjectContent(string className)
|
|
|
|
// {
|
|
|
|
// {
|
|
|
|
// helper.AddClassToDifferentProjectContent(className);
|
|
|
|
// helper.AddClassToDifferentProjectContent(className);
|
|
|
|
@ -81,148 +91,132 @@ |
|
|
|
// helper.AddInterfaceToDifferentProjectContent(interfaceName);
|
|
|
|
// helper.AddInterfaceToDifferentProjectContent(interfaceName);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// void ProjectIsCSharpProject()
|
|
|
|
[Test] |
|
|
|
// {
|
|
|
|
public void CodeTypeFromFullName_NoSuchTypeInProject_ReturnsNull() |
|
|
|
// helper.ProjectContentIsForCSharpProject();
|
|
|
|
{ |
|
|
|
// }
|
|
|
|
CreateCodeModel(); |
|
|
|
//
|
|
|
|
|
|
|
|
// void ProjectIsVisualBasicProject()
|
|
|
|
global::EnvDTE.CodeType codeType = codeModel.CodeTypeFromFullName("UnknownType"); |
|
|
|
// {
|
|
|
|
|
|
|
|
// helper.ProjectContentIsForVisualBasicProject();
|
|
|
|
Assert.IsNull(codeType); |
|
|
|
// }
|
|
|
|
} |
|
|
|
//
|
|
|
|
|
|
|
|
// [Test]
|
|
|
|
[Test] |
|
|
|
// public void CodeTypeFromFullName_NoSuchTypeInProject_ReturnsNull()
|
|
|
|
public void CodeTypeFromFullName_ClassExistsInProject_ReturnsCodeClass2() |
|
|
|
// {
|
|
|
|
{ |
|
|
|
// CreateCodeModel();
|
|
|
|
CreateCodeModel(); |
|
|
|
//
|
|
|
|
AddClassToProject( |
|
|
|
// global::EnvDTE.CodeType codeType = codeModel.CodeTypeFromFullName("UnknownType");
|
|
|
|
"namespace Tests {\r\n" + |
|
|
|
//
|
|
|
|
" public class TestClass {} \r\n" + |
|
|
|
// Assert.IsNull(codeType);
|
|
|
|
"}"); |
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
var codeClass = codeModel.CodeTypeFromFullName("Tests.TestClass") as CodeClass2; |
|
|
|
// [Test]
|
|
|
|
|
|
|
|
// public void CodeTypeFromFullName_ClassExistsInProject_ReturnsCodeClass2()
|
|
|
|
Assert.AreEqual("Tests.TestClass", codeClass.FullName); |
|
|
|
// {
|
|
|
|
Assert.AreEqual("TestClass", codeClass.Name); |
|
|
|
// CreateCodeModel();
|
|
|
|
} |
|
|
|
// AddClassToProjectContent("Tests.TestClass");
|
|
|
|
|
|
|
|
//
|
|
|
|
[Test] |
|
|
|
// var codeClass = codeModel.CodeTypeFromFullName("Tests.TestClass") as CodeClass2;
|
|
|
|
public void CodeTypeFromFullName_ClassWithoutNamespaceExistsInProject_ReturnsCodeClass2() |
|
|
|
//
|
|
|
|
{ |
|
|
|
// Assert.AreEqual("Tests.TestClass", codeClass.FullName);
|
|
|
|
CreateCodeModel(); |
|
|
|
// Assert.AreEqual("TestClass", codeClass.Name);
|
|
|
|
AddClassToProject("public class TestClass {}"); |
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
var codeClass = codeModel.CodeTypeFromFullName("TestClass") as CodeClass2; |
|
|
|
// [Test]
|
|
|
|
|
|
|
|
// public void CodeTypeFromFullName_ClassWithoutNamespaceExistsInProject_ReturnsCodeClass2()
|
|
|
|
Assert.AreEqual("TestClass", codeClass.FullName); |
|
|
|
// {
|
|
|
|
} |
|
|
|
// CreateCodeModel();
|
|
|
|
|
|
|
|
// AddClassToProjectContent("TestClass");
|
|
|
|
[Test] |
|
|
|
//
|
|
|
|
public void CodeTypeFromFullName_InterfaceExistsInProject_ReturnsCodeInterface() |
|
|
|
// var codeClass = codeModel.CodeTypeFromFullName("TestClass") as CodeClass2;
|
|
|
|
{ |
|
|
|
//
|
|
|
|
CreateCodeModel(); |
|
|
|
// Assert.AreEqual("TestClass", codeClass.FullName);
|
|
|
|
AddClassToProject("public interface Interface1 {}"); |
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
var codeInterface = codeModel.CodeTypeFromFullName("Interface1") as CodeInterface; |
|
|
|
// [Test]
|
|
|
|
|
|
|
|
// public void CodeTypeFromFullName_InterfaceExistsInProject_ReturnsCodeInterface()
|
|
|
|
Assert.AreEqual("Interface1", codeInterface.FullName); |
|
|
|
// {
|
|
|
|
} |
|
|
|
// CreateCodeModel();
|
|
|
|
|
|
|
|
// AddInterfaceToProjectContent("Interface1");
|
|
|
|
[Test] |
|
|
|
//
|
|
|
|
public void CodeElements_OneNamespaceInProject_ReturnsOneCodeNamespaceItem() |
|
|
|
// var codeInterface = codeModel.CodeTypeFromFullName("Interface1") as CodeInterface;
|
|
|
|
{ |
|
|
|
//
|
|
|
|
CreateCodeModel(); |
|
|
|
// Assert.AreEqual("Interface1", codeInterface.FullName);
|
|
|
|
AddClassToProject("namespace Test {}"); |
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
global::EnvDTE.CodeElements codeElements = codeModel.CodeElements; |
|
|
|
// [Test]
|
|
|
|
global::EnvDTE.CodeNamespace codeNamespace = codeElements |
|
|
|
// public void CodeElements_OneNamespaceInProject_ReturnsOneCodeNamespaceItem()
|
|
|
|
.FindFirstCodeNamespaceOrDefault(e => e.Name == "Test"); |
|
|
|
// {
|
|
|
|
|
|
|
|
// CreateCodeModel();
|
|
|
|
Assert.AreEqual("Test", codeNamespace.FullName); |
|
|
|
// helper.AddNamespaceCompletionEntryInNamespace(String.Empty, "Test");
|
|
|
|
Assert.AreEqual("Test", codeNamespace.Name); |
|
|
|
//
|
|
|
|
} |
|
|
|
// global::EnvDTE.CodeElements codeElements = codeModel.CodeElements;
|
|
|
|
|
|
|
|
// global::EnvDTE.CodeNamespace codeNamespace = codeElements.FirstCodeNamespaceOrDefault();
|
|
|
|
[Test] |
|
|
|
//
|
|
|
|
public void CodeElements_OneNamespaceInProjectWithTwoPartsToName_ReturnsOneCodeNamespaceItemWithFirstPartOfNamespaceAsName() |
|
|
|
// Assert.AreEqual(1, codeElements.Count);
|
|
|
|
{ |
|
|
|
// Assert.AreEqual("Test", codeNamespace.FullName);
|
|
|
|
CreateCodeModel(); |
|
|
|
// Assert.AreEqual("Test", codeNamespace.Name);
|
|
|
|
AddClassToProject("namespace First.Second {}"); |
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
global::EnvDTE.CodeElements codeElements = codeModel.CodeElements; |
|
|
|
// [Test]
|
|
|
|
global::EnvDTE.CodeNamespace codeNamespace = codeElements |
|
|
|
// public void CodeElements_OneNamespaceInProjectWithTwoPartsToName_ReturnsOneCodeNamespaceItemWithFirstPartOfNamespaceAsName()
|
|
|
|
.FindFirstCodeNamespaceOrDefault(e => e.Name == "First"); |
|
|
|
// {
|
|
|
|
|
|
|
|
// CreateCodeModel();
|
|
|
|
global::EnvDTE.CodeNamespace secondCodeNamespace = codeNamespace.Members.FirstCodeNamespaceOrDefault(); |
|
|
|
// helper.AddNamespaceCompletionEntryInNamespace(String.Empty, "First");
|
|
|
|
Assert.AreEqual("First", codeNamespace.FullName); |
|
|
|
// helper.AddNamespaceCompletionEntryInNamespace("First", "Second");
|
|
|
|
Assert.AreEqual("First", codeNamespace.Name); |
|
|
|
//
|
|
|
|
Assert.AreEqual("Second", secondCodeNamespace.Name); |
|
|
|
// global::EnvDTE.CodeElements codeElements = codeModel.CodeElements;
|
|
|
|
Assert.AreEqual("First.Second", secondCodeNamespace.FullName); |
|
|
|
// global::EnvDTE.CodeNamespace codeNamespace = codeElements.FirstCodeNamespaceOrDefault();
|
|
|
|
} |
|
|
|
//
|
|
|
|
|
|
|
|
// Assert.AreEqual(1, codeElements.Count);
|
|
|
|
[Test] |
|
|
|
// Assert.AreEqual("First", codeNamespace.FullName);
|
|
|
|
public void CodeElements_OneClassWithNoNamespaceInProject_ReturnsOneCodeClassItem() |
|
|
|
// Assert.AreEqual("First", codeNamespace.Name);
|
|
|
|
{ |
|
|
|
// }
|
|
|
|
CreateCodeModel(); |
|
|
|
//
|
|
|
|
AddClassToProject("public class TestClass { }"); |
|
|
|
// [Test]
|
|
|
|
|
|
|
|
// public void CodeElements_OneClassWithNoNamespaceInProject_ReturnsOneCodeClassItem()
|
|
|
|
global::EnvDTE.CodeElements codeElements = codeModel.CodeElements; |
|
|
|
// {
|
|
|
|
CodeClass2 codeClass = codeElements |
|
|
|
// CreateCodeModel();
|
|
|
|
.FindFirstCodeClass2OrDefault(e => e.FullName == "TestClass"); |
|
|
|
// AddClassToProjectContent(String.Empty, "TestClass");
|
|
|
|
|
|
|
|
//
|
|
|
|
Assert.AreEqual("TestClass", codeClass.Name); |
|
|
|
// global::EnvDTE.CodeElements codeElements = codeModel.CodeElements;
|
|
|
|
} |
|
|
|
// CodeClass2 codeClass = codeElements.FirstCodeClass2OrDefault();
|
|
|
|
|
|
|
|
//
|
|
|
|
[Test] |
|
|
|
// Assert.AreEqual(1, codeElements.Count);
|
|
|
|
public void CodeElements_TwoNamespacesInProjectWithFirstPartsTheName_ReturnsOneParentNamespaceWithTwoChildNamespaces() |
|
|
|
// Assert.AreEqual("TestClass", codeClass.FullName);
|
|
|
|
{ |
|
|
|
// }
|
|
|
|
CreateCodeModel(); |
|
|
|
//
|
|
|
|
string code = |
|
|
|
// [Test]
|
|
|
|
"namespace First.A { }\r\n" + |
|
|
|
// public void CodeElements_TwoNamespacesInProjectWithFirstPartsTheName_ReturnsOneParentNamespaceWithTwoChildNamespaces()
|
|
|
|
"namespace First.B { }\r\n"; |
|
|
|
// {
|
|
|
|
AddClassToProject(code); |
|
|
|
// CreateCodeModel();
|
|
|
|
|
|
|
|
// helper.AddNamespaceCompletionEntryInNamespace(String.Empty, "First");
|
|
|
|
global::EnvDTE.CodeElements codeElements = codeModel.CodeElements; |
|
|
|
// helper.AddNamespaceCompletionEntriesInNamespace("First", "A", "B");
|
|
|
|
CodeNamespace codeNamespace = codeElements.FirstCodeNamespaceOrDefault(); |
|
|
|
// helper.NoCompletionItemsInNamespace("First.A");
|
|
|
|
|
|
|
|
// helper.NoCompletionItemsInNamespace("First.B");
|
|
|
|
global::EnvDTE.CodeElements members = codeNamespace.Members; |
|
|
|
//
|
|
|
|
CodeNamespace firstChildNamespace = members.FirstCodeNamespaceOrDefault(); |
|
|
|
// global::EnvDTE.CodeElements codeElements = codeModel.CodeElements;
|
|
|
|
CodeNamespace secondChildNamespace = members.LastCodeNamespaceOrDefault(); |
|
|
|
// CodeNamespace codeNamespace = codeElements.FirstCodeNamespaceOrDefault();
|
|
|
|
|
|
|
|
//
|
|
|
|
Assert.AreEqual("First", codeNamespace.FullName); |
|
|
|
// global::EnvDTE.CodeElements members = codeNamespace.Members;
|
|
|
|
Assert.AreEqual(2, codeNamespace.Members.Count); |
|
|
|
// CodeNamespace firstChildNamespace = members.FirstCodeNamespaceOrDefault();
|
|
|
|
Assert.AreEqual("A", firstChildNamespace.Name); |
|
|
|
// CodeNamespace secondChildNamespace = members.LastCodeNamespaceOrDefault();
|
|
|
|
Assert.AreEqual("B", secondChildNamespace.Name); |
|
|
|
//
|
|
|
|
} |
|
|
|
// Assert.AreEqual(1, codeElements.Count);
|
|
|
|
|
|
|
|
// Assert.AreEqual("First", codeNamespace.FullName);
|
|
|
|
[Test] |
|
|
|
// Assert.AreEqual(2, codeNamespace.Members.Count);
|
|
|
|
public void CodeTypeFromFullName_ClassExistsInProject_InfoLocationIsLocalProject() |
|
|
|
// Assert.AreEqual("A", firstChildNamespace.Name);
|
|
|
|
{ |
|
|
|
// Assert.AreEqual("B", secondChildNamespace.Name);
|
|
|
|
CreateCodeModel(); |
|
|
|
// }
|
|
|
|
AddClassToProject( |
|
|
|
//
|
|
|
|
"namespace Tests {\r\n" + |
|
|
|
// [Test]
|
|
|
|
" public class TestClass {} \r\n" + |
|
|
|
// public void CodeElements_ProjectHasEmptyNamespaceName_EmptyNamespaceNameNotIncludedInMembers()
|
|
|
|
"}"); |
|
|
|
// {
|
|
|
|
|
|
|
|
// CreateCodeModel();
|
|
|
|
var codeClass = codeModel.CodeTypeFromFullName("Tests.TestClass") as CodeClass2; |
|
|
|
// helper.AddNamespaceCompletionEntriesInNamespace(String.Empty, String.Empty, "Tests");
|
|
|
|
|
|
|
|
//
|
|
|
|
Assert.AreEqual(global::EnvDTE.vsCMInfoLocation.vsCMInfoLocationProject, codeClass.InfoLocation); |
|
|
|
// global::EnvDTE.CodeElements members = codeModel.CodeElements;
|
|
|
|
} |
|
|
|
// CodeNamespace codeNamespace = members.FirstCodeNamespaceOrDefault();
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Assert.AreEqual(1, members.Count);
|
|
|
|
|
|
|
|
// Assert.AreEqual("Tests", codeNamespace.Name);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// [Test]
|
|
|
|
|
|
|
|
// public void CodeTypeFromFullName_ClassExistsInProject_InfoLocationIsLocalProject()
|
|
|
|
|
|
|
|
// {
|
|
|
|
|
|
|
|
// CreateCodeModel();
|
|
|
|
|
|
|
|
// AddClassToProjectContent("Tests.TestClass");
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// var codeClass = codeModel.CodeTypeFromFullName("Tests.TestClass") as CodeClass2;
|
|
|
|
|
|
|
|
//
|
|
|
|
|
|
|
|
// Assert.AreEqual(global::EnvDTE.vsCMInfoLocation.vsCMInfoLocationProject, codeClass.InfoLocation);
|
|
|
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
//
|
|
|
|
//
|
|
|
|
// [Test]
|
|
|
|
// [Test]
|
|
|
|
// public void CodeTypeFromFullName_ClassExistsInDifferentProject_InfoLocationIsExternal()
|
|
|
|
// public void CodeTypeFromFullName_ClassExistsInDifferentProject_InfoLocationIsExternal()
|
|
|
|
@ -256,25 +250,37 @@ |
|
|
|
//
|
|
|
|
//
|
|
|
|
// Assert.AreEqual(global::EnvDTE.vsCMInfoLocation.vsCMInfoLocationExternal, codeInterface.InfoLocation);
|
|
|
|
// Assert.AreEqual(global::EnvDTE.vsCMInfoLocation.vsCMInfoLocationExternal, codeInterface.InfoLocation);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
//
|
|
|
|
|
|
|
|
// [Test]
|
|
|
|
[Test] |
|
|
|
// public void Language_CSharpProject_ReturnsCSharpProjectGuid()
|
|
|
|
public void Language_CSharpProject_ReturnsCSharpProjectGuid() |
|
|
|
// {
|
|
|
|
{ |
|
|
|
// CreateCodeModelWithCSharpProject();
|
|
|
|
CreateCodeModelWithCSharpProject(); |
|
|
|
//
|
|
|
|
|
|
|
|
// string language = codeModel.Language;
|
|
|
|
string language = codeModel.Language; |
|
|
|
//
|
|
|
|
|
|
|
|
// Assert.AreEqual(global::EnvDTE.CodeModelLanguageConstants.vsCMLanguageCSharp, language);
|
|
|
|
Assert.AreEqual(global::EnvDTE.CodeModelLanguageConstants.vsCMLanguageCSharp, language); |
|
|
|
// }
|
|
|
|
} |
|
|
|
//
|
|
|
|
|
|
|
|
// [Test]
|
|
|
|
[Test] |
|
|
|
// public void Language_VisualBasicProject_ReturnsVisualBasicProjectGuid()
|
|
|
|
public void Language_VisualBasicProject_ReturnsVisualBasicProjectGuid() |
|
|
|
// {
|
|
|
|
{ |
|
|
|
// CreateCodeModelWithVisualBasicProject();
|
|
|
|
CreateCodeModelWithVisualBasicProject(); |
|
|
|
//
|
|
|
|
|
|
|
|
// string language = codeModel.Language;
|
|
|
|
string language = codeModel.Language; |
|
|
|
//
|
|
|
|
|
|
|
|
// Assert.AreEqual(global::EnvDTE.CodeModelLanguageConstants.vsCMLanguageVB, language);
|
|
|
|
Assert.AreEqual(global::EnvDTE.CodeModelLanguageConstants.vsCMLanguageVB, language); |
|
|
|
// }
|
|
|
|
} |
|
|
|
// }
|
|
|
|
|
|
|
|
//}
|
|
|
|
[Test] |
|
|
|
|
|
|
|
[Ignore("TODO - Use NRefactory")] |
|
|
|
|
|
|
|
public void CodeTypeFromFullName_SystemString_ReturnsCodeClass2() |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
CreateCodeModel(); |
|
|
|
|
|
|
|
AddClassToProject("public class TestClass {}"); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var codeClass = codeModel.CodeTypeFromFullName("System.String") as CodeClass2; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Assert.AreEqual("System.String", codeClass.FullName); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|