Browse Source

Remove dependency on project service from package management console host.

pull/15/head
Matt Ward 15 years ago
parent
commit
6091f9a250
  1. 4
      src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/GetProjectCmdlet.cs
  2. 8
      src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/OpenProjects.cs
  3. 3
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableGetProjectCmdlet.cs
  4. 52
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetProjectCmdletTests.cs
  5. 7
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementSolution.cs
  6. 1
      src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementSolution.cs
  7. 5
      src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementSolution.cs
  8. 1
      src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementViewModels.cs
  9. 4
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/IPackageManagementConsoleHost.cs
  10. 21
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleHost.cs
  11. 3
      src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleViewModel.cs
  12. 26
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageManagementConsoleHost.cs
  13. 6
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestablePackageManagementConsoleHost.cs
  14. 17
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestablePackageManagementConsoleViewModel.cs
  15. 13
      src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs
  16. 22
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleHostTests.cs
  17. 32
      src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs

4
src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/GetProjectCmdlet.cs

@ -56,7 +56,7 @@ namespace ICSharpCode.PackageManagement.Cmdlets @@ -56,7 +56,7 @@ namespace ICSharpCode.PackageManagement.Cmdlets
IEnumerable<Project> GetAllProjects()
{
var projects = new OpenProjects(ConsoleHost);
var projects = new OpenProjects(ConsoleHost.Solution);
return projects.GetAllProjects();
}
@ -74,7 +74,7 @@ namespace ICSharpCode.PackageManagement.Cmdlets @@ -74,7 +74,7 @@ namespace ICSharpCode.PackageManagement.Cmdlets
IEnumerable<Project> GetFilteredProjects()
{
var projects = new OpenProjects(ConsoleHost);
var projects = new OpenProjects(ConsoleHost.Solution);
return projects.GetFilteredProjects(Name);
}

8
src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/OpenProjects.cs

