Browse Source

Prevent selection of projects that do not have an old version of a NuGet package when updating multiple projects in Manage Packages dialog.

pull/16/merge
Matt Ward 15 years ago
parent
commit
c1fc88ffb1
  1. 1
      src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj
  2. 7
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakePackage.cs
  3. 9
      src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeSelectedProject.cs
  4. 1
      src/AddIns/Misc/PackageManagement/Project/Src/IPackageManagementSelectedProject.cs
  5. 12
      src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementSelectedProject.cs
  6. 8
      src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementSelectedProjects.cs
  7. 9
      src/AddIns/Misc/PackageManagement/Project/Src/SelectProjectsView.xaml
  8. 34
      src/AddIns/Misc/PackageManagement/Project/Src/SelectedProjectsForUpdatedPackages.cs
  9. 2
      src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackageViewModel.cs
  10. 5
      src/AddIns/Misc/PackageManagement/Project/Src/UpdatedPackageViewModelFactory.cs
  11. 2
      src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj
  12. 5
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/SelectedProjectCollectionAssert.cs
  13. 26
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestableSelectedProjectsForUpdatedPackages.cs
  14. 4
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/TestableUpdatedPackageViewModel.cs
  15. 4
      src/AddIns/Misc/PackageManagement/Test/Src/InstalledPackageViewModelTests.cs
  16. 24
      src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSelectedProjectTests.cs
  17. 10
      src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSelectedProjectsTests.cs
  18. 196
      src/AddIns/Misc/PackageManagement/Test/Src/SelectedProjectsForUpdatedPackagesTests.cs

1
src/AddIns/Misc/PackageManagement/Project/PackageManagement.csproj

@ -272,6 +272,7 @@ @@ -272,6 +272,7 @@
<Compile Include="Src\Scripting\PowerShellWorkingDirectory.cs" />
<Compile Include="Src\Scripting\ResetPowerShellWorkingDirectoryOnSolutionClosed.cs" />
<Compile Include="Src\SelectedProjectsForInstalledPackages.cs" />
<Compile Include="Src\SelectedProjectsForUpdatedPackages.cs" />
<Compile Include="Src\SelectProjectsEventArgs.cs" />
<Compile Include="Src\SelectProjectsService.cs" />
<Compile Include="Src\SelectProjectsView.xaml.cs">

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

@ -33,6 +33,13 @@ namespace ICSharpCode.PackageManagement.Design @@ -33,6 +33,13 @@ namespace ICSharpCode.PackageManagement.Design
this.Version = new Version(1, 0, 0, 0);
}
public FakePackage(string id, string version)
{
this.Id = id;
this.Description = String.Empty;
this.Version = new Version(version);
}
public static FakePackage CreatePackageWithVersion(string version)
{
return CreatePackageWithVersion("Test", version);

9
src/AddIns/Misc/PackageManagement/Project/Src/Design/FakeSelectedProject.cs

@ -22,17 +22,24 @@ namespace ICSharpCode.PackageManagement.Design @@ -22,17 +22,24 @@ namespace ICSharpCode.PackageManagement.Design
}
public FakeSelectedProject(string name, bool selected)
: this(name, selected, true)
{
}
public FakeSelectedProject(string name, bool selected, bool enabled)
{
this.Name = name;
this.IsSelected = selected;
this.IsEnabled = enabled;
}
public string Name { get; set; }
public bool IsSelected { get; set; }
public bool IsEnabled { get; set; }
public override string ToString()
{
return String.Format("Name: {0}, IsSelected: {1}", Name, IsSelected);
return String.Format("Name: {0}, IsSelected: {1}, IsEnabled: {2}", Name, IsSelected, IsEnabled);
}
public FakeInstallPackageAction FakeInstallPackageAction {

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

@ -11,6 +11,7 @@ namespace ICSharpCode.PackageManagement @@ -11,6 +11,7 @@ namespace ICSharpCode.PackageManagement
{
string Name { get; }
bool IsSelected { get; set; }
bool IsEnabled { get; set; }
IPackageManagementProject Project { get; }
}

12
src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementSelectedProject.cs

@ -8,22 +8,32 @@ namespace ICSharpCode.PackageManagement @@ -8,22 +8,32 @@ namespace ICSharpCode.PackageManagement
public class PackageManagementSelectedProject : IPackageManagementSelectedProject
{
public PackageManagementSelectedProject(IPackageManagementProject project)
: this(project, false)
: this(project, selected: false)
{
}
public PackageManagementSelectedProject(
IPackageManagementProject project,
bool selected)
: this(project, selected, enabled: true)
{
}
public PackageManagementSelectedProject(
IPackageManagementProject project,
bool selected,
bool enabled)
{
this.Project = project;
this.Name = Project.Name;
this.IsSelected = selected;
this.IsEnabled = enabled;
}
public IPackageManagementProject Project { get; private set; }
public string Name { get; private set; }
public bool IsSelected { get; set; }
public bool IsEnabled { get; set; }
}
}

