Browse Source

Reformat code.

pull/442/head
Matt Ward 12 years ago
parent
commit
dcbfca295d
  1. 17
      src/AddIns/Misc/PackageManagement/Project/Src/AvailablePackagesViewModel.cs
  2. 18
      src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementSolution.cs
  3. 159
      src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs
  4. 20
      src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs
  5. 3
      src/AddIns/Misc/PackageManagement/Project/Src/SelectedProjectsForUpdatedPackages.cs
  6. 16
      src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackageViewModel.cs
  7. 9
      src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackageViewModelFactory.cs
  8. 2
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageManagementEvents.cs
  9. 59
      src/AddIns/Misc/PackageManagement/Test/Src/PackageViewModelTests.cs
  10. 2
      src/AddIns/Misc/PackageManagement/Test/Src/RecentPackagesViewModelTests.cs

17
src/AddIns/Misc/PackageManagement/Project/Src/AvailablePackagesViewModel.cs

@ -77,14 +77,11 @@ namespace ICSharpCode.PackageManagement @@ -77,14 +77,11 @@ namespace ICSharpCode.PackageManagement
if (availablePackagesRepository == null) {
throw new ApplicationException(errorMessage);
}
IQueryable<IPackage> allPackages;
if (IncludePrerelease) {
allPackages = availablePackagesRepository.GetPackages();
}
else {
allPackages = availablePackagesRepository.GetPackages().Where(package => package.IsLatestVersion);
return availablePackagesRepository.GetPackages();
}
return allPackages;
return availablePackagesRepository.GetPackages().Where(package => package.IsLatestVersion);
}
/// <summary>
@ -97,18 +94,14 @@ namespace ICSharpCode.PackageManagement @@ -97,18 +94,14 @@ namespace ICSharpCode.PackageManagement
protected override IEnumerable<IPackage> GetFilteredPackagesBeforePagingResults(IQueryable<IPackage> allPackages)
{
IEnumerable<IPackage> filteredPackages;
if (IncludePrerelease) {
filteredPackages = base.GetFilteredPackagesBeforePagingResults(allPackages)
return base.GetFilteredPackagesBeforePagingResults(allPackages)
.DistinctLast<IPackage>(PackageEqualityComparer.Id);
}
else {
filteredPackages = base.GetFilteredPackagesBeforePagingResults(allPackages)
return base.GetFilteredPackagesBeforePagingResults(allPackages)
.Where(package => package.IsReleaseVersion())
.DistinctLast<IPackage>(PackageEqualityComparer.Id);
}
return filteredPackages;
}
}
}

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

@ -39,21 +39,29 @@ namespace ICSharpCode.PackageManagement @@ -39,21 +39,29 @@ namespace ICSharpCode.PackageManagement
bool HasMultipleProjects();
IEnumerable<IPackage> GetPackagesInReverseDependencyOrder();
string GetInstallPath(IPackage package);
ISolutionPackageRepository CreateSolutionPackageRepository();
/// <summary>Return true if package is installed (solution/project)</summary>
/// <summary>
/// Returns true if package is installed in the solution or a project.
/// </summary>
bool IsPackageInstalled(IPackage package);
/// <summary>Return installed (solution/project) packages</summary>
/// <summary>
/// Returns installed all packages in the packages folder.
/// </summary>
IQueryable<IPackage> GetPackages();
/// <summary>Returns installed project-packages (in any project)</summary>
/// <summary>
/// Returns packages installed in any project.
/// </summary>
IQueryable<IPackage> GetProjectPackages();
/// <summary>Returns installed solution-packages</summary>
/// <summary>
/// Returns installed solution level packages.
/// </summary>
IQueryable<IPackage> GetSolutionPackages();
bool IsOpen { get; }
string FileName { get; }
ISolutionPackageRepository CreateSolutionPackageRepository();
}
}

159
src/AddIns/Misc/PackageManagement/Project/Src/PackageViewModel.cs

