Browse Source

Add ProjectName parameter to Get-Package cmdlet.

4.1
Matt Ward 14 years ago
parent
commit
f19b6eddf5
  1. 27
      src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/GetPackageCmdlet.cs
  2. 138
      src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetPackageCmdletTests.cs

27
src/AddIns/Misc/PackageManagement/Cmdlets/Project/Src/GetPackageCmdlet.cs

@ -47,6 +47,9 @@ namespace ICSharpCode.PackageManagement.Cmdlets
[Parameter(Position = 0)] [Parameter(Position = 0)]
public string Filter { get; set; } public string Filter { get; set; }
[Parameter(Position = 1, ParameterSetName = "Project")]
public string ProjectName { get; set; }
[Parameter(ParameterSetName = "Available")] [Parameter(ParameterSetName = "Available")]
[Parameter(ParameterSetName = "Updated")] [Parameter(ParameterSetName = "Updated")]
public string Source { get; set; } public string Source { get; set; }
@ -148,12 +151,26 @@ namespace ICSharpCode.PackageManagement.Cmdlets
IQueryable<IPackage> GetUpdatedPackages() IQueryable<IPackage> GetUpdatedPackages()
{ {
IPackageRepository aggregateRepository = registeredPackageRepositories.CreateAggregateRepository(); IPackageRepository aggregateRepository = registeredPackageRepositories.CreateAggregateRepository();
IPackageManagementProject project = ConsoleHost.GetProject(aggregateRepository, DefaultProject.Name); IPackageManagementProject project = GetSelectedProject(aggregateRepository);
var updatedPackages = new UpdatedPackages(project, aggregateRepository); var updatedPackages = new UpdatedPackages(project, aggregateRepository);
updatedPackages.SearchTerms = Filter; updatedPackages.SearchTerms = Filter;
return updatedPackages.GetUpdatedPackages().AsQueryable(); return updatedPackages.GetUpdatedPackages().AsQueryable();
} }
IPackageManagementProject GetSelectedProject(IPackageRepository repository)
{
string projectName = GetSelectedProjectName();
return ConsoleHost.GetProject(repository, projectName);
}
string GetSelectedProjectName()
{
if (ProjectName != null) {
return ProjectName;
}
return DefaultProject.Name;
}
IQueryable<IPackage> GetRecentPackages() IQueryable<IPackage> GetRecentPackages()
{ {
IQueryable<IPackage> packages = registeredPackageRepositories.RecentPackageRepository.GetPackages(); IQueryable<IPackage> packages = registeredPackageRepositories.RecentPackageRepository.GetPackages();
@ -162,11 +179,17 @@ namespace ICSharpCode.PackageManagement.Cmdlets
IQueryable<IPackage> GetInstalledPackages() IQueryable<IPackage> GetInstalledPackages()
{ {
IPackageManagementProject project = ConsoleHost.GetProject(Source, DefaultProject.Name); IPackageManagementProject project = GetSelectedProject();
IQueryable<IPackage> packages = project.GetPackages(); IQueryable<IPackage> packages = project.GetPackages();
return FilterPackages(packages); return FilterPackages(packages);
} }
IPackageManagementProject GetSelectedProject()
{
string projectName = GetSelectedProjectName();
return ConsoleHost.GetProject(Source, projectName);
}
void WritePackagesToOutputPipeline(IQueryable<IPackage> packages) void WritePackagesToOutputPipeline(IQueryable<IPackage> packages)
{ {
foreach (IPackage package in packages) { foreach (IPackage package in packages) {

138
src/AddIns/Misc/PackageManagement/Cmdlets/Test/Src/GetPackageCmdletTests.cs

@ -2,6 +2,7 @@
// 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.Management.Automation; using System.Management.Automation;
using ICSharpCode.PackageManagement.Design; using ICSharpCode.PackageManagement.Design;
using NuGet; using NuGet;
@ -55,7 +56,7 @@ namespace PackageManagement.Cmdlets.Tests
FakePackage AddPackageToProjectManagerLocalRepository(string id, string version) FakePackage AddPackageToProjectManagerLocalRepository(string id, string version)
{ {
var package = FakePackage.CreatePackageWithVersion(id, version); FakePackage package = FakePackage.CreatePackageWithVersion(id, version);
fakeSolution.AddPackageToActiveProjectLocalRepository(package); fakeSolution.AddPackageToActiveProjectLocalRepository(package);
return package; return package;
} }
@ -99,14 +100,14 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasOnePackage_OutputIsPackagesFromPackageSourceRepository() public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasOnePackage_OutputIsPackagesFromPackageSourceRepository()
{ {
CreateCmdlet(); CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository; FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("Test"); repository.AddFakePackage("Test");
EnableListAvailableParameter(); EnableListAvailableParameter();
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = repository.FakePackages; List<FakePackage> expectedPackages = repository.FakePackages;
CollectionAssert.AreEqual(expectedPackages, actualPackages); CollectionAssert.AreEqual(expectedPackages, actualPackages);
} }
@ -116,14 +117,14 @@ namespace PackageManagement.Cmdlets.Tests
{ {
CreateCmdlet(); CreateCmdlet();
fakeConsoleHost.DefaultProject = null; fakeConsoleHost.DefaultProject = null;
var repository = fakeRegisteredPackageRepositories.FakePackageRepository; FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("Test"); repository.AddFakePackage("Test");
EnableListAvailableParameter(); EnableListAvailableParameter();
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = repository.FakePackages; List<FakePackage> expectedPackages = repository.FakePackages;
CollectionAssert.AreEqual(expectedPackages, actualPackages); CollectionAssert.AreEqual(expectedPackages, actualPackages);
} }
@ -132,7 +133,7 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasThreePackages_OutputIsPackagesFromPackageSourceRepository() public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasThreePackages_OutputIsPackagesFromPackageSourceRepository()
{ {
CreateCmdlet(); CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository; FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("A"); repository.AddFakePackage("A");
repository.AddFakePackage("B"); repository.AddFakePackage("B");
repository.AddFakePackage("C"); repository.AddFakePackage("C");
@ -140,8 +141,8 @@ namespace PackageManagement.Cmdlets.Tests
EnableListAvailableParameter(); EnableListAvailableParameter();
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = repository.FakePackages; List<FakePackage> expectedPackages = repository.FakePackages;
CollectionAssert.AreEqual(expectedPackages, actualPackages); CollectionAssert.AreEqual(expectedPackages, actualPackages);
} }
@ -150,14 +151,14 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasTwoPackages_PackagesAreSortedById() public void ProcessRecord_ListAvailablePackagesWhenDefaultPackageSourceHasTwoPackages_PackagesAreSortedById()
{ {
CreateCmdlet(); CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository; FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
var packageB = repository.AddFakePackage("B"); FakePackage packageB = repository.AddFakePackage("B");
var packageA = repository.AddFakePackage("A"); FakePackage packageA = repository.AddFakePackage("A");
EnableListAvailableParameter(); EnableListAvailableParameter();
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
packageA, packageA,
packageB packageB
@ -170,13 +171,13 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesWhenNoPackageSourceSpecified_PackageSourceTakenFromConsoleHost() public void ProcessRecord_ListAvailablePackagesWhenNoPackageSourceSpecified_PackageSourceTakenFromConsoleHost()
{ {
CreateCmdlet(); CreateCmdlet();
var source = AddPackageSourceToConsoleHost(); PackageSource source = AddPackageSourceToConsoleHost();
fakeConsoleHost.PackageSourceToReturnFromGetActivePackageSource = source; fakeConsoleHost.PackageSourceToReturnFromGetActivePackageSource = source;
EnableListAvailableParameter(); EnableListAvailableParameter();
RunCmdlet(); RunCmdlet();
var actualSource = fakeRegisteredPackageRepositories.PackageSourcePassedToCreateRepository; PackageSource actualSource = fakeRegisteredPackageRepositories.PackageSourcePassedToCreateRepository;
Assert.AreEqual(source, actualSource); Assert.AreEqual(source, actualSource);
} }
@ -190,8 +191,8 @@ namespace PackageManagement.Cmdlets.Tests
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = fakeConsoleHost.FakeProject.FakePackages; List<FakePackage> expectedPackages = fakeConsoleHost.FakeProject.FakePackages;
Assert.AreEqual(expectedPackages, actualPackages); Assert.AreEqual(expectedPackages, actualPackages);
} }
@ -203,7 +204,7 @@ namespace PackageManagement.Cmdlets.Tests
RunCmdlet(); RunCmdlet();
var actualSource = fakeConsoleHost.PackageSourcePassedToGetProject; string actualSource = fakeConsoleHost.PackageSourcePassedToGetProject;
Assert.IsNull(actualSource); Assert.IsNull(actualSource);
} }
@ -212,12 +213,12 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_NoParametersPassed_DefaultProjectInConsoleHostUsedToCreateProject() public void ProcessRecord_NoParametersPassed_DefaultProjectInConsoleHostUsedToCreateProject()
{ {
CreateCmdlet(); CreateCmdlet();
var project = AddDefaultProjectToConsoleHost(); TestableProject project = AddDefaultProjectToConsoleHost();
project.Name = "MyProject"; project.Name = "MyProject";
RunCmdlet(); RunCmdlet();
var actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject; string actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("MyProject", actualProjectName); Assert.AreEqual("MyProject", actualProjectName);
} }
@ -227,12 +228,12 @@ namespace PackageManagement.Cmdlets.Tests
{ {
CreateCmdlet(); CreateCmdlet();
AddPackageToProjectManagerLocalRepository("1.0.0.0"); AddPackageToProjectManagerLocalRepository("1.0.0.0");
var updatedPackage = AddPackageToAggregateRepository("1.1.0.0"); FakePackage updatedPackage = AddPackageToAggregateRepository("1.1.0.0");
EnableUpdatesParameter(); EnableUpdatesParameter();
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
updatedPackage updatedPackage
}; };
@ -244,12 +245,12 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_UpdatedPackagesRequested_ActiveProjectNameUsedWhenCreatingProject() public void ProcessRecord_UpdatedPackagesRequested_ActiveProjectNameUsedWhenCreatingProject()
{ {
CreateCmdlet(); CreateCmdlet();
var project = AddDefaultProjectToConsoleHost(); TestableProject project = AddDefaultProjectToConsoleHost();
project.Name = "Test"; project.Name = "Test";
EnableUpdatesParameter(); EnableUpdatesParameter();
RunCmdlet(); RunCmdlet();
var actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject; string actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("Test", actualProjectName); Assert.AreEqual("Test", actualProjectName);
} }
@ -261,8 +262,8 @@ namespace PackageManagement.Cmdlets.Tests
EnableUpdatesParameter(); EnableUpdatesParameter();
RunCmdlet(); RunCmdlet();
var actualRepository = fakeConsoleHost.PackageRepositoryPassedToGetProject; IPackageRepository actualRepository = fakeConsoleHost.PackageRepositoryPassedToGetProject;
var expectedRepository = fakeRegisteredPackageRepositories.FakeAggregateRepository; FakePackageRepository expectedRepository = fakeRegisteredPackageRepositories.FakeAggregateRepository;
Assert.AreEqual(expectedRepository, actualRepository); Assert.AreEqual(expectedRepository, actualRepository);
} }
@ -271,16 +272,16 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailablePackagesAndFilterResults_PackagesReturnedMatchFilter() public void ProcessRecord_ListAvailablePackagesAndFilterResults_PackagesReturnedMatchFilter()
{ {
CreateCmdlet(); CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository; FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("A"); repository.AddFakePackage("A");
var package = repository.AddFakePackage("B"); FakePackage package = repository.AddFakePackage("B");
repository.AddFakePackage("C"); repository.AddFakePackage("C");
EnableListAvailableParameter(); EnableListAvailableParameter();
SetFilterParameter("B"); SetFilterParameter("B");
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
package package
}; };
@ -295,12 +296,12 @@ namespace PackageManagement.Cmdlets.Tests
AddPackageSourceToConsoleHost(); AddPackageSourceToConsoleHost();
fakeSolution.AddPackageToActiveProjectLocalRepository("A"); fakeSolution.AddPackageToActiveProjectLocalRepository("A");
var package = fakeSolution.AddPackageToActiveProjectLocalRepository("B"); FakePackage package = fakeSolution.AddPackageToActiveProjectLocalRepository("B");
SetFilterParameter("B"); SetFilterParameter("B");
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
package package
}; };
@ -315,13 +316,13 @@ namespace PackageManagement.Cmdlets.Tests
AddPackageToProjectManagerLocalRepository("A", "1.0.0.0"); AddPackageToProjectManagerLocalRepository("A", "1.0.0.0");
AddPackageToAggregateRepository("A", "1.1.0.0"); AddPackageToAggregateRepository("A", "1.1.0.0");
AddPackageToProjectManagerLocalRepository("B", "2.0.0.0"); AddPackageToProjectManagerLocalRepository("B", "2.0.0.0");
var updatedPackage = AddPackageToAggregateRepository("B", "2.1.0.0"); FakePackage updatedPackage = AddPackageToAggregateRepository("B", "2.1.0.0");
EnableUpdatesParameter(); EnableUpdatesParameter();
SetFilterParameter("B"); SetFilterParameter("B");
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
updatedPackage updatedPackage
}; };
@ -335,13 +336,13 @@ namespace PackageManagement.Cmdlets.Tests
CreateCmdlet(); CreateCmdlet();
var expectedPackageSource = new PackageSource("http://sharpdevelop.com/packages"); var expectedPackageSource = new PackageSource("http://sharpdevelop.com/packages");
fakeConsoleHost.PackageSourceToReturnFromGetActivePackageSource = expectedPackageSource; fakeConsoleHost.PackageSourceToReturnFromGetActivePackageSource = expectedPackageSource;
var repository = fakeRegisteredPackageRepositories.FakePackageRepository; FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
SetSourceParameter("http://sharpdevelop.com/packages"); SetSourceParameter("http://sharpdevelop.com/packages");
EnableListAvailableParameter(); EnableListAvailableParameter();
RunCmdlet(); RunCmdlet();
var actualPackageSource = fakeRegisteredPackageRepositories.PackageSourcePassedToCreateRepository; PackageSource actualPackageSource = fakeRegisteredPackageRepositories.PackageSourcePassedToCreateRepository;
Assert.AreEqual(expectedPackageSource, actualPackageSource); Assert.AreEqual(expectedPackageSource, actualPackageSource);
} }
@ -355,8 +356,8 @@ namespace PackageManagement.Cmdlets.Tests
RunCmdlet(); RunCmdlet();
var actualPackageSource = fakeConsoleHost.PackageSourcePassedToGetProject; string actualPackageSource = fakeConsoleHost.PackageSourcePassedToGetProject;
var expectedPackageSource = "http://test"; string expectedPackageSource = "http://test";
Assert.AreEqual(expectedPackageSource, actualPackageSource); Assert.AreEqual(expectedPackageSource, actualPackageSource);
} }
@ -370,7 +371,7 @@ namespace PackageManagement.Cmdlets.Tests
RunCmdlet(); RunCmdlet();
var actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject; string actualProjectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("MyProject", actualProjectName); Assert.AreEqual("MyProject", actualProjectName);
} }
@ -380,14 +381,14 @@ namespace PackageManagement.Cmdlets.Tests
{ {
CreateCmdlet(); CreateCmdlet();
var recentPackageRepository = fakeRegisteredPackageRepositories.FakeRecentPackageRepository; FakePackageRepository recentPackageRepository = fakeRegisteredPackageRepositories.FakeRecentPackageRepository;
recentPackageRepository.AddFakePackage("A"); recentPackageRepository.AddFakePackage("A");
EnableRecentParameter(); EnableRecentParameter();
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = recentPackageRepository.FakePackages; List<FakePackage> expectedPackages = recentPackageRepository.FakePackages;
Assert.AreEqual(expectedPackages, actualPackages); Assert.AreEqual(expectedPackages, actualPackages);
} }
@ -397,15 +398,15 @@ namespace PackageManagement.Cmdlets.Tests
{ {
CreateCmdlet(); CreateCmdlet();
var recentPackageRepository = fakeRegisteredPackageRepositories.FakeRecentPackageRepository; FakePackageRepository recentPackageRepository = fakeRegisteredPackageRepositories.FakeRecentPackageRepository;
recentPackageRepository.AddFakePackage("A"); recentPackageRepository.AddFakePackage("A");
var packageB = recentPackageRepository.AddFakePackage("B"); FakePackage packageB = recentPackageRepository.AddFakePackage("B");
EnableRecentParameter(); EnableRecentParameter();
SetFilterParameter("B"); SetFilterParameter("B");
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
packageB packageB
}; };
@ -418,14 +419,14 @@ namespace PackageManagement.Cmdlets.Tests
{ {
CreateCmdlet(); CreateCmdlet();
AddPackageSourceToConsoleHost(); AddPackageSourceToConsoleHost();
var packageA = fakeSolution.AddPackageToActiveProjectLocalRepository("A"); FakePackage packageA = fakeSolution.AddPackageToActiveProjectLocalRepository("A");
var packageB = fakeSolution.AddPackageToActiveProjectLocalRepository("B"); FakePackage packageB = fakeSolution.AddPackageToActiveProjectLocalRepository("B");
var packageC = fakeSolution.AddPackageToActiveProjectLocalRepository("C"); FakePackage packageC = fakeSolution.AddPackageToActiveProjectLocalRepository("C");
SetFilterParameter("B C"); SetFilterParameter("B C");
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
packageB, packageB,
packageC packageC
@ -457,16 +458,16 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailableAndSkipFirstTwoPackages_ReturnsAllPackagesExceptionFirstTwo() public void ProcessRecord_ListAvailableAndSkipFirstTwoPackages_ReturnsAllPackagesExceptionFirstTwo()
{ {
CreateCmdlet(); CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository; FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
repository.AddFakePackage("A"); repository.AddFakePackage("A");
repository.AddFakePackage("B"); repository.AddFakePackage("B");
var packageC = repository.AddFakePackage("C"); FakePackage packageC = repository.AddFakePackage("C");
EnableListAvailableParameter(); EnableListAvailableParameter();
SetSkipParameter(2); SetSkipParameter(2);
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
packageC packageC
}; };
@ -487,16 +488,16 @@ namespace PackageManagement.Cmdlets.Tests
public void ProcessRecord_ListAvailableAndFirstTwo_ReturnsFirstTwoPackages() public void ProcessRecord_ListAvailableAndFirstTwo_ReturnsFirstTwoPackages()
{ {
CreateCmdlet(); CreateCmdlet();
var repository = fakeRegisteredPackageRepositories.FakePackageRepository; FakePackageRepository repository = fakeRegisteredPackageRepositories.FakePackageRepository;
var packageA = repository.AddFakePackage("A"); FakePackage packageA = repository.AddFakePackage("A");
var packageB = repository.AddFakePackage("B"); FakePackage packageB = repository.AddFakePackage("B");
repository.AddFakePackage("C"); repository.AddFakePackage("C");
EnableListAvailableParameter(); EnableListAvailableParameter();
SetFirstParameter(2); SetFirstParameter(2);
RunCmdlet(); RunCmdlet();
var actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject; List<object> actualPackages = fakeCommandRuntime.ObjectsPassedToWriteObject;
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
packageA, packageA,
packageB packageB
@ -513,5 +514,30 @@ namespace PackageManagement.Cmdlets.Tests
Assert.AreEqual(0, first); Assert.AreEqual(0, first);
} }
[Test]
public void ProcessRecord_GetInstalledPackagesWhenProjectNameSpecified_ProjectNameParameterUsedToGetProject()
{
CreateCmdlet();
cmdlet.ProjectName = "Test";
RunCmdlet();
string projectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("Test", projectName);
}
[Test]
public void ProcessRecord_GetUpdatedPackagesWhenProjectNameSpecified_ProjectNameParameterUsedToGetProject()
{
CreateCmdlet();
cmdlet.ProjectName = "Test";
EnableUpdatesParameter();
RunCmdlet();
string projectName = fakeConsoleHost.ProjectNamePassedToGetProject;
Assert.AreEqual("Test", projectName);
}
} }
} }

Loading…
Cancel
Save