8
src/AddIns/Misc/PackageManagement/Project/Src/PackageManagementSelectedProjects.cs

@ -68,8 +68,9 @@ namespace ICSharpCode.PackageManagement @@ -68,8 +68,9 @@ namespace ICSharpCode.PackageManagement
IPackageManagementProject project,
IPackageFromRepository package)
{
bool enabled = IsProjectEnabled(project, package);
bool selected = IsProjectSelected(project, package);
return new PackageManagementSelectedProject(project, selected);
return new PackageManagementSelectedProject(project, selected, enabled);
}
protected virtual bool IsProjectSelected(IPackageManagementProject project, IPackageFromRepository package)
@ -77,6 +78,11 @@ namespace ICSharpCode.PackageManagement @@ -77,6 +78,11 @@ namespace ICSharpCode.PackageManagement
return false;
}
protected virtual bool IsProjectEnabled(IPackageManagementProject project, IPackageFromRepository package)
{
return true;
}
public bool HasMultipleProjects()
{
if (HasSingleProjectSelected()) {

9
src/AddIns/Misc/PackageManagement/Project/Src/SelectProjectsView.xaml

@ -27,12 +27,9 @@ @@ -27,12 +27,9 @@
<CheckBox
Margin="4, 2"
IsChecked="{Binding IsSelected}"/>
<TextBlock
Grid.Column="1"
Margin="4, 0"
Text="{Binding Name}"/>
IsEnabled="{Binding IsEnabled, Mode=OneWay}"
IsChecked="{Binding IsSelected}"
Content="{Binding Name}"/>
</Grid>
</DataTemplate>
</Window.Resources>

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

@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Linq;
using NuGet;
namespace ICSharpCode.PackageManagement
{
public class SelectedProjectsForUpdatedPackages : PackageManagementSelectedProjects
{
public SelectedProjectsForUpdatedPackages(IPackageManagementSolution solution)
: base(solution)
{
}
protected override bool IsProjectSelected(IPackageManagementProject project, IPackageFromRepository package)
{
return IsProjectEnabled(project, package);
}
protected override bool IsProjectEnabled(IPackageManagementProject project, IPackageFromRepository package)
{
return project.GetPackages()
.Where(p => IsPackageIdMatch(p.Id, package.Id))
.Any(p => p.Version < package.Version);
}
bool IsPackageIdMatch(string id1, string id2)
{
return String.Equals(id1, id2, StringComparison.InvariantCultureIgnoreCase);
}
}
}

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

@ -10,7 +10,7 @@ namespace ICSharpCode.PackageManagement @@ -10,7 +10,7 @@ namespace ICSharpCode.PackageManagement
{
public UpdatedPackageViewModel(
IPackageFromRepository package,
PackageManagementSelectedProjects selectedProjects,
SelectedProjectsForUpdatedPackages selectedProjects,
IPackageManagementEvents packageManagementEvents,
IPackageActionRunner actionRunner,
ILogger logger)

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

@ -8,16 +8,19 @@ namespace ICSharpCode.PackageManagement @@ -8,16 +8,19 @@ namespace ICSharpCode.PackageManagement
{
public class UpdatedPackageViewModelFactory : PackageViewModelFactory
{
SelectedProjectsForUpdatedPackages selectedProjectsForUpdatedPackages;
public UpdatedPackageViewModelFactory(IPackageViewModelFactory packageViewModelFactory)
: base(packageViewModelFactory)
{
selectedProjectsForUpdatedPackages = new SelectedProjectsForUpdatedPackages(Solution);
}
public override PackageViewModel CreatePackageViewModel(IPackageFromRepository package)
{
return new UpdatedPackageViewModel(
package,
SelectedProjects,
selectedProjectsForUpdatedPackages,
PackageManagementEvents,
PackageActionRunner,
Logger);

2
src/AddIns/Misc/PackageManagement/Test/PackageManagement.Tests.csproj

@ -74,6 +74,7 @@ @@ -74,6 +74,7 @@
<Compile Include="Src\Helpers\SelectedProjectCollectionAssert.cs" />
<Compile Include="Src\Helpers\TestableInstalledPackageViewModel.cs" />
<Compile Include="Src\Helpers\TestablePackageFromRepository.cs" />
<Compile Include="Src\Helpers\TestableSelectedProjectsForUpdatedPackages.cs" />
<Compile Include="Src\InstalledPackageViewModelTests.cs" />
<Compile Include="Src\ManagePackagesCommandTests.cs" />
<Compile Include="Src\ConsolePackageActionRunnerTests.cs" />
@ -224,6 +225,7 @@ @@ -224,6 +225,7 @@
<Compile Include="Src\Scripting\PowerShellWorkingDirectoryTests.cs" />
<Compile Include="Src\Scripting\ResetPowerShellWorkingDirectoryOnSolutionClosedTests.cs" />
<Compile Include="Src\SelectedProjectsForInstalledPackagesTests.cs" />
<Compile Include="Src\SelectedProjectsForUpdatedPackagesTests.cs" />
<Compile Include="Src\SelectProjectsViewModelTests.cs" />
<Compile Include="Src\SolutionPackageRepositoryPathTests.cs" />
<Compile Include="Src\PackageSourceViewModelTests.cs" />

5
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/SelectedProjectCollectionAssert.cs

@ -23,7 +23,10 @@ namespace PackageManagement.Tests.Helpers @@ -23,7 +23,10 @@ namespace PackageManagement.Tests.Helpers
{
var projectsAsString = new List<string>();
foreach (IPackageManagementSelectedProject project in projects) {
string text = String.Format("Name: {0}, IsSelected: {1}", project.Name, project.IsSelected);
string text = String.Format("Name: {0}, IsSelected: {1}, IsEnabled: {2}",
project.Name,
project.IsSelected,
project.IsEnabled);
projectsAsString.Add(text);
}
return projectsAsString;

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

@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using ICSharpCode.PackageManagement;
namespace PackageManagement.Tests.Helpers
{
public class TestableSelectedProjectsForUpdatedPackages : SelectedProjectsForUpdatedPackages
{
public TestableSelectedProjectsForUpdatedPackages(IPackageManagementSolution solution)
: base(solution)
{
}
public bool CallIsProjectEnabled(IPackageManagementProject project, IPackageFromRepository package)
{
return base.IsProjectEnabled(project, package);
}
public bool CallIsProjectSelected(IPackageManagementProject project, IPackageFromRepository package)
{
return base.IsProjectSelected(project, package);
}
}
}

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

@ -21,7 +21,7 @@ namespace PackageManagement.Tests.Helpers @@ -21,7 +21,7 @@ namespace PackageManagement.Tests.Helpers
public TestableUpdatedPackageViewModel(FakePackageManagementSolution solution)
: this(
new FakePackage(),
new PackageManagementSelectedProjects(solution),
new SelectedProjectsForUpdatedPackages(solution),
new FakePackageManagementEvents(),
new FakePackageActionRunner(),
new FakeLogger())
@ -31,7 +31,7 @@ namespace PackageManagement.Tests.Helpers @@ -31,7 +31,7 @@ namespace PackageManagement.Tests.Helpers
public TestableUpdatedPackageViewModel(
FakePackage package,
PackageManagementSelectedProjects selectedProjects,
SelectedProjectsForUpdatedPackages selectedProjects,
FakePackageManagementEvents packageManagementEvents,
FakePackageActionRunner actionRunner,
FakeLogger logger)

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

@ -262,8 +262,8 @@ namespace PackageManagement.Tests @@ -262,8 +262,8 @@ namespace PackageManagement.Tests
fakePackageManagementEvents.SelectedProjectsPassedToOnSelectProjects;
var expectedSelectedProjects = new List<IPackageManagementSelectedProject>();
expectedSelectedProjects.Add(new FakeSelectedProject("Project A", selected: true));
expectedSelectedProjects.Add(new FakeSelectedProject("Project B", selected: false));
expectedSelectedProjects.Add(new FakeSelectedProject("Project A", selected: true, enabled: true));
expectedSelectedProjects.Add(new FakeSelectedProject("Project B", selected: false, enabled: true));
SelectedProjectCollectionAssert.AreEqual(expectedSelectedProjects, selectedProjects);
}

24
src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSelectedProjectTests.cs

@ -34,6 +34,28 @@ namespace PackageManagement.Tests @@ -34,6 +34,28 @@ namespace PackageManagement.Tests
string name = selectedProject.Name;
Assert.AreEqual("Test", name);
}
}
[Test]
public void IsSelected_SelectedNotSpecifiedInConstructor_ReturnsFalse()
{
CreateFakePackageManagementProject();
CreateSelectedProject(fakeProject);
bool selected = selectedProject.IsSelected;
Assert.IsFalse(selected);
}
[Test]
public void IsEnabled_EnabledNotSpecifiedInConstructor_ReturnsTrue()
{
CreateFakePackageManagementProject();
CreateSelectedProject(fakeProject);
bool enabled = selectedProject.IsEnabled;
Assert.IsTrue(enabled);
}
}
}

10
src/AddIns/Misc/PackageManagement/Test/Src/PackageManagementSelectedProjectsTests.cs

@ -73,7 +73,7 @@ namespace PackageManagement.Tests @@ -73,7 +73,7 @@ namespace PackageManagement.Tests
var projects = new List<IPackageManagementSelectedProject>();
projects.AddRange(selectedProjects.GetProjects(fakePackage));
var expectedProject = new FakeSelectedProject("MyProject");
var expectedProject = new FakeSelectedProject("MyProject", selected: false, enabled: true);
var expectedProjects = new List<IPackageManagementSelectedProject>();
expectedProjects.Add(expectedProject);
@ -101,7 +101,7 @@ namespace PackageManagement.Tests @@ -101,7 +101,7 @@ namespace PackageManagement.Tests
NoProjectsSelected();
projects.AddRange(selectedProjects.GetProjects(fakePackage));
var expectedProject = new FakeSelectedProject("MyProject");
var expectedProject = new FakeSelectedProject("MyProject", selected: false, enabled: true);
var expectedProjects = new List<IPackageManagementSelectedProject>();
expectedProjects.Add(expectedProject);
@ -140,8 +140,8 @@ namespace PackageManagement.Tests @@ -140,8 +140,8 @@ namespace PackageManagement.Tests
projects.AddRange(selectedProjects.GetProjects(fakePackage));
var expectedProjects = new List<IPackageManagementSelectedProject>();
expectedProjects.Add(new FakeSelectedProject("Project A"));
expectedProjects.Add(new FakeSelectedProject("Project B"));
expectedProjects.Add(new FakeSelectedProject("Project A", selected: false, enabled: true));
expectedProjects.Add(new FakeSelectedProject("Project B", selected: false, enabled: true));
SelectedProjectCollectionAssert.AreEqual(expectedProjects, projects);
}
@ -506,7 +506,7 @@ namespace PackageManagement.Tests @@ -506,7 +506,7 @@ namespace PackageManagement.Tests
var projects = new List<IPackageManagementSelectedProject>();
projects.AddRange(selectedProjects.GetProjects(fakePackage));
var expectedProject = new FakeSelectedProject("MyProject");
var expectedProject = new FakeSelectedProject("MyProject", selected: false, enabled: true);
var expectedProjects = new List<IPackageManagementSelectedProject>();
expectedProjects.Add(expectedProject);

196
src/AddIns/Misc/PackageManagement/Test/Src/SelectedProjectsForUpdatedPackagesTests.cs

@ -0,0 +1,196 @@ @@ -0,0 +1,196 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
using System;
using System.Collections.Generic;
using ICSharpCode.PackageManagement;
using ICSharpCode.PackageManagement.Design;
using ICSharpCode.SharpDevelop.Project;
using NUnit.Framework;
using PackageManagement.Tests.Helpers;
namespace PackageManagement.Tests
{
[TestFixture]
public class SelectedProjectsForUpdatedPackagesTests
{
TestableSelectedProjectsForUpdatedPackages selectedProjects;
FakePackageManagementSolution fakeSolution;
void CreateFakeSolution()
{
fakeSolution = new FakePackageManagementSolution();
}
void CreateSelectedProjects()
{
selectedProjects = new TestableSelectedProjectsForUpdatedPackages(fakeSolution);
}
List<IProject> AddSolutionWithTwoProjectsToProjectService(string projectName1, string projectName2)
{
TestableProject project1 = ProjectHelper.CreateTestProject(projectName1);
TestableProject project2 = ProjectHelper.CreateTestProject(projectName2);
Solution solution = project1.ParentSolution;
project2.Parent = solution;
fakeSolution.FakeMSBuildProjects.Add(project1);
fakeSolution.FakeMSBuildProjects.Add(project2);
fakeSolution.AddFakeProjectToReturnFromGetProject(projectName1);
fakeSolution.AddFakeProjectToReturnFromGetProject(projectName2);
return fakeSolution.FakeMSBuildProjects;
}
FakePackageManagementProject GetProject(string name)
{
return fakeSolution.FakeProjectsToReturnFromGetProject[name];
}
[Test]
public void GetProjects_TwoProjectsAndPackageNotInstalledInAnyProject_IsEnabledIsFalseForAllSelectedProjects()
{
CreateFakeSolution();
AddSolutionWithTwoProjectsToProjectService("Project A", "Project B");
fakeSolution.NoProjectsSelected();
CreateSelectedProjects();
var fakePackage = new FakePackage("Test");
var projects = new List<IPackageManagementSelectedProject>();
projects.AddRange(selectedProjects.GetProjects(fakePackage));
var expectedProjects = new List<IPackageManagementSelectedProject>();
expectedProjects.Add(new FakeSelectedProject("Project A", selected: false, enabled: false));
expectedProjects.Add(new FakeSelectedProject("Project B", selected: false, enabled: false));
SelectedProjectCollectionAssert.AreEqual(expectedProjects, projects);
}
[Test]
public void GetProjects_TwoProjectsAndOlderPackageInstalledInFirstProject_IsEnabledIsTrueForFirstSelectedProjectButFalseForSecond()
{
CreateFakeSolution();
AddSolutionWithTwoProjectsToProjectService("Project A", "Project B");
fakeSolution.NoProjectsSelected();
CreateSelectedProjects();
var olderFakePackage = new FakePackage("Test", "1.0");
FakePackageManagementProject projectA = GetProject("Project A");
projectA.FakePackages.Add(olderFakePackage);
var fakePackage = new FakePackage("Test", "1.2");
var projects = new List<IPackageManagementSelectedProject>();
projects.AddRange(selectedProjects.GetProjects(fakePackage));
var expectedProjects = new List<IPackageManagementSelectedProject>();
expectedProjects.Add(new FakeSelectedProject("Project A", selected: true, enabled: true));
expectedProjects.Add(new FakeSelectedProject("Project B", selected: false, enabled: false));
SelectedProjectCollectionAssert.AreEqual(expectedProjects, projects);
}
[Test]
public void IsProjectEnabled_PackageOlderThanPackageIntalledInProject_ReturnsFalse()
{
CreateFakeSolution();
CreateSelectedProjects();
var oldPackage = new FakePackage("Test", "1.0");
var newPackage = new FakePackage("Test", "1.3");
var project = new FakePackageManagementProject();
project.FakePackages.Add(newPackage);
bool enabled = selectedProjects.CallIsProjectEnabled(project, oldPackage);
Assert.IsFalse(enabled);
}
[Test]
public void IsProjectEnabled_PackageSameVersionAsPackageIntalledInProject_ReturnsFalse()
{
CreateFakeSolution();
CreateSelectedProjects();
var oldPackage = new FakePackage("Test", "1.0");
var newPackage = new FakePackage("Test", "1.0");
var project = new FakePackageManagementProject();
project.FakePackages.Add(newPackage);
bool enabled = selectedProjects.CallIsProjectEnabled(project, oldPackage);
Assert.IsFalse(enabled);
}
[Test]
public void IsProjectSelected_PackageSameVersionAsPackageIntalledInProject_ReturnsFalse()
{
CreateFakeSolution();
CreateSelectedProjects();
var oldPackage = new FakePackage("Test", "1.0");
var newPackage = new FakePackage("Test", "1.0");
var project = new FakePackageManagementProject();
project.FakePackages.Add(newPackage);
bool selected = selectedProjects.CallIsProjectSelected(project, oldPackage);
Assert.IsFalse(selected);
}
[Test]
public void IsProjectEnabled_PackageNewerThanPackageIntalledInProject_ReturnsTrue()
{
CreateFakeSolution();
CreateSelectedProjects();
var oldPackage = new FakePackage("Test", "1.0");
var newPackage = new FakePackage("Test", "1.3");
var project = new FakePackageManagementProject();
project.FakePackages.Add(oldPackage);
bool enabled = selectedProjects.CallIsProjectEnabled(project, newPackage);
Assert.IsTrue(enabled);
}
[Test]
public void IsProjectEnabled_PackageIdNotInstalledInProject_ReturnsFalse()
{
CreateFakeSolution();
CreateSelectedProjects();
var oldPackage = new FakePackage("Foo", "1.0");
var newPackage = new FakePackage("Bar", "1.3");
var project = new FakePackageManagementProject();
project.FakePackages.Add(oldPackage);
bool enabled = selectedProjects.CallIsProjectEnabled(project, newPackage);
Assert.IsFalse(enabled);
}
[Test]
public void IsProjectEnabled_PackageNewerThanPackageIntalledInProjectButPackageIdsDifferInCase_ReturnsTrue()
{
CreateFakeSolution();
CreateSelectedProjects();
var oldPackage = new FakePackage("test", "1.0");
var newPackage = new FakePackage("TEST", "1.3");
var project = new FakePackageManagementProject();
project.FakePackages.Add(oldPackage);
bool enabled = selectedProjects.CallIsProjectEnabled(project, newPackage);
Assert.IsTrue(enabled);
}
}
}
Loading…
Cancel
Save