@ -13,16 +13,16 @@ namespace ICSharpCode.PackageManagement.Cmdlets @@ -13,16 +13,16 @@ namespace ICSharpCode.PackageManagement.Cmdlets
{
public class OpenProjects
{
IPackageManagementConsoleHost consoleHost;
IPackageManagementSolution solution;
public OpenProjects(IPackageManagementConsoleHost consoleHost)
public OpenProjects(IPackageManagementSolution solution)
{
this.consoleHost = consoleHost;
this.solution = solution;
}
public IEnumerable<Project> GetAllProjects()
{
foreach (IProject project in consoleHost.GetOpenProjects()) {
foreach (IProject project in solution.GetMSBuildProjects()) {
yield return CreateProject(project);
}
}

3
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Helpers/TestableGetProjectCmdlet.cs

@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
using System;
using ICSharpCode.PackageManagement.Cmdlets;
using ICSharpCode.PackageManagement.Design;
using PackageManagement.Tests.Helpers;
namespace PackageManagement.Cmdlets.Tests.Helpers
@ -12,6 +13,7 @@ namespace PackageManagement.Cmdlets.Tests.Helpers @@ -12,6 +13,7 @@ namespace PackageManagement.Cmdlets.Tests.Helpers
public FakeCmdletTerminatingError FakeCmdletTerminatingError;
public FakePackageManagementConsoleHost FakePackageManagementConsoleHost;
public FakeCommandRuntime FakeCommandRuntime;
public FakePackageManagementSolution FakeSolution;
public TestableGetProjectCmdlet()
: this(
@ -31,6 +33,7 @@ namespace PackageManagement.Cmdlets.Tests.Helpers @@ -31,6 +33,7 @@ namespace PackageManagement.Cmdlets.Tests.Helpers
this.FakeCommandRuntime = commandRuntime;
this.CommandRuntime = commandRuntime;
this.FakeCmdletTerminatingError = cmdletTerminatingError;
this.FakeSolution = consoleHost.FakeSolution;
}
public void CallProcessRecord()

52
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetProjectCmdletTests.cs

@ -4,7 +4,10 @@ @@ -4,7 +4,10 @@
using System;
using System.Collections.Generic;
using System.Management.Automation;
using ICSharpCode.PackageManagement.Design;
using ICSharpCode.PackageManagement.EnvDTE;
using ICSharpCode.SharpDevelop.Project;
using NUnit.Framework;
using PackageManagement.Cmdlets.Tests.Helpers;
using PackageManagement.Tests.Helpers;
@ -18,6 +21,7 @@ namespace PackageManagement.Cmdlets.Tests @@ -18,6 +21,7 @@ namespace PackageManagement.Cmdlets.Tests
FakeCmdletTerminatingError fakeTerminatingError;
TestableProject defaultProject;
FakeCommandRuntime fakeCommandRuntime;
FakePackageManagementSolution fakeSolution;
void CreateCmdletWithoutActiveProject()
{
@ -31,9 +35,17 @@ namespace PackageManagement.Cmdlets.Tests @@ -31,9 +35,17 @@ namespace PackageManagement.Cmdlets.Tests
fakeTerminatingError = cmdlet.FakeCmdletTerminatingError;
fakeCommandRuntime = cmdlet.FakeCommandRuntime;
fakeConsoleHost = cmdlet.FakePackageManagementConsoleHost;
fakeSolution = cmdlet.FakeSolution;
defaultProject = base.AddDefaultProjectToConsoleHost();
}
TestableProject AddFakeProject(string name)
{
var project = ProjectHelper.CreateTestProject(name);
fakeSolution.FakeMSBuildProjects.Add(project);
return project;
}
void RunCmdlet()
{
cmdlet.CallProcessRecord();
@ -44,10 +56,10 @@ namespace PackageManagement.Cmdlets.Tests @@ -44,10 +56,10 @@ namespace PackageManagement.Cmdlets.Tests
cmdlet.All = new SwitchParameter(true);
}
void ProjectCollectionAssertAreEqual(IEnumerable<TestableProject> expectedProjects, IEnumerable<Project> actualProjects)
void ProjectCollectionAssertAreEqual(IEnumerable<IProject> expectedProjects, IEnumerable<Project> actualProjects)
{
var expectedProjectNames = new List<string>();
foreach (TestableProject testableProject in expectedProjects) {
foreach (IProject testableProject in expectedProjects) {
expectedProjectNames.Add(testableProject.Name);
}
@ -87,12 +99,12 @@ namespace PackageManagement.Cmdlets.Tests @@ -87,12 +99,12 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet();
EnableAllParameter();
fakeConsoleHost.AddFakeProject("A");
fakeConsoleHost.AddFakeProject("B");
AddFakeProject("A");
AddFakeProject("B");
RunCmdlet();
var expectedProjects = fakeConsoleHost.FakeOpenProjects;
var expectedProjects = fakeSolution.FakeMSBuildProjects;
var projects = fakeCommandRuntime.FirstObjectPassedToWriteObject as IEnumerable<Project>;
ProjectCollectionAssertAreEqual(expectedProjects, projects);
@ -104,8 +116,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -104,8 +116,8 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet();
EnableAllParameter();
fakeConsoleHost.AddFakeProject("A");
fakeConsoleHost.AddFakeProject("B");
AddFakeProject("A");
AddFakeProject("B");
RunCmdlet();
@ -120,8 +132,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -120,8 +132,8 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet();
cmdlet.Name = new string[] { "B" };
fakeConsoleHost.AddFakeProject("A");
var projectB = fakeConsoleHost.AddFakeProject("B");
AddFakeProject("A");
var projectB = AddFakeProject("B");
RunCmdlet();
@ -139,8 +151,8 @@ namespace PackageManagement.Cmdlets.Tests @@ -139,8 +151,8 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet();
cmdlet.Name = new string[] { "b" };
fakeConsoleHost.AddFakeProject("A");
var projectB = fakeConsoleHost.AddFakeProject("B");
AddFakeProject("A");
var projectB = AddFakeProject("B");
RunCmdlet();
@ -158,9 +170,9 @@ namespace PackageManagement.Cmdlets.Tests @@ -158,9 +170,9 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet();
cmdlet.Name = new string[] { "B", "C" };
fakeConsoleHost.AddFakeProject("A");
var projectB = fakeConsoleHost.AddFakeProject("B");
var projectC = fakeConsoleHost.AddFakeProject("C");
AddFakeProject("A");
var projectB = AddFakeProject("B");
var projectC = AddFakeProject("C");
RunCmdlet();
@ -179,9 +191,9 @@ namespace PackageManagement.Cmdlets.Tests @@ -179,9 +191,9 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet();
cmdlet.Name = new string[] { "B", "C" };
fakeConsoleHost.AddFakeProject("A");
var projectB = fakeConsoleHost.AddFakeProject("B");
var projectC = fakeConsoleHost.AddFakeProject("C");
AddFakeProject("A");
var projectB = AddFakeProject("B");
var projectC = AddFakeProject("C");
RunCmdlet();
@ -196,9 +208,9 @@ namespace PackageManagement.Cmdlets.Tests @@ -196,9 +208,9 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet();
cmdlet.Name = new string[] { "B*", "C*" };
fakeConsoleHost.AddFakeProject("A");
var projectB = fakeConsoleHost.AddFakeProject("B");
var projectC = fakeConsoleHost.AddFakeProject("C");
AddFakeProject("A");
var projectB = AddFakeProject("B");
var projectC = AddFakeProject("C");
RunCmdlet();

7
src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageManagementSolution.cs

@ -60,5 +60,12 @@ namespace ICSharpCode.PackageManagement.Design @@ -60,5 +60,12 @@ namespace ICSharpCode.PackageManagement.Design
ProjectNamePassedToGetProject = projectName;
return FakeProject;
}
public List<IProject> FakeMSBuildProjects = new List<IProject>();
public IEnumerable<IProject> GetMSBuildProjects()
{
return FakeMSBuildProjects;
}
}
}

1
src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementSolution.cs

@ -14,5 +14,6 @@ namespace ICSharpCode.PackageManagement @@ -14,5 +14,6 @@ namespace ICSharpCode.PackageManagement
IPackageManagementProject GetActiveProject(IPackageRepository sourceRepository);
IPackageManagementProject GetProject(PackageSource source, string projectName);
IPackageManagementProject GetProject(IPackageRepository sourceRepository, string projectName);
IEnumerable<IProject> GetMSBuildProjects();
}
}

