Browse Source

Speed up opening packagement management options.

pull/16/merge
Matt Ward 14 years ago
parent
commit
e494df2385
  1. 2
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageRepository.cs
  2. 1
      src/AddIns/Misc/PackageManagement/Project/Src/IRecentPackageRepository.cs
  3. 2
      src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementOptionsViewModel.cs
  4. 4
      src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementViewModels.cs
  5. 7
      src/AddIns/Misc/PackageManagement/Project/Src/RecentPackageRepository.cs
  6. 2
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakeRecentPackageRepository.cs
  7. 4
      src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementOptionsViewModelTests.cs
  8. 20
      src/AddIns/Misc/PackageManagement/Test/Src/RecentPackageRepositoryTests.cs

2
src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackageRepository.cs

@ -52,5 +52,7 @@ namespace ICSharpCode.PackageManagement.Design
public void Clear() public void Clear()
{ {
} }
public bool HasRecentPackages { get; set; }
} }
} }

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

@ -9,5 +9,6 @@ namespace ICSharpCode.PackageManagement
public interface IRecentPackageRepository : IPackageRepository public interface IRecentPackageRepository : IPackageRepository
{ {
void Clear(); void Clear();
bool HasRecentPackages { get; }
} }
} }

2
src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementOptionsViewModel.cs

@ -43,7 +43,7 @@ namespace ICSharpCode.PackageManagement
bool RecentPackageRepositoryHasPackages() bool RecentPackageRepositoryHasPackages()
{ {
return recentPackageRepository.GetPackages().Any(); return recentPackageRepository.HasRecentPackages;
} }
void CreateCommands() void CreateCommands()

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

@ -59,7 +59,7 @@ namespace ICSharpCode.PackageManagement
} else { } else {
registeredPackageRepositories = PackageManagementServices.RegisteredPackageRepositories; registeredPackageRepositories = PackageManagementServices.RegisteredPackageRepositories;
} }
} }
} }
bool IsInDesignMode() bool IsInDesignMode()
@ -109,7 +109,7 @@ namespace ICSharpCode.PackageManagement
registeredProjectTemplatePackageSourcesViewModel = registeredProjectTemplatePackageSourcesViewModel =
CreateRegisteredPackageSourcesViewModel(packageSources); CreateRegisteredPackageSourcesViewModel(packageSources);
} }
return registeredProjectTemplatePackageSourcesViewModel; return registeredProjectTemplatePackageSourcesViewModel;
} }
} }

7
src/AddIns/Misc/PackageManagement/Project/Src/RecentPackageRepository.cs

@ -105,7 +105,7 @@ namespace ICSharpCode.PackageManagement
void UpdatePackages() void UpdatePackages()
{ {
if (!HasRecentPackagesBeenRead() && HasRecentPackages()) { if (!HasRecentPackagesBeenRead() && HasRecentPackages) {
IEnumerable<IPackage> recentPackages = GetRecentPackages(); IEnumerable<IPackage> recentPackages = GetRecentPackages();
packages.AddRange(recentPackages); packages.AddRange(recentPackages);
} }
@ -116,9 +116,8 @@ namespace ICSharpCode.PackageManagement
return packages.Count > 0; return packages.Count > 0;
} }
bool HasRecentPackages() public bool HasRecentPackages {
{ get { return savedRecentPackages.Count > 0; }
return savedRecentPackages.Count > 0;
} }
IEnumerable<IPackage> GetRecentPackages() IEnumerable<IPackage> GetRecentPackages()

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

@ -34,5 +34,7 @@ namespace PackageManagement.Tests.Helpers
{ {
IsClearCalled = true; IsClearCalled = true;
} }
public bool HasRecentPackages { get; set; }
} }
} }

4
src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementOptionsViewModelTests.cs

@ -46,6 +46,7 @@ namespace PackageManagement.Tests
void AddPackageToRecentRepository() void AddPackageToRecentRepository()
{ {
fakeRecentRepository.FakePackages.Add(new FakePackage()); fakeRecentRepository.FakePackages.Add(new FakePackage());
fakeRecentRepository.HasRecentPackages = true;
} }
void AddPackageToMachineCache() void AddPackageToMachineCache()
@ -64,6 +65,7 @@ namespace PackageManagement.Tests
{ {
CreateRecentRepository(); CreateRecentRepository();
CreateViewModelUsingCreatedRecentRepository(); CreateViewModelUsingCreatedRecentRepository();
fakeRecentRepository.HasRecentPackages = false;
bool hasPackages = viewModel.HasNoRecentPackages; bool hasPackages = viewModel.HasNoRecentPackages;
@ -74,6 +76,7 @@ namespace PackageManagement.Tests
public void HasNoRecentPackages_RecentPackageRepositoryHasOnePackage_ReturnsFalse() public void HasNoRecentPackages_RecentPackageRepositoryHasOnePackage_ReturnsFalse()
{ {
CreateRecentRepository(); CreateRecentRepository();
fakeRecentRepository.HasRecentPackages = true;
AddPackageToRecentRepository(); AddPackageToRecentRepository();
CreateViewModelUsingCreatedRecentRepository(); CreateViewModelUsingCreatedRecentRepository();
@ -184,6 +187,7 @@ namespace PackageManagement.Tests
RecordPropertyChanges(); RecordPropertyChanges();
viewModel.ClearRecentPackages(); viewModel.ClearRecentPackages();
fakeRecentRepository.HasRecentPackages = false;
bool hasPackages = viewModel.HasNoRecentPackages; bool hasPackages = viewModel.HasNoRecentPackages;

20
src/AddIns/Misc/PackageManagement/Test/Src/RecentPackageRepositoryTests.cs

@ -249,5 +249,25 @@ namespace PackageManagement.Tests
Assert.AreEqual(0, count); Assert.AreEqual(0, count);
} }
[Test]
public void HasRecentPackages_NoSavedRecentPackages_ReturnsFalse()
{
CreateRepository();
bool hasRecentPackages = repository.HasRecentPackages;
Assert.IsFalse(hasRecentPackages);
}
[Test]
public void HasRecentPackages_OneSavedRecentPackages_ReturnsTrue()
{
CreateRepositoryWithOneRecentPackageSavedInOptions();
bool hasRecentPackages = repository.HasRecentPackages;
Assert.IsTrue(hasRecentPackages);
}
} }
} }

Loading…
Cancel
Save