diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/IPackageReferenceFile.cs b/src/AddIns/Misc/PackageManagement/Project/Src/IPackageReferenceFile.cs index 61d0629bb6..fd9071d70a 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/IPackageReferenceFile.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/IPackageReferenceFile.cs @@ -11,5 +11,6 @@ namespace ICSharpCode.PackageManagement { IEnumerable GetPackageReferences(); void DeleteEntry(string id, Version version); + void Delete(); } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PackageReferenceFile.cs b/src/AddIns/Misc/PackageManagement/Project/Src/PackageReferenceFile.cs index 8c6bc82457..7a1e5170cf 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PackageReferenceFile.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/PackageReferenceFile.cs @@ -3,16 +3,19 @@ using System; using System.Collections.Generic; +using ICSharpCode.SharpDevelop; namespace ICSharpCode.PackageManagement { public class PackageReferenceFile : IPackageReferenceFile { NuGet.PackageReferenceFile file; + string fileName; public PackageReferenceFile(string fileName) { - file = new NuGet.PackageReferenceFile(fileName); + this.fileName = fileName; + this.file = new NuGet.PackageReferenceFile(fileName); } public IEnumerable GetPackageReferences() @@ -24,5 +27,10 @@ namespace ICSharpCode.PackageManagement { file.DeleteEntry(id, version); } + + public void Delete() + { + FileService.RemoveFile(fileName, false); + } } } diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/PackageReferencesForProject.cs b/src/AddIns/Misc/PackageManagement/Project/Src/PackageReferencesForProject.cs index 7a44ebb883..5d46dea4d0 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/PackageReferencesForProject.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/PackageReferencesForProject.cs @@ -40,9 +40,7 @@ namespace ICSharpCode.PackageManagement { GetPackageReferences(); IPackageReferenceFile file = PackageReferenceFile; - foreach (PackageReference packageReference in packageReferences) { - file.DeleteEntry(packageReference.Id, packageReference.Version); - } + file.Delete(); } void GetPackageReferences() diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageReferenceFile.cs b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageReferenceFile.cs index bb7e87e302..e08c1443b6 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageReferenceFile.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/Helpers/FakePackageReferenceFile.cs @@ -30,5 +30,12 @@ namespace PackageManagement.Tests.Helpers var packageReference = new PackageReference(id, version); EntriesDeleted.Add(packageReference); } + + public bool IsDeleteCalled; + + public void Delete() + { + IsDeleteCalled = true; + } } } diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/PackageReferencesForProjectTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/PackageReferencesForProjectTests.cs index c479e1aecb..ed09738c97 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/PackageReferencesForProjectTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/PackageReferencesForProjectTests.cs @@ -116,7 +116,7 @@ namespace PackageManagement.Tests } [Test] - public void RemovePackageReferences_TwoPackageReferencesInPackageConfigFile_RemovesPackageReferenceFromFile() + public void RemovePackageReferences_TwoPackageReferencesInPackageConfigFile_PackageReferenceFileIsDeleted() { TestableProject project = CreateProject(); CreatePackageReferencesForProject(project); @@ -125,13 +125,9 @@ namespace PackageManagement.Tests packageReferencesForProject.RemovePackageReferences(); - List packageReferencesRemoved = fakePackageReferenceFile.EntriesDeleted; + bool deleted = fakePackageReferenceFile.IsDeleteCalled; - var expectedPackageReferences = new List(); - expectedPackageReferences.Add(new PackageReference("One", new Version("1.0.3.2"))); - expectedPackageReferences.Add(new PackageReference("Two", new Version("2.0.44"))); - - PackageReferenceCollectionAssertAreEqual(expectedPackageReferences, packageReferencesRemoved); + Assert.IsTrue(deleted); } } }