5
src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementSolution.cs

@ -102,5 +102,10 @@ namespace ICSharpCode.PackageManagement @@ -102,5 +102,10 @@ namespace ICSharpCode.PackageManagement
MSBuildBasedProject msbuildProject = GetMSBuildProject(projectName);
return CreateProject(sourceRepository, msbuildProject);
}
public IEnumerable<IProject> GetMSBuildProjects()
{
return projectService.GetOpenProjects();
}
}
}

1
src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementViewModels.cs

@ -110,6 +110,7 @@ namespace ICSharpCode.PackageManagement @@ -110,6 +110,7 @@ namespace ICSharpCode.PackageManagement
packageManagementConsoleViewModel =
new PackageManagementConsoleViewModel(
registeredPackageRepositories.PackageSources,
PackageManagementServices.ProjectService,
consoleHost);
}
}

4
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/IPackageManagementConsoleHost.cs

@ -15,9 +15,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -15,9 +15,7 @@ namespace ICSharpCode.PackageManagement.Scripting
IProject DefaultProject { get; set; }
PackageSource ActivePackageSource { get; set; }
IScriptingConsole ScriptingConsole { get; set; }
IPackageManagementProjectService ProjectService { get; }
IEnumerable<IProject> GetOpenProjects();
IPackageManagementSolution Solution { get; }
void Clear();
void Run();

