Browse Source

PackageManagement.Test

pull/374/head
Dragan 12 years ago
parent
commit
8e2c71ec98
  1. 4
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageManagementEvents.cs
  2. 13
      src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSolutionTests.cs
  3. 41
      src/AddIns/Misc/PackageManagement/Test/Src/PackageViewModelTests.cs

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

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

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

@ -617,16 +617,17 @@ namespace PackageManagement.Tests
fakeProjectFactory.CreatePackageManagementProject = (repository, msbuildProject) => { fakeProjectFactory.CreatePackageManagementProject = (repository, msbuildProject) => {
return project; return project;
}; };
FakePackage notInstalledPackage = FakePackage.CreatePackageWithVersion("NotInstalled", "1.0.0.0"); FakePackage installedSolutionPackage = FakePackage.CreatePackageWithVersion("SolutionPackage", "1.0.0.0");
fakeSolutionPackageRepository.FakeSharedRepository.FakePackages.Add(notInstalledPackage); fakeSolutionPackageRepository.FakeSharedRepository.FakePackages.Add(installedSolutionPackage);
FakePackage installedPackage = FakePackage.CreatePackageWithVersion("Installed", "1.0.0.0"); FakePackage installedProjectPackage = FakePackage.CreatePackageWithVersion("ProjectPackage", "1.0.0.0");
fakeSolutionPackageRepository.FakeSharedRepository.FakePackages.Add(installedPackage); fakeSolutionPackageRepository.FakeSharedRepository.FakePackages.Add(installedProjectPackage);
project.FakePackages.Add(installedPackage); project.FakePackages.Add(installedProjectPackage);
IQueryable<IPackage> packages = solution.GetInstalledPackages(); IQueryable<IPackage> packages = solution.GetInstalledPackages();
var expectedPackages = new FakePackage[] { var expectedPackages = new FakePackage[] {
installedPackage installedSolutionPackage,
installedProjectPackage
}; };
Assert.AreEqual(expectedPackages, packages); Assert.AreEqual(expectedPackages, packages);

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

@ -220,27 +220,27 @@ namespace PackageManagement.Tests
} }
[Test] [Test]
[Ignore("Property is not changed. Event OnParentPackageInstalled is fired")]
public void AddPackage_PackageAddedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty() public void AddPackage_PackageAddedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty()
{ {
Assert.Ignore("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModel(); CreateViewModel();
viewModel.AddOneFakeInstallPackageOperationForViewModelPackage(); viewModel.AddOneFakeInstallPackageOperationForViewModelPackage();
string propertyChangedName = null; string propertyChangedName = null;
viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName; viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName;
viewModel.AddPackage(); 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);
Assert.AreEqual("IsAdded", propertyChangedName); Assert.AreEqual("IsAdded", propertyChangedName);
} }
[Test] [Test]
[Ignore("Property is not changed. Event OnParentPackageInstalled is fired")]
public void AddPackage_PackageAddedSuccessfully_PropertyNotifyChangedFiredAfterPackageInstalled() public void AddPackage_PackageAddedSuccessfully_PropertyNotifyChangedFiredAfterPackageInstalled()
{ {
Assert.Ignore("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModel(); CreateViewModel();
IPackage packagePassedToInstallPackageWhenPropertyNameChanged = null; IPackage packagePassedToInstallPackageWhenPropertyNameChanged = null;
viewModel.PropertyChanged += (sender, e) => { viewModel.PropertyChanged += (sender, e) => {
@ -249,6 +249,11 @@ namespace PackageManagement.Tests
}; };
viewModel.AddPackage(); 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);
Assert.AreEqual(fakePackage, packagePassedToInstallPackageWhenPropertyNameChanged); Assert.AreEqual(fakePackage, packagePassedToInstallPackageWhenPropertyNameChanged);
} }
@ -343,25 +348,24 @@ namespace PackageManagement.Tests
} }
[Test] [Test]
[Ignore("Property is not changed. Event OnParentPackageUninstalled is fired")]
public void RemovePackage_PackageRemovedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty() public void RemovePackage_PackageRemovedSuccessfully_PropertyNotifyChangedFiredForIsAddedProperty()
{ {
Assert.Ignore("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModel(); CreateViewModel();
string propertyChangedName = null; string propertyChangedName = null;
viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName; viewModel.PropertyChanged += (sender, e) => propertyChangedName = e.PropertyName;
viewModel.RemovePackage(); viewModel.RemovePackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
Assert.Inconclusive("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageUninstalled(viewModel.FakePackage);
Assert.AreEqual("IsAdded", propertyChangedName); Assert.AreEqual("IsAdded", propertyChangedName);
} }
[Test] [Test]
[Ignore("Property is not changed. Event OnParentPackageUninstalled is fired")]
public void RemovePackage_PackageRemovedSuccessfully_PropertyNotifyChangedFiredAfterPackageUninstalled() public void RemovePackage_PackageRemovedSuccessfully_PropertyNotifyChangedFiredAfterPackageUninstalled()
{ {
Assert.Ignore("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModel(); CreateViewModel();
IPackage packagePassedToUninstallPackageWhenPropertyNameChanged = null; IPackage packagePassedToUninstallPackageWhenPropertyNameChanged = null;
viewModel.PropertyChanged += (sender, e) => { viewModel.PropertyChanged += (sender, e) => {
@ -369,6 +373,11 @@ namespace PackageManagement.Tests
}; };
viewModel.RemovePackage(); viewModel.RemovePackage();
// fake fire parent action because there is no viewModel.parent in this test fixture
Assert.Inconclusive("OnParentPackageUninstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
viewModel.FakePackageManagementEvents.PackageViewModel = viewModel;
viewModel.FakePackageManagementEvents.OnParentPackageUninstalled(viewModel.FakePackage);
Assert.AreEqual(fakePackage, packagePassedToUninstallPackageWhenPropertyNameChanged); Assert.AreEqual(fakePackage, packagePassedToUninstallPackageWhenPropertyNameChanged);
} }
@ -910,11 +919,8 @@ namespace PackageManagement.Tests
} }
[Test] [Test]
[Ignore("Property is not changed. Event OnParentPackageInstalled is fired")]
public void ManagePackage_TwoProjectsSelectedAndUserAcceptsSelectedProjects_IsAddedPropertyChanged() public void ManagePackage_TwoProjectsSelectedAndUserAcceptsSelectedProjects_IsAddedPropertyChanged()
{ {
Assert.Ignore("OnParentPackageInstalled event, parent ([derived]PackagesViewModel) will call ReadPackages() or OnPackageChanged");
CreateViewModelWithTwoProjectsSelected("Project A", "Project B"); CreateViewModelWithTwoProjectsSelected("Project A", "Project B");
viewModel.FakePackageManagementEvents.ProjectsToSelect.Add("Project A"); viewModel.FakePackageManagementEvents.ProjectsToSelect.Add("Project A");
viewModel.FakePackageManagementEvents.ProjectsToSelect.Add("Project B"); viewModel.FakePackageManagementEvents.ProjectsToSelect.Add("Project B");
@ -925,6 +931,11 @@ namespace PackageManagement.Tests
viewModel.ManagePackage(); 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);
Assert.AreEqual("IsAdded", propertyChangedName); Assert.AreEqual("IsAdded", propertyChangedName);
} }

Loading…
Cancel
Save