public void TestOverwritePackageDetection() { var success = PackageInstallAction.InstallationQuestion.Success; var overwrite = PackageInstallAction.InstallationQuestion.OverwriteFile; // Conflict PackageInstallAction.InstallationQuestion conflict = PackageInstallAction.CheckForOverwrittenPackages(MockInstallation.GetInstallation(), MockInstallation.GetConflictingFiles(), false); Assert.AreNotEqual(success, conflict); // Conflict + --force var conflictForced = PackageInstallAction.CheckForOverwrittenPackages(MockInstallation.GetInstallation(), MockInstallation.GetConflictingFiles(), true); Assert.AreEqual(overwrite, conflictForced); // No conflict var noConflict = PackageInstallAction.CheckForOverwrittenPackages(MockInstallation.GetInstallation(), MockInstallation.TestNonConflicting(), false); Assert.AreEqual(success, noConflict); // Conflicting capitalization between files "package/a/test" vs "Package/A/test". If forced this will work differently based on platform. var conflictCapitalization = PackageInstallAction.CheckForOverwrittenPackages(MockInstallation.GetInstallation(), MockInstallation.TestConflictingCapitalization(), false); Assert.AreNotEqual(success, conflictCapitalization); // Conflict but the file is inside Dependencies, so its ok. var dependenciesConflict = PackageInstallAction.CheckForOverwrittenPackages(MockInstallation.GetInstallation(), MockInstallation.GetConflictingFilesInDependencies(), false); Assert.AreEqual(success, dependenciesConflict); }
public XtbNuGetPackage(IPackage package, PackageInstallAction action, Dictionary <string, int> currentVersionDownloadsCount) { Action = action; Package = package; this.currentVersionDownloadsCount = currentVersionDownloadsCount; }
public XtbNuGetPackage(IPackage package, PackageInstallAction action) { Action = action; Package = package; }