21
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleHost.cs

@ -15,10 +15,8 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -15,10 +15,8 @@ namespace ICSharpCode.PackageManagement.Scripting
public class PackageManagementConsoleHost : IPackageManagementConsoleHost
{
IThread thread;
IPackageManagementSolution solution;
IRegisteredPackageRepositories registeredRepositories;
IPowerShellHostFactory powerShellHostFactory;
IPackageManagementProjectService projectService;
IPowerShellHost powerShellHost;
IPackageManagementAddInPath addinPath;
int autoIndentSize = 0;
@ -28,13 +26,11 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -28,13 +26,11 @@ namespace ICSharpCode.PackageManagement.Scripting
IPackageManagementSolution solution,
IRegisteredPackageRepositories registeredRepositories,
IPowerShellHostFactory powerShellHostFactory,
IPackageManagementProjectService projectService,
IPackageManagementAddInPath addinPath)
{
this.solution = solution;
this.Solution = solution;
this.registeredRepositories = registeredRepositories;
this.powerShellHostFactory = powerShellHostFactory;
this.projectService = projectService;
this.addinPath = addinPath;
}
@ -45,7 +41,6 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -45,7 +41,6 @@ namespace ICSharpCode.PackageManagement.Scripting
solution,
registeredRepositories,
new PowerShellHostFactory(),
new PackageManagementProjectService(),
new PackageManagementAddInPath())
{
}
@ -58,10 +53,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -58,10 +53,7 @@ namespace ICSharpCode.PackageManagement.Scripting
}
public IScriptingConsole ScriptingConsole { get; set; }
public IPackageManagementProjectService ProjectService {
get { return projectService; }
}
public IPackageManagementSolution Solution { get; private set; }
public void Dispose()
{
@ -185,7 +177,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -185,7 +177,7 @@ namespace ICSharpCode.PackageManagement.Scripting
PackageSource source = GetActivePackageSource(packageSource);
projectName = GetActiveProjectName(projectName);
return solution.GetProject(source, projectName);
return Solution.GetProject(source, projectName);
}
public PackageSource GetActivePackageSource(string source)
@ -207,12 +199,7 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -207,12 +199,7 @@ namespace ICSharpCode.PackageManagement.Scripting
public IPackageManagementProject GetProject(IPackageRepository sourceRepository, string projectName)
{
projectName = GetActiveProjectName(projectName);
return solution.GetProject(sourceRepository, projectName);
}
public IEnumerable<IProject> GetOpenProjects()
{
return projectService.GetOpenProjects();
return Solution.GetProject(sourceRepository, projectName);
}
}
}

3
src/AddIns/Misc/PackageManagement/Project/Src/Scripting/PackageManagementConsoleViewModel.cs

@ -32,10 +32,11 @@ namespace ICSharpCode.PackageManagement.Scripting @@ -32,10 +32,11 @@ namespace ICSharpCode.PackageManagement.Scripting
public PackageManagementConsoleViewModel(
RegisteredPackageSources registeredPackageSources,
IPackageManagementProjectService projectService,
IPackageManagementConsoleHost consoleHost)
{
this.registeredPackageSources = registeredPackageSources;
this.projectService = consoleHost.ProjectService;
this.projectService = projectService;
this.consoleHost = consoleHost;
Init();

26
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageManagementConsoleHost.cs

@ -19,6 +19,12 @@ namespace PackageManagement.Tests.Helpers @@ -19,6 +19,12 @@ namespace PackageManagement.Tests.Helpers
public PackageSource ActivePackageSource { get; set; }
public IScriptingConsole ScriptingConsole { get; set; }
public IPackageManagementSolution Solution {
get { return FakeSolution; }
}
public FakePackageManagementSolution FakeSolution = new FakePackageManagementSolution();
public bool IsDisposeCalled;
public bool IsClearCalled;
public bool IsRunCalled;
@ -53,11 +59,7 @@ namespace PackageManagement.Tests.Helpers @@ -53,11 +59,7 @@ namespace PackageManagement.Tests.Helpers
}
public FakePackageManagementProjectService FakeProjectService = new FakePackageManagementProjectService();
public IPackageManagementProjectService ProjectService {
get { return FakeProjectService; }
}
public string PackageSourcePassedToGetProject;
public string ProjectNamePassedToGetProject;
public FakePackageManagementProject FakeProject = new FakePackageManagementProject();
@ -86,19 +88,5 @@ namespace PackageManagement.Tests.Helpers @@ -86,19 +88,5 @@ namespace PackageManagement.Tests.Helpers
PackageSourcePassedToGetActivePackageSource = source;
return PackageSourceToReturnFromGetActivePackageSource;
}
public List<TestableProject> FakeOpenProjects = new List<TestableProject>();
public TestableProject AddFakeProject(string name)
{
var project = ProjectHelper.CreateTestProject(name);
FakeOpenProjects.Add(project);
return project;
}
public IEnumerable<IProject> GetOpenProjects()
{
return FakeOpenProjects;
}
}
}

