4 changed files with 194 additions and 269 deletions
@ -1,51 +0,0 @@ |
|||||||
//// 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;
|
|
||||||
//using Rhino.Mocks;
|
|
||||||
//
|
|
||||||
//namespace PackageManagement.Tests.EnvDTE
|
|
||||||
//{
|
|
||||||
// [TestFixture]
|
|
||||||
// public class CodeImportTests
|
|
||||||
// {
|
|
||||||
// CodeImport codeImport;
|
|
||||||
// UsingHelper helper;
|
|
||||||
//
|
|
||||||
// void CreateCodeImport(string namespaceName)
|
|
||||||
// {
|
|
||||||
// helper = new UsingHelper();
|
|
||||||
// helper.AddNamespace(namespaceName);
|
|
||||||
// codeImport = new CodeImport(helper.Using);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// void CreateCodeImportWithNoNamespace()
|
|
||||||
// {
|
|
||||||
// helper = new UsingHelper();
|
|
||||||
// codeImport = new CodeImport(helper.Using);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// [Test]
|
|
||||||
// public void Kind_SystemXmlNamespace_ReturnsImport()
|
|
||||||
// {
|
|
||||||
// CreateCodeImport("System.Xml");
|
|
||||||
//
|
|
||||||
// global::EnvDTE.vsCMElement kind = codeImport.Kind;
|
|
||||||
//
|
|
||||||
// Assert.AreEqual(global::EnvDTE.vsCMElement.vsCMElementImportStmt, kind);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// [Test]
|
|
||||||
// public void Namespace_UsingHasNoNamespacesAndAliasesIsNull_ReturnsEmptyString()
|
|
||||||
// {
|
|
||||||
// CreateCodeImportWithNoNamespace();
|
|
||||||
//
|
|
||||||
// string name = codeImport.Namespace;
|
|
||||||
//
|
|
||||||
// Assert.AreEqual(String.Empty, name);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
@ -1,199 +1,163 @@ |
|||||||
//// 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 ICSharpCode.EasyCodeDom;
|
using System.Linq; |
||||||
//using ICSharpCode.PackageManagement;
|
using ICSharpCode.EasyCodeDom; |
||||||
//using ICSharpCode.PackageManagement.EnvDTE;
|
using ICSharpCode.PackageManagement; |
||||||
//using ICSharpCode.SharpDevelop.Project;
|
using ICSharpCode.PackageManagement.EnvDTE; |
||||||
//using NUnit.Framework;
|
using ICSharpCode.SharpDevelop.Project; |
||||||
//using PackageManagement.Tests.Helpers;
|
using NUnit.Framework; |
||||||
//using Rhino.Mocks;
|
using PackageManagement.Tests.Helpers; |
||||||
//
|
using Rhino.Mocks; |
||||||
//namespace PackageManagement.Tests.EnvDTE
|
|
||||||
//{
|
namespace PackageManagement.Tests.EnvDTE |
||||||
// [TestFixture]
|
{ |
||||||
// public class FileCodeModel2Tests
|
[TestFixture] |
||||||
// {
|
public class FileCodeModel2Tests : CodeModelTestBase |
||||||
// FileCodeModel2 fileCodeModel;
|
{ |
||||||
// TestableDTEProject project;
|
FileCodeModel2 fileCodeModel; |
||||||
// TestableProject msbuildProject;
|
|
||||||
// FakeFileService fakeFileService;
|
void CreateProjectWithOneFile(string code) |
||||||
// FileProjectItem fileProjectItem;
|
{ |
||||||
// CompilationUnitHelper compilationUnitHelper;
|
CreateProjectWithOneFile(code, @"d:\project\MyProject\MyFile.cs"); |
||||||
// IDocumentNamespaceCreator namespaceCreator;
|
} |
||||||
//
|
|
||||||
// void CreateProjectWithOneFile()
|
void CreateProjectWithOneFile(string code, string fileName) |
||||||
// {
|
{ |
||||||
// CreateProjectWithOneFile(@"d:\project\MyProject\MyFile.cs");
|
codeModelContext = codeModelContext.WithFilteredFileName(fileName); |
||||||
// }
|
CreateCodeModel(); |
||||||
//
|
AddCodeFile(fileName, code); |
||||||
// void CreateProjectWithOneFile(string fileName)
|
} |
||||||
// {
|
|
||||||
// project = new TestableDTEProject();
|
void CreateFileCodeModel() |
||||||
// msbuildProject = project.TestableProject;
|
{ |
||||||
// fakeFileService = project.FakeFileService;
|
fileCodeModel = new FileCodeModel2(codeModelContext, dteProject); |
||||||
//
|
} |
||||||
// fileProjectItem = new FileProjectItem(msbuildProject, ItemType.Compile) {
|
|
||||||
// FileName = fileName
|
CodeImport GetFirstCodeImportFromCodeElements() |
||||||
// };
|
{ |
||||||
// }
|
return fileCodeModel.CodeElements.FirstCodeImportOrDefault(); |
||||||
//
|
} |
||||||
// void CreateCompilationUnitForFileProjectItem()
|
|
||||||
// {
|
global::EnvDTE.CodeNamespace GetFirstCodeNamespaceFromCodeElements() |
||||||
// compilationUnitHelper = new CompilationUnitHelper();
|
{ |
||||||
// fakeFileService.CompilationUnitToReturnFromGetCompilationUnit = compilationUnitHelper.CompilationUnit;
|
return fileCodeModel |
||||||
// }
|
.CodeElements |
||||||
//
|
.OfType<global::EnvDTE.CodeNamespace>() |
||||||
// void CreateFileCodeModel()
|
.FirstOrDefault(); |
||||||
// {
|
} |
||||||
// namespaceCreator = MockRepository.GenerateStub<IDocumentNamespaceCreator>();
|
|
||||||
// fileCodeModel = new FileCodeModel2(project, fileProjectItem, namespaceCreator);
|
global::EnvDTE.CodeNamespace GetLastCodeNamespaceFromCodeElements() |
||||||
// }
|
{ |
||||||
//
|
return fileCodeModel |
||||||
// CodeImport GetFirstCodeImportFromCodeElements()
|
.CodeElements |
||||||
// {
|
.OfType<global::EnvDTE.CodeNamespace>() |
||||||
// return fileCodeModel.CodeElements.FirstCodeImportOrDefault();
|
.LastOrDefault(); |
||||||
// }
|
} |
||||||
//
|
|
||||||
// CodeNamespace GetFirstCodeNamespaceFromCodeElements()
|
[Test] |
||||||
// {
|
public void CodeElements_OneNamespaceInFile_ReturnsOneCodeImport() |
||||||
// return fileCodeModel.CodeElements.FirstCodeNamespaceOrDefault();
|
{ |
||||||
// }
|
string code = "using System.Security;"; |
||||||
//
|
CreateProjectWithOneFile(code); |
||||||
// void AddNamespaceToCompilationUnit(string namespaceName)
|
CreateFileCodeModel(); |
||||||
// {
|
|
||||||
// compilationUnitHelper.AddNamespace(namespaceName);
|
CodeImport import = GetFirstCodeImportFromCodeElements(); |
||||||
// }
|
|
||||||
//
|
Assert.AreEqual("System.Security", import.Namespace); |
||||||
// void AddNamespaceAliasToCompilationUnit(string alias, string namespaceName)
|
Assert.AreEqual(global::EnvDTE.vsCMElement.vsCMElementImportStmt, import.Kind); |
||||||
// {
|
} |
||||||
// compilationUnitHelper.AddNamespaceAlias(alias, namespaceName);
|
|
||||||
// }
|
[Test] |
||||||
//
|
public void CodeElements_UnknownNamespaceInFile_ReturnsOneCodeImport() |
||||||
// void AddClassToCompilationUnit(string namespaceName, string className)
|
{ |
||||||
// {
|
string code = "using Tests.CodeModel;"; |
||||||
// var classHelper = new ClassHelper();
|
CreateProjectWithOneFile(code); |
||||||
// classHelper.CreatePublicClass(className);
|
CreateFileCodeModel(); |
||||||
// classHelper.AddNamespaceUsingScopeToClass(namespaceName);
|
|
||||||
// classHelper.AddClassNamespace(namespaceName);
|
CodeImport import = GetFirstCodeImportFromCodeElements(); |
||||||
// compilationUnitHelper.AddClass(classHelper.Class);
|
|
||||||
// }
|
Assert.AreEqual("Tests.CodeModel", import.Namespace); |
||||||
//
|
} |
||||||
// CodeNamespace GetLastCodeNamespaceFromCodeElements()
|
|
||||||
// {
|
[Test] |
||||||
// return fileCodeModel.CodeElements.LastCodeNamespaceOrDefault();
|
public void CodeElements_OneNamespaceAliasInFile_ReturnsOneCodeImport() |
||||||
// }
|
{ |
||||||
//
|
string code = "using TCM = Tests.CodeModel;"; |
||||||
// [Test]
|
CreateProjectWithOneFile(code); |
||||||
// public void CodeElements_OneNamespaceInFile_FileNameUsedToGetCompilationUnit()
|
CreateFileCodeModel(); |
||||||
// {
|
|
||||||
// CreateProjectWithOneFile(@"d:\projects\MyProject\MyFile.cs");
|
CodeImport import = GetFirstCodeImportFromCodeElements(); |
||||||
// CreateCompilationUnitForFileProjectItem();
|
|
||||||
// CreateFileCodeModel();
|
Assert.AreEqual("Tests.CodeModel", import.Namespace); |
||||||
// AddNamespaceToCompilationUnit("Test.CodeModel");
|
} |
||||||
//
|
|
||||||
// CodeImport import = GetFirstCodeImportFromCodeElements();
|
[Test] |
||||||
//
|
[Ignore("TODO - Not implemented")] |
||||||
// Assert.AreEqual(@"d:\projects\MyProject\MyFile.cs", fakeFileService.FileNamePassedToGetCompilationUnit);
|
public void AddImport_AddSystemXmlNamespace_NamespaceAndcompilationUnitPassedToNamespaceCreator() |
||||||
// }
|
{ |
||||||
//
|
CreateProjectWithOneFile(""); |
||||||
// [Test]
|
CreateFileCodeModel(); |
||||||
// public void CodeElements_OneNamespaceInFile_ReturnsOneCodeImport()
|
|
||||||
// {
|
fileCodeModel.AddImport("System.Xml"); |
||||||
// CreateProjectWithOneFile();
|
|
||||||
// CreateCompilationUnitForFileProjectItem();
|
|
||||||
// CreateFileCodeModel();
|
|
||||||
// AddNamespaceToCompilationUnit("Test.CodeModel");
|
|
||||||
//
|
|
||||||
// CodeImport import = GetFirstCodeImportFromCodeElements();
|
|
||||||
//
|
|
||||||
// Assert.AreEqual("Test.CodeModel", import.Namespace);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// [Test]
|
|
||||||
// public void CodeElements_OneNamespaceAliasInFile_ReturnsOneCodeImport()
|
|
||||||
// {
|
|
||||||
// CreateProjectWithOneFile();
|
|
||||||
// CreateCompilationUnitForFileProjectItem();
|
|
||||||
// CreateFileCodeModel();
|
|
||||||
// AddNamespaceAliasToCompilationUnit("TCM", "Test.CodeModel");
|
|
||||||
//
|
|
||||||
// CodeImport import = GetFirstCodeImportFromCodeElements();
|
|
||||||
//
|
|
||||||
// Assert.AreEqual("Test.CodeModel", import.Namespace);
|
|
||||||
// }
|
|
||||||
//
|
|
||||||
// [Test]
|
|
||||||
// public void AddImport_AddSystemXmlNamespace_NamespaceAndcompilationUnitPassedToNamespaceCreator()
|
|
||||||
// {
|
|
||||||
// CreateProjectWithOneFile();
|
|
||||||
// CreateCompilationUnitForFileProjectItem();
|
|
||||||
// CreateFileCodeModel();
|
|
||||||
//
|
|
||||||
// fileCodeModel.AddImport("System.Xml");
|
|
||||||
//
|
|
||||||
// namespaceCreator.AssertWasCalled(creator => creator.AddNamespace(compilationUnitHelper.CompilationUnit, "System.Xml"));
|
// namespaceCreator.AssertWasCalled(creator => creator.AddNamespace(compilationUnitHelper.CompilationUnit, "System.Xml"));
|
||||||
// }
|
} |
||||||
//
|
|
||||||
// [Test]
|
[Test] |
||||||
// public void CodeElements_OneClassInFileWithNamespace_ReturnsOneCodeNamespace()
|
public void CodeElements_OneClassInFileWithNamespace_ReturnsOneClassInsideCodeNamespace() |
||||||
// {
|
{ |
||||||
// CreateProjectWithOneFile();
|
string code = |
||||||
// CreateCompilationUnitForFileProjectItem();
|
"namespace Test.CodeModel {\r\n" + |
||||||
// AddClassToCompilationUnit("Test.CodeModel", "Test.CodeModel.Class1");
|
" public class Class1 {}\r\n" + |
||||||
// CreateFileCodeModel();
|
"}"; |
||||||
//
|
CreateProjectWithOneFile(code); |
||||||
// CodeNamespace ns = GetFirstCodeNamespaceFromCodeElements();
|
CreateFileCodeModel(); |
||||||
//
|
|
||||||
// Assert.AreEqual("Test.CodeModel", ns.Name);
|
global::EnvDTE.CodeNamespace ns = GetFirstCodeNamespaceFromCodeElements(); |
||||||
// }
|
CodeClass2 codeClass = ns.Members.FirstCodeClass2OrDefault(); |
||||||
//
|
|
||||||
// [Test]
|
Assert.AreEqual("Test.CodeModel.Class1", codeClass.FullName); |
||||||
// public void CodeElements_OneClassInFileWithNamespace_ReturnsOneClassInsideCodeNamespace()
|
} |
||||||
// {
|
|
||||||
// CreateProjectWithOneFile();
|
[Test] |
||||||
// CreateCompilationUnitForFileProjectItem();
|
public void CodeElements_TwoClassesInFileWithNamespace_ReturnsTwoClassesInsideCodeNamespace() |
||||||
// AddClassToCompilationUnit("Test.CodeModel", "Test.CodeModel.Class1");
|
{ |
||||||
// CreateFileCodeModel();
|
string code = |
||||||
//
|
"namespace Test.CodeModel {\r\n" + |
||||||
// CodeNamespace ns = GetFirstCodeNamespaceFromCodeElements();
|
" public class Class1 {}\r\n" + |
||||||
// CodeClass2 codeClass = ns.Members.FirstCodeClass2OrDefault();
|
" public class Class2 {}\r\n" + |
||||||
//
|
"}"; |
||||||
// Assert.AreEqual("Test.CodeModel.Class1", codeClass.FullName);
|
CreateProjectWithOneFile(code); |
||||||
// }
|
CreateFileCodeModel(); |
||||||
//
|
|
||||||
// [Test]
|
global::EnvDTE.CodeNamespace ns = GetFirstCodeNamespaceFromCodeElements(); |
||||||
// public void CodeElements_TwoClassesInFileWithNamespace_ReturnsTwoClassesInsideCodeNamespace()
|
CodeClass2 codeClass1 = ns.Members.FirstCodeClass2OrDefault(); |
||||||
// {
|
CodeClass2 codeClass2 = ns.Members.LastCodeClass2OrDefault(); |
||||||
// CreateProjectWithOneFile();
|
|
||||||
// CreateCompilationUnitForFileProjectItem();
|
Assert.AreEqual("Test.CodeModel.Class1", codeClass1.FullName); |
||||||
// AddClassToCompilationUnit("Test.CodeModel", "Test.CodeModel.Class1");
|
Assert.AreEqual("Test.CodeModel.Class2", codeClass2.FullName); |
||||||
// AddClassToCompilationUnit("Test.CodeModel", "Test.CodeModel.Class2");
|
} |
||||||
// CreateFileCodeModel();
|
|
||||||
//
|
[Test] |
||||||
// CodeNamespace ns = GetFirstCodeNamespaceFromCodeElements();
|
public void CodeElements_TwoClassesInFileEachWithDifferentNamespace_ReturnsTwoCodeNamespaces() |
||||||
// CodeClass2 codeClass1 = ns.Members.FirstCodeClass2OrDefault();
|
{ |
||||||
// CodeClass2 codeClass2 = ns.Members.LastCodeClass2OrDefault();
|
string code = |
||||||
//
|
"namespace Test.CodeModel1 {\r\n" + |
||||||
// Assert.AreEqual("Test.CodeModel.Class1", codeClass1.FullName);
|
" public class Class1 {}\r\n" + |
||||||
// Assert.AreEqual("Test.CodeModel.Class2", codeClass2.FullName);
|
"}\r\n" + |
||||||
// }
|
"namespace Test.CodeModel2 {\r\n" + |
||||||
//
|
" public class Class2 {}\r\n" + |
||||||
// [Test]
|
"}"; |
||||||
// public void CodeElements_TwoClassesInFileEachWithDifferentNamespace_ReturnsTwoCodeNamespaces()
|
CreateProjectWithOneFile(code); |
||||||
// {
|
CreateFileCodeModel(); |
||||||
// CreateProjectWithOneFile();
|
|
||||||
// CreateCompilationUnitForFileProjectItem();
|
global::EnvDTE.CodeNamespace ns1 = GetFirstCodeNamespaceFromCodeElements(); |
||||||
// AddClassToCompilationUnit("Test.CodeModel1", "Test.CodeModel.Class1");
|
global::EnvDTE.CodeNamespace ns2 = GetLastCodeNamespaceFromCodeElements(); |
||||||
// AddClassToCompilationUnit("Test.CodeModel2", "Test.CodeModel.Class2");
|
|
||||||
// CreateFileCodeModel();
|
Assert.AreEqual("Test.CodeModel1", ns1.Name); |
||||||
//
|
Assert.AreEqual("Test.CodeModel2", ns2.Name); |
||||||
// CodeNamespace ns1 = GetFirstCodeNamespaceFromCodeElements();
|
} |
||||||
// CodeNamespace ns2 = GetLastCodeNamespaceFromCodeElements();
|
} |
||||||
//
|
} |
||||||
// Assert.AreEqual("Test.CodeModel1", ns1.Name);
|
|
||||||
// Assert.AreEqual("Test.CodeModel2", ns2.Name);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
//}
|
|
||||||
|
|||||||
Loading…
Reference in new issue