diff --git a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs index 3162d8a441..d9e7b5f04e 100644 --- a/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs +++ b/src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/References.cs @@ -10,7 +10,7 @@ using ICSharpCode.SharpDevelop.Project; namespace ICSharpCode.PackageManagement.EnvDTE { - public class References : MarshalByRefObject, IEnumerable, global::EnvDTE.References + public class References : MarshalByRefObject, IEnumerable, global::EnvDTE.References { MSBuildBasedProject msbuildProject; IPackageManagementProjectService projectService; @@ -45,24 +45,18 @@ namespace ICSharpCode.PackageManagement.EnvDTE project.Save(); } - public IEnumerator GetEnumerator() + public IEnumerator GetEnumerator() { - List references = GetReferences().ToList(); - return references.GetEnumerator(); + return GetReferences().ToList().GetEnumerator(); } - IEnumerable GetReferences() + IEnumerable GetReferences() { foreach (ReferenceProjectItem referenceProjectItem in project.GetReferences()) { yield return new Reference3(project, referenceProjectItem); } } - IEnumerator IEnumerable.GetEnumerator() - { - return GetEnumerator(); - } - public global::EnvDTE.Reference Item(string identity) { return Find(identity); diff --git a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs index fa2912611b..b65b231d5c 100644 --- a/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs +++ b/src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/ReferencesTests.cs @@ -30,18 +30,10 @@ namespace PackageManagement.Tests.EnvDTE references = (References)projectObject.References; } - void ReferenceCollectionAssertAreEqual(string[] expectedReferences, List referenceList) - { - var actualReferences = new List(); - referenceList.ForEach(r => actualReferences.Add(r.Name)); - - CollectionAssert.AreEqual(expectedReferences, actualReferences); - } - void ReferenceCollectionAssertAreEqual(string[] expectedReferences, IEnumerable referenceList) { var actualReferences = new List(); - foreach (Reference reference in referenceList) { + foreach (global::EnvDTE.Reference reference in referenceList) { actualReferences.Add(reference.Name); } @@ -116,15 +108,14 @@ namespace PackageManagement.Tests.EnvDTE msbuildProject.AddReference("System.Data"); msbuildProject.AddReference("System.Xml"); - var referenceList = new List(); - referenceList.AddRange(references); + var enumerable = references as IEnumerable; var expectedReferences = new string[] { "System.Data", "System.Xml" }; - ReferenceCollectionAssertAreEqual(expectedReferences, referenceList); + ReferenceCollectionAssertAreEqual(expectedReferences, enumerable); } [Test] @@ -134,14 +125,13 @@ namespace PackageManagement.Tests.EnvDTE msbuildProject.AddFile(@"src\Test.cs"); msbuildProject.AddReference("System.Xml"); - var referenceList = new List(); - referenceList.AddRange(references); + var enumerable = references as IEnumerable; var expectedReferences = new string[] { "System.Xml" }; - ReferenceCollectionAssertAreEqual(expectedReferences, referenceList); + ReferenceCollectionAssertAreEqual(expectedReferences, enumerable); } [Test]