6
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestablePackageManagementConsoleHost.cs

@ -16,7 +16,6 @@ namespace PackageManagement.Tests.Helpers @@ -16,7 +16,6 @@ namespace PackageManagement.Tests.Helpers
public ThreadStart ThreadStartPassedToCreateThread;
public FakePowerShellHostFactory FakePowerShellHostFactory;
public FakePackageManagementAddInPath FakePackageManagementAddInPath;
public FakePackageManagementProjectService FakeProjectService;
public FakePackageManagementSolution FakeSolution;
public FakeRegisteredPackageRepositories FakeRegisteredPackageRepositories;
@ -26,7 +25,6 @@ namespace PackageManagement.Tests.Helpers @@ -26,7 +25,6 @@ namespace PackageManagement.Tests.Helpers
new FakeRegisteredPackageRepositories(),
new FakeScriptingConsoleWithLinesToRead(),
new FakePowerShellHostFactory(),
new FakePackageManagementProjectService(),
new FakePackageManagementAddInPath())
{
}
@ -36,15 +34,13 @@ namespace PackageManagement.Tests.Helpers @@ -36,15 +34,13 @@ namespace PackageManagement.Tests.Helpers
FakeRegisteredPackageRepositories registeredPackageRepositories,
FakeScriptingConsoleWithLinesToRead scriptingConsole,
FakePowerShellHostFactory powerShellHostFactory,
FakePackageManagementProjectService projectService,
FakePackageManagementAddInPath addinPath)
: base(solution, registeredPackageRepositories, powerShellHostFactory, projectService, addinPath)
: base(solution, registeredPackageRepositories, powerShellHostFactory, addinPath)
{
this.FakeSolution = solution;
this.FakeScriptingConsole = scriptingConsole;
this.ScriptingConsole = scriptingConsole;
this.FakePowerShellHostFactory = powerShellHostFactory;
this.FakeProjectService = projectService;
this.FakeRegisteredPackageRepositories = registeredPackageRepositories;
this.FakePackageManagementAddInPath = addinPath;
}

17
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestablePackageManagementConsoleViewModel.cs

