#develop (short for SharpDevelop) is a free IDE for .NET programming languages.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

785 lines
24 KiB

// Copyright (c) 2014 AlphaSierraPapa for the SharpDevelop Team
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this
// software and associated documentation files (the "Software"), to deal in the Software
// without restriction, including without limitation the rights to use, copy, modify, merge,
// publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
// to whom the Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in all copies or
// substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
// PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
// FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
using System;
using System.Collections.Generic;
using System.Linq;
using ICSharpCode.PackageManagement;
using ICSharpCode.PackageManagement.Design;
using ICSharpCode.PackageManagement.EnvDTE;
using ICSharpCode.SharpDevelop.Project;
using NuGet;
using NUnit.Framework;
using PackageManagement.Tests.Helpers;
namespace PackageManagement.Tests
{
[TestFixture]
public class PackageManagementProjectTests
{
FakePackageManagerFactory fakePackageManagerFactory;
FakePackageRepository fakeSourceRepository;
TestableProject fakeMSBuildProject;
PackageManagementProject project;
FakeProjectManager fakeProjectManager;
FakePackageManager fakePackageManager;
FakePackageManagementEvents fakePackageManagementEvents;
FakeInstallPackageAction fakeInstallAction;
FakeUninstallPackageAction fakeUninstallAction;
FakeUpdatePackageAction fakeUpdateAction;
UpdatePackagesAction updatePackagesAction;
void CreateProject()
{
fakePackageManagerFactory = new FakePackageManagerFactory();
fakePackageManager = fakePackageManagerFactory.FakePackageManager;
fakeProjectManager = fakePackageManager.FakeProjectManager;
fakeSourceRepository = new FakePackageRepository();
fakeMSBuildProject = ProjectHelper.CreateTestProject();
fakePackageManagementEvents = new FakePackageManagementEvents();
project = new PackageManagementProject(
fakeSourceRepository,
fakeMSBuildProject,
fakePackageManagementEvents,
fakePackageManagerFactory);
}
FakeInstallPackageAction CreateFakeInstallAction()
{
fakeInstallAction = new FakeInstallPackageAction();
return fakeInstallAction;
}
FakeUninstallPackageAction CreateFakeUninstallAction()
{
fakeUninstallAction = new FakeUninstallPackageAction(project);
return fakeUninstallAction;
}
FakeUpdatePackageAction CreateFakeUpdateAction()
{
fakeUpdateAction = new FakeUpdatePackageAction(project);
return fakeUpdateAction;
}
void CreateUpdatePackagesAction()
{
updatePackagesAction = new UpdatePackagesAction(project, null);
}
[Test]
public void IsInstalled_PackageIsInstalled_ReturnsTrue()
{
CreateProject();
fakeProjectManager.IsInstalledReturnValue = true;
var package = new FakePackage("Test");
bool installed = project.IsPackageInstalled(package);
Assert.IsTrue(installed);
}
[Test]
public void IsInstalled_PackageIsNotInstalled_ReturnsFalse()
{
CreateProject();
fakeProjectManager.IsInstalledReturnValue = false;
var package = new FakePackage("Test");
bool installed = project.IsPackageInstalled(package);
Assert.IsFalse(installed);
}
[Test]
public void IsInstalled_PackageIsInstalled_PackagePassedToProjectManager()
{
CreateProject();
fakeProjectManager.IsInstalledReturnValue = false;
var expectedPackage = new FakePackage("Test");
project.IsPackageInstalled(expectedPackage);
IPackage actualPackage = fakeProjectManager.PackagePassedToIsInstalled;
Assert.AreEqual(expectedPackage, actualPackage);
}
[Test]
public void Constructor_RepositoryAndProjectPassed_RepositoryUsedToCreatePackageManager()
{
CreateProject();
IPackageRepository actualrepository = fakePackageManagerFactory.PackageRepositoryPassedToCreatePackageManager;
Assert.AreEqual(fakeSourceRepository, actualrepository);
}
[Test]
public void Constructor_RepositoryAndProjectPassed_ProjecUsedToCreatePackageManager()
{
CreateProject();
MSBuildBasedProject actualProject = fakePackageManagerFactory.ProjectPassedToCreateRepository;
Assert.AreEqual(fakeMSBuildProject, actualProject);
}
[Test]
public void GetPackages_ProjectManagerLocalRepositoryHasTwoPackages_ReturnsTwoPackages()
{
CreateProject();
FakePackageRepository repository = fakeProjectManager.FakeLocalRepository;
FakePackage packageA = repository.AddFakePackage("A");
FakePackage packageB = repository.AddFakePackage("B");
IQueryable<IPackage> actualPackages = project.GetPackages();
var expectedPackages = new FakePackage[] {
packageA,
packageB
};
PackageCollectionAssert.AreEqual(expectedPackages, actualPackages);
}
[Test]
public void GetInstallPackageOperations_IgnoreDependenciesIsTrue_DependenciesIgnoredWhenRetrievingPackageOperations()
{
CreateProject();
var package = new FakePackage();
CreateFakeInstallAction()
.IgnoreDependencies = true;
project.GetInstallPackageOperations(package, fakeInstallAction);
Assert.IsTrue(fakePackageManager.IgnoreDependenciesPassedToGetInstallPackageOperations);
}
[Test]
public void GetInstallPackageOperations_IgnoreDependenciesIsFalse_DependenciesNotIgnoredWhenRetrievingPackageOperations()
{
CreateProject();
var package = new FakePackage();
CreateFakeInstallAction()
.IgnoreDependencies = false;
project.GetInstallPackageOperations(package, fakeInstallAction);
Assert.IsFalse(fakePackageManager.IgnoreDependenciesPassedToGetInstallPackageOperations);
}
[Test]
public void GetInstallPackageOperations_PackagePassed_PackageUsedToRetrievePackageOperations()
{
CreateProject();
var expectedPackage = new FakePackage();
CreateFakeInstallAction()
.IgnoreDependencies = true;
project.GetInstallPackageOperations(expectedPackage, fakeInstallAction);
IPackage actualPackage = fakePackageManager.PackagePassedToGetInstallPackageOperations;
Assert.AreEqual(expectedPackage, actualPackage);
}
[Test]
public void GetInstallPackageOperations_PackagePassed_ReturnsPackageOperations()
{
CreateProject();
var package = new FakePackage();
CreateFakeInstallAction()
.IgnoreDependencies = true;
IEnumerable<PackageOperation> operations = project.GetInstallPackageOperations(package, fakeInstallAction);
IEnumerable<PackageOperation> expectedOperations = fakePackageManager.PackageOperationsToReturnFromGetInstallPackageOperations;
Assert.AreEqual(expectedOperations, operations);
}
[Test]
public void Logger_SetLogger_LoggerOnPackageManagerIsSet()
{
CreateProject();
var expectedLogger = new FakeLogger();
project.Logger = expectedLogger;
Assert.AreEqual(expectedLogger, fakePackageManager.Logger);
}
[Test]
public void Logger_GetLogger_LoggerOnPackageManagerIsReturned()
{
CreateProject();
ILogger logger = project.Logger;
ILogger expectedLogger = fakePackageManager.Logger;
Assert.AreEqual(expectedLogger, logger);
}
[Test]
public void InstallPackage_PackagePassed_PackageInstalled()
{
CreateProject();
var package = new FakePackage();
CreateFakeInstallAction()
.Package = package;
project.InstallPackage(package, fakeInstallAction);
IPackage expectedPackage = fakePackageManager.PackagePassedToInstallPackage;
Assert.AreEqual(expectedPackage, package);
}
[Test]
public void InstallPackage_IgnoreDependenciesIsTrue_DependenciesAreIgnoredWhenPackageIsInstalled()
{
CreateProject();
CreateFakeInstallAction()
.IgnoreDependencies = true;
project.InstallPackage(null, fakeInstallAction);
Assert.IsTrue(fakePackageManager.IgnoreDependenciesPassedToInstallPackage);
}
[Test]
public void InstallPackage_IgnoreDependenciesIsFalse_DependenciesAreNotIgnoredWhenPackageIsInstalled()
{
CreateProject();
CreateFakeInstallAction()
.IgnoreDependencies = false;
project.InstallPackage(null, fakeInstallAction);
Assert.IsFalse(fakePackageManager.IgnoreDependenciesPassedToInstallPackage);
}
[Test]
public void InstallPackage_PackageOperationsPassed_PackageOperationsUsedToInstallPackage()
{
CreateProject();
var expectedOperations = new List<PackageOperation>();
CreateFakeInstallAction()
.Operations = expectedOperations;
project.InstallPackage(null, fakeInstallAction);
IEnumerable<PackageOperation> actualOperations = fakePackageManager.PackageOperationsPassedToInstallPackage;
Assert.AreEqual(expectedOperations, actualOperations);
}
[Test]
public void SourceRepository_NewInstance_ReturnsRepositoryUsedToCreateInstance()
{
CreateProject();
IPackageRepository repository = project.SourceRepository;
Assert.AreEqual(fakeSourceRepository, repository);
}
[Test]
public void UninstallPackage_PackagePassed_PackageUninstalled()
{
CreateProject();
CreateFakeUninstallAction();
fakeUninstallAction.ForceRemove = true;
fakeUninstallAction.RemoveDependencies = true;
var package = new FakePackage();
project.UninstallPackage(package, fakeUninstallAction);
IPackage expectedPackage = fakePackageManager.PackagePassedToUninstallPackage;
Assert.AreEqual(expectedPackage, package);
}
[Test]
public void UninstallPackage_ForceRemoveIsTrue_PackageUninstallIsForced()
{
CreateProject();
CreateFakeUninstallAction();
fakeUninstallAction.ForceRemove = true;
fakeUninstallAction.RemoveDependencies = false;
project.UninstallPackage(null, fakeUninstallAction);
Assert.IsTrue(fakePackageManager.ForceRemovePassedToUninstallPackage);
}
[Test]
public void UninstallPackage_ForceRemoveIsFalse_PackageUninstallIsNotForced()
{
CreateProject();
CreateFakeUninstallAction();
fakeUninstallAction.ForceRemove = false;
fakeUninstallAction.RemoveDependencies = true;
project.UninstallPackage(null, fakeUninstallAction);
Assert.IsFalse(fakePackageManager.ForceRemovePassedToUninstallPackage);
}
[Test]
public void UninstallPackage_RemoveDependenciesIsTrue_PackageDependenciesIsRemoved()
{
CreateProject();
CreateFakeUninstallAction();
fakeUninstallAction.ForceRemove = false;
fakeUninstallAction.RemoveDependencies = true;
project.UninstallPackage(null, fakeUninstallAction);
Assert.IsTrue(fakePackageManager.RemoveDependenciesPassedToUninstallPackage);
}
[Test]
public void UninstallPackage_RemoveDependenciesIsFalse_PackageDependenciesNotRemoved()
{
CreateProject();
CreateFakeUninstallAction();
fakeUninstallAction.ForceRemove = true;
fakeUninstallAction.RemoveDependencies = false;
project.UninstallPackage(null, fakeUninstallAction);
Assert.IsFalse(fakePackageManager.RemoveDependenciesPassedToUninstallPackage);
}
[Test]
public void UpdatePackage_PackagePassed_PackageUpdated()
{
CreateProject();
var package = new FakePackage();
CreateFakeUpdateAction()
.UpdateDependencies = true;
project.UpdatePackage(package, fakeUpdateAction);
IPackage expectedPackage = fakePackageManager.PackagePassedToUpdatePackage;
Assert.AreEqual(expectedPackage, package);
}
[Test]
public void UpdatePackage_UpdateDependenciesIsTrue_DependenciesUpdatedWhenPackageIsUpdated()
{
CreateProject();
CreateFakeUpdateAction()
.UpdateDependencies = true;
project.UpdatePackage(null, fakeUpdateAction);
Assert.IsTrue(fakePackageManager.UpdateDependenciesPassedToUpdatePackage);
}
[Test]
public void UpdatePackage_UpdateDependenciesIsFalse_DependenciesAreNotUpdatedWhenPackageIsUpdated()
{
CreateProject();
CreateFakeUpdateAction()
.UpdateDependencies = false;
project.UpdatePackage(null, fakeUpdateAction);
Assert.IsFalse(fakePackageManager.UpdateDependenciesPassedToUpdatePackage);
}
[Test]
public void UpdatePackage_PackageOperationsPassed_PackageOperationsUsedToUpdatePackage()
{
CreateProject();
var expectedOperations = new List<PackageOperation>();
CreateFakeUpdateAction()
.Operations = expectedOperations;
project.UpdatePackage(null, fakeUpdateAction);
IEnumerable<PackageOperation> actualOperations = fakePackageManager.PackageOperationsPassedToUpdatePackage;
Assert.AreEqual(expectedOperations, actualOperations);
}
[Test]
public void Logger_SetLogger_ProjectManagerUsesLogger()
{
CreateProject();
ILogger expectedLogger = new NullLogger();
project.Logger = expectedLogger;
ILogger actualLogger = fakePackageManager.ProjectManager.Logger;
Assert.AreEqual(expectedLogger, actualLogger);
}
[Test]
public void Logger_SetLogger_ProjectManagerProjectSystemUsesLogger()
{
CreateProject();
ILogger expectedLogger = new NullLogger();
project.Logger = expectedLogger;
ILogger actualLogger = fakePackageManager.ProjectManager.Project.Logger;
Assert.AreEqual(expectedLogger, actualLogger);
}
[Test]
public void Logger_SetLogger_PackageManagerFileSystemUsesLogger()
{
CreateProject();
ILogger expectedLogger = new NullLogger();
project.Logger = expectedLogger;
ILogger actualLogger = fakePackageManager.FileSystem.Logger;
Assert.AreEqual(expectedLogger, actualLogger);
}
[Test]
public void Logger_GetLogger_ReturnsLogger()
{
CreateProject();
ILogger expectedLogger = new NullLogger();
project.Logger = expectedLogger;
ILogger actualLogger = project.Logger;
Assert.AreEqual(expectedLogger, actualLogger);
}
[Test]
public void PackageInstalled_PackagerManagerPackageInstalledEventFired_EventFiresWithPackage()
{
CreateProject();
PackageOperationEventArgs eventArgs = null;
project.PackageInstalled += (sender, e) => eventArgs = e;
var expectedEventArgs = new PackageOperationEventArgs(new FakePackage(), null, String.Empty);
fakePackageManager.FirePackageInstalled(expectedEventArgs);
Assert.AreEqual(expectedEventArgs, eventArgs);
}
[Test]
public void PackageUninstalled_PackagerManagerPackageUninstalledEventFired_EventFiresWithPackage()
{
CreateProject();
PackageOperationEventArgs eventArgs = null;
project.PackageUninstalled += (sender, e) => eventArgs = e;
var expectedEventArgs = new PackageOperationEventArgs(new FakePackage(), null, String.Empty);
fakePackageManager.FirePackageUninstalled(expectedEventArgs);
Assert.AreEqual(expectedEventArgs, eventArgs);
}
[Test]
public void PackageReferenceAdded_ProjectManagerPackageReferenceAddedEventFired_EventFiresWithPackage()
{
CreateProject();
PackageOperationEventArgs eventArgs = null;
project.PackageReferenceAdded += (sender, e) => eventArgs = e;
var expectedPackage = new FakePackage();
fakeProjectManager.FirePackageReferenceAdded(expectedPackage);
Assert.AreEqual(expectedPackage, eventArgs.Package);
}
[Test]
public void PackageReferenceRemoving_ProjectManagerPackageReferenceRemovingEventFired_EventFiresWithPackage()
{
CreateProject();
PackageOperationEventArgs eventArgs = null;
project.PackageReferenceRemoving += (sender, e) => eventArgs = e;
var expectedPackage = new FakePackage();
fakeProjectManager.FirePackageReferenceRemoving(expectedPackage);
Assert.AreEqual(expectedPackage, eventArgs.Package);
}
[Test]
public void ConvertToDTEProject_MethodCalled_ReturnsProjectWithExpectedName()
{
CreateProject();
fakeMSBuildProject.Name = "Test";
Project dteProject = project.ConvertToDTEProject();
string name = dteProject.Name;
Assert.AreEqual("Test", name);
}
[Test]
public void Name_MSBuildProjectNameIsSet_ReturnsMSBuildProjectName()
{
CreateProject();
fakeMSBuildProject.Name = "MyProject";
string name = project.Name;
Assert.AreEqual("MyProject", name);
}
[Test]
public void IsInstalled_PackageIdPassedAndPackageIsInstalled_ReturnsTrue()
{
CreateProject();
fakeProjectManager.IsInstalledReturnValue = true;
bool installed = project.IsPackageInstalled("Test");
Assert.IsTrue(installed);
}
[Test]
public void IsInstalled_PackageIdPassedAndPackageIsNotInstalled_ReturnsFalse()
{
CreateProject();
fakeProjectManager.IsInstalledReturnValue = false;
bool installed = project.IsPackageInstalled("Test");
Assert.IsFalse(installed);
}
[Test]
public void IsInstalled_PackageIdPassedPackageIsInstalled_PackageIdPassedToProjectManager()
{
CreateProject();
fakeProjectManager.IsInstalledReturnValue = false;
project.IsPackageInstalled("Test");
string id = fakeProjectManager.PackageIdPassedToIsInstalled;
Assert.AreEqual("Test", id);
}
[Test]
public void GetPackagesInReverseDependencyOrder_TwoPackages_ReturnsPackagesFromProjectLocalRepositoryInCorrectOrder()
{
CreateProject();
FakePackage packageA = fakeProjectManager.FakeLocalRepository.AddFakePackageWithVersion("A", "1.0");
FakePackage packageB = fakeProjectManager.FakeLocalRepository.AddFakePackageWithVersion("B", "1.0");
packageB.DependenciesList.Add(new PackageDependency("A"));
var expectedPackages = new FakePackage[] {
packageB,
packageA
};
IEnumerable<IPackage> packages = project.GetPackagesInReverseDependencyOrder();
PackageCollectionAssert.AreEqual(expectedPackages, packages);
}
[Test]
public void InstallPackage_AllowPrereleaseVersionsIsTrue_PrereleaseVersionsAreNotAllowedWhenPackageIsInstalled()
{
CreateProject();
CreateFakeInstallAction()
.AllowPrereleaseVersions = false;
project.InstallPackage(null, fakeInstallAction);
Assert.IsFalse(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage);
}
[Test]
public void InstallPackage_AllowPrereleaseVersionsIsFalse_PrereleaseVersionsAreAllowedWhenPackageIsInstalled()
{
CreateProject();
CreateFakeInstallAction()
.AllowPrereleaseVersions = true;
project.InstallPackage(null, fakeInstallAction);
Assert.IsTrue(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage);
}
[Test]
public void GetInstallPackageOperations_AllowPrereleaseVersionsIsTrue_PrereleaseVersionsAllowedWhenRetrievingPackageOperations()
{
CreateProject();
var package = new FakePackage();
CreateFakeInstallAction()
.AllowPrereleaseVersions = true;
project.GetInstallPackageOperations(package, fakeInstallAction);
Assert.IsTrue(fakePackageManager.AllowPrereleaseVersionsPassedToGetInstallPackageOperations);
}
[Test]
public void GetInstallPackageOperations_AllowPrereleaseVersionsIsFalse_PrereleaseVersionsNotAllowedWhenRetrievingPackageOperations()
{
CreateProject();
var package = new FakePackage();
CreateFakeInstallAction()
.AllowPrereleaseVersions = false;
project.GetInstallPackageOperations(package, fakeInstallAction);
Assert.IsFalse(fakePackageManager.AllowPrereleaseVersionsPassedToGetInstallPackageOperations);
}
[Test]
public void UpdatePackage_AllowPrereleaseVersionsIsTrue_PrereleaseVersionsNotAllowedWhenPackageIsUpdated()
{
CreateProject();
CreateFakeUpdateAction()
.AllowPrereleaseVersions = true;
project.UpdatePackage(null, fakeUpdateAction);
Assert.IsTrue(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage);
}
[Test]
public void UpdatePackage_AllowPrereleaseVersionsIsFalse_PrereleaseVersionsNotAllowedWhenPackageIsUpdated()
{
CreateProject();
CreateFakeUpdateAction()
.AllowPrereleaseVersions = false;
project.UpdatePackage(null, fakeUpdateAction);
Assert.IsFalse(fakePackageManager.AllowPrereleaseVersionsPassedToInstallPackage);
}
[Test]
public void UpdatePackages_ActionHasOperationsAndPackages_ActionPassedToPackageManager()
{
CreateProject();
CreateUpdatePackagesAction();
project.UpdatePackages(updatePackagesAction);
Assert.AreEqual(updatePackagesAction, fakePackageManager.UpdatePackagesActionsPassedToUpdatePackages);
}
[Test]
public void GetUpdatePackagesOperations_ActionPassed_ActionPassedToPackageManager()
{
CreateProject();
CreateUpdatePackagesAction();
var expectedPackages = new FakePackage[] { new FakePackage("Test") };
updatePackagesAction.AddPackages(expectedPackages);
project.GetUpdatePackagesOperations(updatePackagesAction.Packages, updatePackagesAction);
Assert.AreEqual(updatePackagesAction, fakePackageManager.SettingsPassedToGetUpdatePackageOperations);
Assert.AreEqual(expectedPackages, fakePackageManager.PackagesPassedToGetUpdatePackageOperations);
}
[Test]
public void GetUpdatePackagesOperations_ActionPassed_PackageOperationsReturned()
{
CreateProject();
CreateUpdatePackagesAction();
List<PackageOperation> expectedOperations = PackageOperationHelper.CreateListWithOneInstallOperationWithFile("readme.txt");
fakePackageManager.PackageOperationsToReturnFromGetUpdatePackageOperations = expectedOperations;
IEnumerable<PackageOperation> operations = project.GetUpdatePackagesOperations(updatePackagesAction.Packages, updatePackagesAction);
CollectionAssert.AreEqual(expectedOperations, operations);
}
[Test]
public void RunPackageOperations_OneOperation_PackageOperationsRunByPackageManager()
{
CreateProject();
CreateUpdatePackagesAction();
List<PackageOperation> expectedOperations = PackageOperationHelper.CreateListWithOneInstallOperationWithFile("readme.txt");
project.RunPackageOperations(expectedOperations);
CollectionAssert.AreEqual(expectedOperations, fakePackageManager.PackageOperationsPassedToRunPackageOperations);
}
[Test]
public void HasOlderPackageInstalled_TestPackage_PackagePassedToProjectManager()
{
CreateProject();
CreateUpdatePackagesAction();
var expectedPackage = new FakePackage("Test");
project.HasOlderPackageInstalled(expectedPackage);
Assert.AreEqual(expectedPackage, fakeProjectManager.PackagePassedToHasOlderPackageInstalled);
}
[Test]
public void HasOlderPackageInstalled_PackageIsInstalled_ReturnsTrue()
{
CreateProject();
fakeProjectManager.HasOlderPackageInstalledReturnValue = true;
var package = new FakePackage("Test");
bool installed = project.HasOlderPackageInstalled(package);
Assert.IsTrue(installed);
}
[Test]
public void HasOlderPackageInstalled_PackageIsNotInstalled_ReturnsFalse()
{
CreateProject();
fakeProjectManager.HasOlderPackageInstalledReturnValue = false;
var package = new FakePackage("Test");
bool installed = project.HasOlderPackageInstalled(package);
Assert.IsFalse(installed);
}
[Test]
public void UpdatePackageReference_PackageAndUpdateActionPassed_BothPassedToPackageManager()
{
CreateProject();
CreateUpdatePackagesAction();
var package = new FakePackage("Test");
project.UpdatePackageReference(package, updatePackagesAction);
Assert.AreEqual(package, fakePackageManager.PackagePassedToUpdatePackageReference);
Assert.AreEqual(updatePackagesAction, fakePackageManager.SettingsPassedToUpdatePackageReference);
}
[Test]
public void ConstraintProvider_LocalRepositoryDoesNotImplementIConstraintProvider_ReturnsNullConstraintProviderInstance ()
{
CreateProject ();
IPackageConstraintProvider provider = project.ConstraintProvider;
Assert.AreEqual (NullConstraintProvider.Instance, provider);
}
[Test]
public void ConstraintProvider_LocalRepositoryImplementsIConstraintProvider_ReturnsLocalRepository ()
{
CreateProject ();
var localRepository = new FakePackageRepositoryWithConstraintProvider ();
fakeProjectManager.FakeLocalRepository = localRepository;
IPackageConstraintProvider provider = project.ConstraintProvider;
Assert.AreEqual (localRepository, provider);
}
}
}