@ -38,6 +38,7 @@ namespace ICSharpCode.PackageManagement @@ -38,6 +38,7 @@ namespace ICSharpCode.PackageManagement
PackageViewModelOperationLogger logger;
readonly IPackageActionRunner actionRunner;
IPackageViewModelParent parent;
bool packageIsChanging;
public PackageViewModel(
IPackageViewModelParent parent,
@ -118,8 +119,8 @@ namespace ICSharpCode.PackageManagement @@ -118,8 +119,8 @@ namespace ICSharpCode.PackageManagement
public bool IsAdded {
get {
if (selectedProjects.HasSingleProjectSelected()) {
return selectedProjects.GetSingleProjectSelected(package.Repository).IsPackageInstalled(package)
|| (IsPackageInstalled() && !IsProjectPackage(package));
return selectedProjects.GetSingleProjectSelected(package.Repository).IsPackageInstalled(package) ||
(IsPackageInstalled() && !IsProjectPackage(package));
}
return IsPackageInstalled();
}
@ -198,34 +199,33 @@ namespace ICSharpCode.PackageManagement @@ -198,34 +199,33 @@ namespace ICSharpCode.PackageManagement
get { return package.Published.HasValue; }
}
/// <summary>
/// Make this & IPackageExtensions.IsProjectPackage overridable/testable
/// </summary>
/// <param name="package"></param>
/// <returns></returns>
protected virtual bool IsProjectPackage(IPackage package) {
protected virtual bool IsProjectPackage(IPackage package)
{
return package.IsProjectPackage();
}
bool packageIsChanging = false;
public void PackageChanged() {
if (packageIsChanging) return;
else packageIsChanging = true;
public void PackageChanged()
{
if (packageIsChanging)
return;
packageIsChanging = true;
OnPropertyChanged(model => model.IsManaged);
OnPropertyChanged(model => model.IsAdded);
packageIsChanging = false;
}
public void AddOrManagePackage() {
public void AddOrManagePackage()
{
if (selectedProjects.HasMultipleProjects()) {
if (IsProjectPackage(package)) {
ManagePackage();
}
else {
} else {
AddPackage();
}
}
else {
} else {
AddPackage();
}
}
@ -235,19 +235,18 @@ namespace ICSharpCode.PackageManagement @@ -235,19 +235,18 @@ namespace ICSharpCode.PackageManagement
ClearReportedMessages();
logger.LogAddingPackage();
using (IDisposable operation = StartOperation(package)) {
using (IDisposable operation = StartInstallOperation(package)) {
if (IsProjectPackage(package)) {
TryProjectPackageInstall();
}
else {
TrySolutionPackageInstall();
TryInstallingPackageIntoProject();
} else {
TryInstallingPackageIntoSolution();
}
}
logger.LogAfterPackageOperationCompletes();
}
protected virtual IDisposable StartOperation(IPackageFromRepository package)
protected virtual IDisposable StartInstallOperation(IPackageFromRepository package)
{
return package.StartInstallOperation();
}
@ -257,7 +256,7 @@ namespace ICSharpCode.PackageManagement @@ -257,7 +256,7 @@ namespace ICSharpCode.PackageManagement
packageManagementEvents.OnPackageOperationsStarting();
}
void ProjectPackageGetInstallOperations()
void GetInstallOperationsForProject()
{
IPackageManagementProject project = GetSingleProjectSelected();
project.Logger = logger;
@ -266,12 +265,11 @@ namespace ICSharpCode.PackageManagement @@ -266,12 +265,11 @@ namespace ICSharpCode.PackageManagement
packageOperations = project.GetInstallPackageOperations(package, installAction);
}
void ProjectPackageGetInstallOperations(IEnumerable<IPackageManagementSelectedProject> projects) {
void GetInstallOperationsForSelectedProjects(IEnumerable<IPackageManagementSelectedProject> projects)
{
packageOperations = new PackageOperation[0];
IPackageManagementSelectedProject firstSelectedProject = (
from project in projects
where project.IsSelected
select project).FirstOrDefault();
IPackageManagementSelectedProject firstSelectedProject = projects.FirstOrDefault(project => project.IsSelected);
if (firstSelectedProject != null) {
InstallPackageAction installAction = firstSelectedProject.Project.CreateInstallPackageAction();
@ -307,17 +305,17 @@ namespace ICSharpCode.PackageManagement @@ -307,17 +305,17 @@ namespace ICSharpCode.PackageManagement
return packages;
}
bool PackageRequiresLicenseAcceptance(IPackage iPackage)
bool PackageRequiresLicenseAcceptance(IPackage packageToCheck)
{
return iPackage.RequireLicenseAcceptance && !IsPackageInstalled(iPackage);
return packageToCheck.RequireLicenseAcceptance && !IsPackageInstalled(packageToCheck);
}
bool IsPackageInstalled(IPackage iPackage)
bool IsPackageInstalled(IPackage packageToCheck)
{
return selectedProjects.Solution.IsPackageInstalled(iPackage);
return selectedProjects.Solution.IsPackageInstalled(packageToCheck);
}
protected virtual void TrySolutionPackageInstall()
protected virtual void TryInstallingPackageIntoSolution()
{
try {
var solutionRepository = selectedProjects.Solution.CreateSolutionPackageRepository();
@ -325,22 +323,25 @@ namespace ICSharpCode.PackageManagement @@ -325,22 +323,25 @@ namespace ICSharpCode.PackageManagement
installAction.Package = package;
installAction.IgnoreDependencies = false;
installAction.AllowPrereleaseVersions = parent.IncludePrerelease;
SolutionPackageGetInstallOperations(solutionRepository, installAction, package);
GetInstallOperationsForSolutionPackage(solutionRepository, installAction, package);
if (LicensesAccepted()) {
SolutionPackageInstall(solutionRepository, installAction, package);
InstallPackageIntoSolution(solutionRepository, installAction, package);
packageManagementEvents.OnParentPackageInstalled(package);
}
} catch (Exception ex) {
ReportError(ex);
logger.LogError(ex);
}
}
void SolutionPackageGetInstallOperations(
void GetInstallOperationsForSolutionPackage(
ISolutionPackageRepository solutionRepository,
InstallPackageAction installAction,
IPackageFromRepository installPackage) {
IPackageFromRepository installPackage)
{
var resolverFactory = new PackageOperationsResolverFactory();
var resolver = resolverFactory.CreateInstallPackageOperationResolver(
solutionRepository.Repository,
@ -350,15 +351,17 @@ namespace ICSharpCode.PackageManagement @@ -350,15 +351,17 @@ namespace ICSharpCode.PackageManagement
packageOperations = resolver.ResolveOperations(installPackage);
}
void SolutionPackageInstall(
void InstallPackageIntoSolution(
ISolutionPackageRepository solutionRepository,
InstallPackageAction installAction,
IPackageFromRepository installPackage) {
IPackageFromRepository installPackage)
{
var packageManager = new PackageManager(
installPackage.Repository,
solutionRepository.PackagePathResolver,
solutionRepository.FileSystem,
solutionRepository.Repository);
packageManager.InstallPackage(
installPackage.Id,
installPackage.Version,
@ -366,20 +369,24 @@ namespace ICSharpCode.PackageManagement @@ -366,20 +369,24 @@ namespace ICSharpCode.PackageManagement
installAction.AllowPrereleaseVersions);
}
protected virtual void TrySolutionPackageUpdate()
protected virtual void TryUpdatingPackageInSolution()
{
try {
var solutionRepository = selectedProjects.Solution.CreateSolutionPackageRepository();
var updateAction = new UpdatePackageAction(null, packageManagementEvents);
updateAction.Package = package;
updateAction.AllowPrereleaseVersions = parent.IncludePrerelease;
SolutionPackageGetUpdateOperations(solutionRepository, updateAction, package);
GetUpdateOperationsForSolutionPackage(solutionRepository, updateAction, package);
if (LicensesAccepted()) {
SolutionPackageUpdate(solutionRepository, updateAction, package);
IEnumerable<IPackage> updatedPackages = (
from packageOperation in packageOperations
where packageOperation.Package != null
select packageOperation.Package).Distinct();
UpdateSolutionLevelPackage(solutionRepository, updateAction, package);
IEnumerable<IPackage> updatedPackages = packageOperations
.Where(packageOperation => packageOperation.Package != null)
.Select(packageOperation => packageOperation.Package)
.Distinct();
packageManagementEvents.OnParentPackagesUpdated(updatedPackages);
}
} catch (Exception ex) {
@ -388,11 +395,11 @@ namespace ICSharpCode.PackageManagement @@ -388,11 +395,11 @@ namespace ICSharpCode.PackageManagement
}
}
void SolutionPackageGetUpdateOperations(
void GetUpdateOperationsForSolutionPackage(
ISolutionPackageRepository solutionRepository,
UpdatePackageAction updateAction,
IPackageFromRepository updatePackage) {
IPackageFromRepository updatePackage)
{
var resolverFactory = new PackageOperationsResolverFactory();
var resolver = resolverFactory.CreateUpdatePackageOperationResolver(
solutionRepository.Repository,
@ -402,27 +409,29 @@ namespace ICSharpCode.PackageManagement @@ -402,27 +409,29 @@ namespace ICSharpCode.PackageManagement
packageOperations = resolver.ResolveOperations(updatePackage);
}
void SolutionPackageUpdate(
void UpdateSolutionLevelPackage(
ISolutionPackageRepository solutionRepository,
UpdatePackageAction updateAction,
IPackageFromRepository updatePackage) {
IPackageFromRepository updatePackage)
{
var packageManager = new PackageManager(
updatePackage.Repository,
solutionRepository.PackagePathResolver,
solutionRepository.FileSystem,
solutionRepository.Repository);
packageManager.UpdatePackage(
updatePackage.Id,
updateAction.UpdateDependencies,
updateAction.AllowPrereleaseVersions);
}
void TryProjectPackageInstall()
void TryInstallingPackageIntoProject()
{
try {
ProjectPackageGetInstallOperations();
GetInstallOperationsForProject();
if (LicensesAccepted()) {
ProjectPackageInstall();
InstallPackageIntoProject();
}
} catch (Exception ex) {
ReportError(ex);
@ -430,12 +439,12 @@ namespace ICSharpCode.PackageManagement @@ -430,12 +439,12 @@ namespace ICSharpCode.PackageManagement
}
}
void ProjectPackageInstall()
void InstallPackageIntoProject()
{
ProjectPackageInstall(packageOperations);
InstallPackageIntoProject(packageOperations);
}
void ProjectPackageInstall(IEnumerable<PackageOperation> installOperations)
void InstallPackageIntoProject(IEnumerable<PackageOperation> installOperations)
{
IPackageManagementProject project = GetSingleProjectSelected();
ProcessPackageOperationsAction action = CreateInstallPackageAction(project);
@ -456,16 +465,15 @@ namespace ICSharpCode.PackageManagement @@ -456,16 +465,15 @@ namespace ICSharpCode.PackageManagement
packageManagementEvents.OnPackageOperationError(ex);
}
public void RemoveOrManagePackage() {
public void RemoveOrManagePackage()
{
if (selectedProjects.HasMultipleProjects()) {
if (IsProjectPackage(package)) {
ManagePackage();
}
else {
} else {
RemovePackage();
}
}
else {
} else {
RemovePackage();
}
}
@ -476,7 +484,7 @@ namespace ICSharpCode.PackageManagement @@ -476,7 +484,7 @@ namespace ICSharpCode.PackageManagement
logger.LogRemovingPackage();
if (IsProjectPackage(package)) {
TryProjectPackageUninstall();
TryUninstallingPackageFromProject();
} else {
TrySolutionPackageUninstall();
}
@ -489,11 +497,12 @@ namespace ICSharpCode.PackageManagement @@ -489,11 +497,12 @@ namespace ICSharpCode.PackageManagement
logger.LogRemovingPackage();
}
void TrySolutionPackageUninstall() {
TrySolutionPackageUninstall(package);
void TrySolutionPackageUninstall()
{
TryUninstallingPackageFromSolution(package);
}
protected void TrySolutionPackageUninstall(IPackage removePackage)
protected void TryUninstallingPackageFromSolution(IPackage removePackage)
{
try {
var solutionPackageRepository = PackageManagementServices.Solution.CreateSolutionPackageRepository();
@ -501,16 +510,20 @@ namespace ICSharpCode.PackageManagement @@ -501,16 +510,20 @@ namespace ICSharpCode.PackageManagement
solutionPackageRepository.Repository,
solutionPackageRepository.PackagePathResolver,
solutionPackageRepository.FileSystem);
packageManager.UninstallPackage(removePackage);
solutionPackageRepository.Repository.RemovePackage(removePackage);
packageManagementEvents.OnParentPackageUninstalled(removePackage);
} catch (Exception ex) {
ReportError(ex);
logger.LogError(ex);
}
}
void TryProjectPackageUninstall()
void TryUninstallingPackageFromProject()
{
try {
IPackageManagementProject project = GetSingleProjectSelected();
@ -562,7 +575,7 @@ namespace ICSharpCode.PackageManagement @@ -562,7 +575,7 @@ namespace ICSharpCode.PackageManagement
ClearReportedMessages();
logger.LogManagingPackage();
using (IDisposable operation = StartOperation(package)) {
using (IDisposable operation = StartInstallOperation(package)) {
TryManagePackagesForSelectedProjects(projects);
}
@ -632,8 +645,9 @@ namespace ICSharpCode.PackageManagement @@ -632,8 +645,9 @@ namespace ICSharpCode.PackageManagement
return null;
}
bool LicensesAccepted(IEnumerable<IPackageManagementSelectedProject> projects) {
ProjectPackageGetInstallOperations(projects);
bool LicensesAccepted(IEnumerable<IPackageManagementSelectedProject> projects)
{
GetInstallOperationsForSelectedProjects(projects);
return LicensesAccepted();
}
@ -684,6 +698,5 @@ namespace ICSharpCode.PackageManagement @@ -684,6 +698,5 @@ namespace ICSharpCode.PackageManagement
actionRunner.Run(actions);
}
}
}
}

20
src/AddIns/Misc/PackageManagement/Project/Src/PackagesViewModel.cs

@ -110,15 +110,17 @@ namespace ICSharpCode.PackageManagement @@ -110,15 +110,17 @@ namespace ICSharpCode.PackageManagement
protected void OnPackageChanged(object sender, EventArgs e)
{
if (IsReadingPackages) return;
if (PackageViewModels == null) return;
if (IsReadingPackages || (PackageViewModels == null)) {
return;
}
// refresh all because we don't know if any dependant package is (un)installed
foreach (var packageViewModel in this.PackageViewModels) {
if (!IsReadingPackages)
// refresh all because we don't know if any dependent package is (un)installed
foreach (PackageViewModel packageViewModel in PackageViewModels) {
if (!IsReadingPackages) {
packageViewModel.PackageChanged();
}
}
}
public void ReadPackages()
{
@ -268,12 +270,8 @@ namespace ICSharpCode.PackageManagement @@ -268,12 +270,8 @@ namespace ICSharpCode.PackageManagement
return null;
}
/// <summary>
/// Make this & IPackageExtensions.IsProjectPackage overridable/testable
/// </summary>
/// <param name="package"></param>
/// <returns></returns>
protected virtual bool IsProjectPackage (IPackage package) {
protected virtual bool IsProjectPackage (IPackage package)
{
return package.IsProjectPackage();
}

3
src/AddIns/Misc/PackageManagement/Project/Src/SelectedProjectsForUpdatedPackages.cs

@ -22,12 +22,13 @@ using NuGet; @@ -22,12 +22,13 @@ using NuGet;
namespace ICSharpCode.PackageManagement
{
public class SelectedProjectsForUpdatedPackages : SelectedProjectsForInstalledPackages
public class SelectedProjectsForUpdatedPackages : PackageManagementSelectedProjects
{
public SelectedProjectsForUpdatedPackages(IPackageManagementSolution solution)
: base(solution)
{
}
protected override bool IsProjectSelected(IPackageManagementProject project, IPackageFromRepository package)
{
return IsProjectEnabled(project, package);

16
src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackageViewModel.cs

@ -43,26 +43,26 @@ namespace ICSharpCode.PackageManagement @@ -43,26 +43,26 @@ namespace ICSharpCode.PackageManagement
SelectedProjectsForUpdatedPackages selectedProjects;
protected override void TrySolutionPackageInstall()
{ // Modify PackageViewModel logic
base.TrySolutionPackageUpdate();
protected override void TryInstallingPackageIntoSolution()
{
TryUpdatingPackageInSolution();
}
protected override ProcessPackageAction CreatePackageManageAction(IPackageManagementSelectedProject selectedProject)
{ // Modify PackageViewModel logic
{
if (selectedProject.IsSelected) {
return base.CreateUpdatePackageManageActionForSelectedProject(selectedProject);
return CreateUpdatePackageManageActionForSelectedProject(selectedProject);
}
return null;
}
protected override IDisposable StartOperation(IPackageFromRepository package)
{ // Modify PackageViewModel logic
protected override IDisposable StartInstallOperation(IPackageFromRepository package)
{
return package.StartUpdateOperation();
}
protected override ProcessPackageOperationsAction CreateInstallPackageAction(IPackageManagementProject project)
{ // Modify UpdatePackageAction logic
{
return project.CreateUpdatePackageAction();
}
}

9
src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackageViewModelFactory.cs

@ -23,11 +23,12 @@ namespace ICSharpCode.PackageManagement @@ -23,11 +23,12 @@ namespace ICSharpCode.PackageManagement
{
public class UpdatedPackageViewModelFactory : PackageViewModelFactory
{
SelectedProjectsForUpdatedPackages selectedProjects;
SelectedProjectsForUpdatedPackages selectedProjectsForUpdatedPackages;
public UpdatedPackageViewModelFactory(IPackageViewModelFactory packageViewModelFactory)
: base(packageViewModelFactory) {
selectedProjects = new SelectedProjectsForUpdatedPackages(Solution);
: base(packageViewModelFactory)
{
selectedProjectsForUpdatedPackages = new SelectedProjectsForUpdatedPackages(Solution);
}
public override PackageViewModel CreatePackageViewModel(IPackageViewModelParent parent, IPackageFromRepository package)
@ -35,7 +36,7 @@ namespace ICSharpCode.PackageManagement @@ -35,7 +36,7 @@ namespace ICSharpCode.PackageManagement
return new UpdatedPackageViewModel(
parent,
package,
selectedProjects,
selectedProjectsForUpdatedPackages,
PackageManagementEvents,
PackageActionRunner,
Logger);

2
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageManagementEvents.cs

@ -75,7 +75,6 @@ namespace PackageManagement.Tests.Helpers @@ -75,7 +75,6 @@ namespace PackageManagement.Tests.Helpers
{
PackagePassedToOnParentPackageInstalled = package;
IsOnParentPackageInstalledCalled = true;
if (PackageViewModel != null) PackageViewModel.PackageChanged();
}
public IPackage PackagePassedToOnParentPackageUninstalled;
@ -83,7 +82,6 @@ namespace PackageManagement.Tests.Helpers @@ -83,7 +82,6 @@ namespace PackageManagement.Tests.Helpers
public void OnParentPackageUninstalled(IPackage package)
{
PackagePassedToOnParentPackageUninstalled = package;
if (PackageViewModel != null) PackageViewModel.PackageChanged();
}
public MessageLevel MessageLevelPassedToOnPackageOperationMessageLogged;

59
src/AddIns/Misc/PackageManagement/Test/Src/PackageViewModelTests.cs

@ -220,30 +220,21 @@ namespace PackageManagement.Tests @@ -220,30 +220,21 @@ namespace PackageManagement.Tests
}
[Test]
[Category("ToDo")]
[Description("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged")]
public void AddPackage_PackageAddedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty()
public void PackageChanged_PackageAddedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty()
{
CreateViewModel();
viewModel.AddOneFakeInstallPackageOperationForViewModelPackage();
string propertyChangedName = null;
viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName;
viewModel.AddPackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
// Assert.Inconclusive("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageInstalled(viewModel.FakePackage);
viewModel.PackageChanged();
Assert.AreEqual("IsAdded", propertyChangedName);
}
[Test]
[Category("ToDo")]
[Description("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged")]
public void AddPackage_PackageAddedSuccessfully_PropertyNotifyChangedFiredAfterPackageInstalled()
public void PackageChanged_PackageAddedSuccessfully_PropertyNotifyChangedFiredAfterPackageInstalled()
{
CreateViewModel();
IPackage packagePassedToInstallPackageWhenPropertyNameChanged = null;
@ -253,10 +244,7 @@ namespace PackageManagement.Tests @@ -253,10 +244,7 @@ namespace PackageManagement.Tests
};
viewModel.AddPackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
// Assert.Inconclusive("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageInstalled(viewModel.FakePackage);
viewModel.PackageChanged();
Assert.AreEqual(fakePackage, packagePassedToInstallPackageWhenPropertyNameChanged);
}
@ -352,27 +340,20 @@ namespace PackageManagement.Tests @@ -352,27 +340,20 @@ namespace PackageManagement.Tests
}
[Test]
[Category("ToDo")]
[Description("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged")]
public void RemovePackage_PackageRemovedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty()
public void PackageChanged_PackageRemovedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty()
{
CreateViewModel();
string propertyChangedName = null;
viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName;
viewModel.RemovePackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageUninstalled(viewModel.FakePackage);
viewModel.PackageChanged();
Assert.AreEqual("IsAdded", propertyChangedName);
}
[Test]
[Category("ToDo")]
[Description("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged")]
public void RemovePackage_PackageRemovedSuccessfully_PropertyNotifyChangedFiredAfterPackageUninstalled()
public void PackageChanged_PackageRemovedSuccessfully_PropertyNotifyChangedFiredAfterPackageUninstalled()
{
CreateViewModel();
IPackage packagePassedToUninstallPackageWhenPropertyNameChanged = null;
@ -381,9 +362,7 @@ namespace PackageManagement.Tests @@ -381,9 +362,7 @@ namespace PackageManagement.Tests
};
viewModel.RemovePackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageUninstalled(viewModel.FakePackage);
viewModel.PackageChanged();
Assert.AreEqual(fakePackage, packagePassedToUninstallPackageWhenPropertyNameChanged);
}
@ -839,7 +818,7 @@ namespace PackageManagement.Tests @@ -839,7 +818,7 @@ namespace PackageManagement.Tests
}
[Test]
public void IsManaged_SolutionSelectedContainingTwoProjects_ReturnsTrue()
public void IsManaged_SolutionSelectedContainingTwoProjects_ReturnsFalsew()
{
CreateFakeSolution();
AddProjectToSolution();
@ -849,15 +828,12 @@ namespace PackageManagement.Tests @@ -849,15 +828,12 @@ namespace PackageManagement.Tests
bool managed = viewModel.IsManaged;
// Assert.IsTrue(managed);
// Only installed project-level package "IsManaged"
Assert.IsFalse(managed);
bool added = viewModel.IsAdded;
Assert.IsFalse(added);
}
[Test]
public void IsManaged_SolutionSelectedContainingOneProject_ReturnsTrue()
public void IsManaged_SolutionSelectedContainingOneProject_ReturnsFalse()
{
CreateFakeSolution();
AddProjectToSolution();
@ -866,11 +842,7 @@ namespace PackageManagement.Tests @@ -866,11 +842,7 @@ namespace PackageManagement.Tests
bool managed = viewModel.IsManaged;
// Assert.IsTrue(managed);
// Only installed project-level package "IsManaged"
Assert.IsFalse(managed);
bool added = viewModel.IsAdded;
Assert.IsFalse(added);
}
[Test]
@ -926,24 +898,17 @@ namespace PackageManagement.Tests @@ -926,24 +898,17 @@ namespace PackageManagement.Tests
}
[Test]
[Category("ToDo")]
[Description("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged")]
public void ManagePackage_TwoProjectsSelectedAndUserAcceptsSelectedProjects_IsAddedPropertyChanged()
public void PackageChanged_TwoProjectsSelectedAndUserAcceptsSelectedProjects_IsAddedPropertyChanged()
{
CreateViewModelWithTwoProjectsSelected("Project A", "Project B");
viewModel.FakePackageManagementEvents.ProjectsToSelect.Add("Project A");
viewModel.FakePackageManagementEvents.ProjectsToSelect.Add("Project B");
UserAcceptsProjectSelection();
string propertyChangedName = null;
viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName;
viewModel.ManagePackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
// Assert.Inconclusive("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageInstalled(viewModel.FakePackage);
viewModel.PackageChanged();
Assert.AreEqual("IsAdded", propertyChangedName);
}

2
src/AddIns/Misc/PackageManagement/Test/Src/RecentPackagesViewModelTests.cs

@ -95,7 +95,7 @@ namespace PackageManagement.Tests @@ -95,7 +95,7 @@ namespace PackageManagement.Tests
packageManagementEvents.OnParentPackageUninstalled(new FakePackage());
CompleteReadPackagesTask();
var expectedPackages = new FakePackage[] {};
var expectedPackages = new FakePackage[0];
PackageCollectionAssert.AreEqual(expectedPackages, viewModel.PackageViewModels);
}

Loading…
Cancel
Save