@ -4,6 +4,7 @@ @@ -4,6 +4,7 @@
using System;
using System.Collections.Generic;
using ICSharpCode.PackageManagement;
using ICSharpCode.PackageManagement.Design;
using ICSharpCode.PackageManagement.Scripting;
using ICSharpCode.Scripting;
using ICSharpCode.Scripting.Tests.Utils;
@ -17,6 +18,7 @@ namespace PackageManagement.Tests.Helpers @@ -17,6 +18,7 @@ namespace PackageManagement.Tests.Helpers
new PackageManagementConsole(new FakeScriptingConsole(), new FakeControlDispatcher());
public RegisteredPackageSources RegisteredPackageSources;
public FakePackageManagementProjectService FakeProjectService;
public TestablePackageManagementConsoleViewModel(IPackageManagementConsoleHost consoleHost)
: this(new RegisteredPackageSources(new PackageSource[0]), consoleHost)
@ -26,16 +28,25 @@ namespace PackageManagement.Tests.Helpers @@ -26,16 +28,25 @@ namespace PackageManagement.Tests.Helpers
public TestablePackageManagementConsoleViewModel(
IEnumerable<PackageSource> packageSources,
IPackageManagementConsoleHost consoleHost)
: this(new RegisteredPackageSources(packageSources), consoleHost)
: this(new RegisteredPackageSources(packageSources), consoleHost, new FakePackageManagementProjectService())
{
}
public TestablePackageManagementConsoleViewModel(
IPackageManagementConsoleHost consoleHost,
FakePackageManagementProjectService projectService)
: this(new RegisteredPackageSources(new PackageSource[0]), consoleHost, projectService)
{
}
public TestablePackageManagementConsoleViewModel(
RegisteredPackageSources registeredPackageSources,
IPackageManagementConsoleHost consoleHost)
: base(registeredPackageSources, consoleHost)
IPackageManagementConsoleHost consoleHost,
FakePackageManagementProjectService projectService)
: base(registeredPackageSources, projectService, consoleHost)
{
this.RegisteredPackageSources = registeredPackageSources;
this.FakeProjectService = projectService;
}
protected override PackageManagementConsole CreateConsole()

13
src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs

@ -242,5 +242,18 @@ namespace PackageManagement.Tests @@ -242,5 +242,18 @@ namespace PackageManagement.Tests
Assert.AreEqual(expectedRepository, actualRepository);
}
[Test]
public void GetMSBuildProjects_TwoProjectsInOpenSolution_ReturnsTwoProjects()
{
CreateSolution();
AddProjectToOpenProjects("A");
AddProjectToOpenProjects("B");
var projects = solution.GetMSBuildProjects();
var expectedProjects = fakeProjectService.FakeOpenProjects;
CollectionAssert.AreEqual(expectedProjects, projects);
}
}
}

22
src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleHostTests.cs

@ -19,7 +19,6 @@ namespace PackageManagement.Tests.Scripting @@ -19,7 +19,6 @@ namespace PackageManagement.Tests.Scripting
FakeScriptingConsoleWithLinesToRead scriptingConsole;
FakePowerShellHost powerShellHost;
FakePackageManagementSolution fakeSolution;
FakePackageManagementProjectService fakeProjectService;
FakeRegisteredPackageRepositories fakeRegisteredPackageRepositories;
void CreateHost()
@ -28,7 +27,6 @@ namespace PackageManagement.Tests.Scripting @@ -28,7 +27,6 @@ namespace PackageManagement.Tests.Scripting
fakeSolution = host.FakeSolution;
scriptingConsole = host.FakeScriptingConsole;
powerShellHost = host.FakePowerShellHostFactory.FakePowerShellHost;
fakeProjectService = host.FakeProjectService;
fakeRegisteredPackageRepositories = host.FakeRegisteredPackageRepositories;
}
@ -38,13 +36,6 @@ namespace PackageManagement.Tests.Scripting @@ -38,13 +36,6 @@ namespace PackageManagement.Tests.Scripting
host.ThreadStartPassedToCreateThread.Invoke();
}
TestableProject AddProject(string name)
{
var project = ProjectHelper.CreateTestProject(name);
fakeProjectService.AddFakeProject(project);
return project;
}
[Test]
public void Dispose_ScriptingConsoleIsNotNull_ScriptingConsoleIsDisposed()
{
@ -380,19 +371,6 @@ namespace PackageManagement.Tests.Scripting @@ -380,19 +371,6 @@ namespace PackageManagement.Tests.Scripting
Assert.AreEqual("MyProject", projectName);
}
[Test]
public void GetOpenProjects_TwoProjectsInOpenSolution_ReturnsTwoProjects()
{
CreateHost();
fakeProjectService.AddFakeProject(ProjectHelper.CreateTestProject("A"));
fakeProjectService.AddFakeProject(ProjectHelper.CreateTestProject("B"));
var projects = host.GetOpenProjects();
var expectedProjects = fakeProjectService.FakeOpenProjects;
CollectionAssert.AreEqual(expectedProjects, projects);
}
[Test]
public void ActivePackageSource_ConsoleHostCreated_ReturnsRegisteredPackageSourcesActivePackageSource()
{

32
src/AddIns/Misc/PackageManagement/Test/Src/Scripting/PackageManagementConsoleViewModelTests.cs

@ -25,7 +25,6 @@ namespace PackageManagement.Tests.Scripting @@ -25,7 +25,6 @@ namespace PackageManagement.Tests.Scripting
void CreateConsoleHost()
{
consoleHost = new FakePackageManagementConsoleHost();
projectService = consoleHost.FakeProjectService;
}
void CreateViewModel()
@ -37,11 +36,18 @@ namespace PackageManagement.Tests.Scripting @@ -37,11 +36,18 @@ namespace PackageManagement.Tests.Scripting
void CreateViewModel(IPackageManagementConsoleHost consoleHost)
{
viewModel = new TestablePackageManagementConsoleViewModel(consoleHost);
projectService = viewModel.FakeProjectService;
}
void CreateViewModel(IEnumerable<PackageSource> packageSources, IPackageManagementConsoleHost consoleHost)
{
viewModel = new TestablePackageManagementConsoleViewModel(packageSources, consoleHost);
projectService = viewModel.FakeProjectService;
}
void CreateViewModel(IPackageManagementConsoleHost consoleHost, FakePackageManagementProjectService projectService)
{
viewModel = new TestablePackageManagementConsoleViewModel(consoleHost, projectService);
}
void CreateViewModelWithOneRegisteredPackageSource()
@ -80,8 +86,9 @@ namespace PackageManagement.Tests.Scripting @@ -80,8 +86,9 @@ namespace PackageManagement.Tests.Scripting
{
CreateConsoleHost();
Solution solution = CreateSolutionWithOneProject();
projectService = new FakePackageManagementProjectService();
projectService.OpenSolution = solution;
CreateViewModel(consoleHost);
CreateViewModel(consoleHost, projectService);
return solution;
}
@ -126,18 +133,13 @@ namespace PackageManagement.Tests.Scripting @@ -126,18 +133,13 @@ namespace PackageManagement.Tests.Scripting
viewModel.PropertyChanged += (sender, e) => propertiesChanged.Add(e.PropertyName);
}
Solution CreateConsoleHostWithEmptySolutionOpen()
Solution CreateViewModelWithEmptySolutionOpen()
{
CreateConsoleHost();
var solution = new Solution();
projectService = new FakePackageManagementProjectService();
projectService.OpenSolution = solution;
return solution;
}
Solution CreateViewModelWithEmptySolutionOpen()
{
var solution = CreateConsoleHostWithEmptySolutionOpen();
CreateViewModel(consoleHost);
CreateViewModel(consoleHost, projectService);
return solution;
}
@ -293,10 +295,14 @@ namespace PackageManagement.Tests.Scripting @@ -293,10 +295,14 @@ namespace PackageManagement.Tests.Scripting
}
[Test]
public void Constructor_EmptySolutionOpenWhenConsoleCreated_DoesNotThrowException()
public void Constructor_EmptySolutionOpenWhenConsoleViewModelCreated_DoesNotThrowException()
{
CreateConsoleHostWithEmptySolutionOpen();
Assert.DoesNotThrow(() => CreateViewModel(consoleHost));
CreateConsoleHost();
projectService = new FakePackageManagementProjectService();
var solution = new Solution();
projectService.OpenSolution = solution;
Assert.DoesNotThrow(() => CreateViewModel(consoleHost, projectService));
}
[Test]

Loading…
Cancel
Save